sábado, 22 de octubre de 2016

ARDUINO - CONTADOR CON LED INFRAROJO Y FOTOTRANSISTOR

ARDUINO - CONTADOR CON LED INFRAROJO Y FOTOTRANSISTOR

Este proyecto se trata de un montaje para contar, por ejemplo, objetos que transitan entre un led infrarojo y un fototransistor, y la información de contador se va registrando en una pantalla LCD.

A continuación enumero los materiales:

A. 1 protoboard
B. 1 tarjeta Arduino uno + cable usb
C. 1 pantalla lcd 16x2
D. 1 led normal
E. 1 led infrarojo
F. 1 fototransistor
G. Programa para enviar codigo a la placa de arduino (IDE Arduino)
https://www.arduino.cc/en/Main/Software
http://rduinostar.com/tutoriales/instalacion-arduino-windows-7/
H. Driver de arduino instalado en el computador
http://rduinostar.com/tutoriales/instalacion-arduino-windows-7/ 
I. Pinzas
J. 1 cautin
K. Cable UTP
L. 2 resistencias de 220 ohm
M. 1 resistencia de 320 ohm
N. 1 potenciometro



Diagrama en fritzing...




Nota: Realizar las conexiones sin conectar el arduino al computador; despues de tener las conexiones completas y correctas, Conectar el cable usb al arduino y al computador, en este punto debe tener instalado el programa para ingresar el código en color verde y el driver para que sea reconocida la tarjeta, asegurarse de usar el puerto COM correcto. Recomiendo los videos de codigo facilito para aprender sobre arduino...
https://codigofacilito.com/courses/Arduino

Cargar el siguiente codigo al IDE de arduino:

// Pin de entrada del sensor fototransistor (negro)
int Fototransistor = 7;   

// Variable que registra el estado del sensor de entrada
int ValorFototransistor = 0;

// Variable que registra el numero de personas que pasaron por el sensor
int Contadorpersonas = 0;

// Pin de la conexion de LED rojo
int LedRojo = 10;


// Configuracion Pantalla LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  // pines para pantalla LCD

void setup()
{
  Serial.begin(9600);           
  pinMode(Fototransistor, INPUT);    
  pinMode(LedRojo, OUTPUT); 
 
  // Informacion pantalla inicial
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("Contador: 0");
  lcd.setCursor(0,1);
//  lcd.print("Ulibertadores");
}

void loop()
{
  // Establecer la variable ValorFototransistor con el estado del sensor pin 7
  ValorFototransistor = digitalRead(Fototransistor);


  //Muestra toda la Informacion de los sensores en el monitor serie **** mostrar en la consola de arduino que esta sucediendo en el prog
//  Serial.print("ValorFototransistor : ");
//  Serial.println(ValorFototransistor);
//  delay(100);

  // Comprobar si el estado del sensor de entrada ha cambiado
  if(ValorFototransistor!=1) // validación cuando el fototransistor deja de recibir luz del infrarojo
  {
    digitalWrite(LedRojo, LOW);
    Contadorpersonas=Contadorpersonas+1;
//    Serial.print("Contador: ");
    Serial.println(Contadorpersonas);
    while(digitalRead(Fototransistor)!=1){
      delay(100); 
//      Serial.println ( "El Sensor se detuvo o esta siendo obstruido!"); // esta siendo obstruido por un objeto o el led rojo falló
      }
  // Se Actualiza la pantalla LCD con el valor del contador
    lcd.setCursor(10,0);
    lcd.print(Contadorpersonas);
  }
  else{
    digitalWrite(LedRojo, HIGH); // Cuando el Sensor recibe luz infraroja, El led se enciente
    }
  
}


Imagen de la carga del código...

 
Ahora les muestro un video, donde indico paso a paso las conexiones realizadas y la prueba del proyecto...

https://www.youtube.com/watch?v=Loeq-vLhiOw


Algunos enlaces de interes:

1 comentario:

  1. Ultramarrah's, sunscreen with zinc oxide and titanium dioxide
    sunscreen with zinc oxide and titanium dioxide. titanium pipe These titanium mens wedding bands products were titanium pots and pans tested by a seiko titanium pharmacist at everquest titanium the following pharmacies: Grocery

    ResponderEliminar