Vamos a conectar una pantalla LCD al arduino para que así nos pueda dar información en tiempo real. Necesitamos:
Pantalla LCD
a
Una pantalla de cristal líquido o LCD (sigla del inglés Liquid Crystal Display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica.
Aquí tienes más información https://fabricadigital.org/2015/11/como-conectar-una-pantalla-lcd-1602-a-arduino/ y http://elcajondeardu.blogspot.com.es/2013/12/tutorial-conectando-una-pantalla-lcd.html
POTENCIÓMETRO
Un potenciómetro es una resistencia variable que puedo controlar mecánicamente (con el giro), consiguiendo mayor o menor corriente dependiendo de la posición.
Necesitamos el potenciómetro para poder regular el brillo de la pantalla LCD. Fíjate en la colocación de las 3 patillas: las que van de un lado son la entrada (-) y la salida (+ ground) y la patilla solitaria la que envía la señal.
IR
También usaremos el sensor infrarrojo y el mando a distancia
PRÁCTICA 1
Una vez montada la práctica deberías ser capaz de ver en la pantalla si has pulsado los botones «POWER» o «STOP» del mando IR.
Monta el siguiente código después de cargar las dos librerías:
//NO TE OLVIDES DE INCLUIR LAS DOS LIBRERIAS IRremote.h Y LiquidCrystal.h #include <IRremote.h> //Carga la libreria del mando infrarrojo (IR) int ReceptorIR = 9; // Este es el pin donde ira conectado nuestro fotoreceptor de infrarrojos IRrecv irrecv(ReceptorIR); // con esto, la libreria sabra cómo se llama el pin que usamos para enviarle la informacion decode_results Codigos; #include <LiquidCrystal.h> // Carga la libreria del LCD y define sus pines LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2);// Arranca una LCD de 2 filas y 16 columnas lcd.print("Has pulsado:");// Escribe esto en la pantalla LCD irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&Codigos)) // EN CASO DE RECIBIR CODIGO SE PONE EN MARCHA EL SWITCH { switch (Codigos.value) //EN EL SWITCH PODEMOS PONER UN CASO A EJECUTAR POR CADA BOTON { case 0xFFA25D: //codigo POWER lcd.setCursor(0,1);//lo que ocurre al pulsarlo lcd.print("POWER"); lcd.setCursor(0,0); break;//fin del caso case 0xFFE21D: //codigo STOP lcd.setCursor(0,1);//lo que ocurre al pulsarlo lcd.print("STOP "); lcd.setCursor(0,0); break;//fin del caso } irrecv.resume();// vuelve a poner en marcha el IR } }
PRÁCTICA 2 (opcional)
Debes completar el código consiguiendo que al pulsar cada uno de los botones se muestre un mensaje distinto.
El código tiene este formato para este mando en concreto:
case 0xFFA25D: (“POWER”)
case 0xFFE21D: (“FUNC/STOP”)
case 0xFF629D: (“VOL+”)
case 0xFF22DD: (“FAST BACK”)
case 0xFF02FD: (“PLAY/PAUSE”)
case 0xFFC23D: (“FAST FORWARD”)
case 0xFFE01F: (“DOWN”)
case 0xFFA857: (“VOL-“)
case 0xFF906F: (“UP”)
case 0xFF9867: (“EQ”)
case 0xFFB04F: (“ST/REPT”)
case 0xFF6897: (“0”)
case 0xFF30CF:(“1”)
case 0xFF18E7: (“2”)
case 0xFF7A85: (“3”)
case 0xFF10EF: (“4”)
case 0xFF38C7: (“5”)
case 0xFF5AA5: (“6”)
case 0xFF42BD: (“7”)
case 0xFF4AB5: (“8”)
case 0xFF52AD: (“9”)
Kike no hay una opcional.
La práctica 2 es la opcional. Ya lo he marcado para que quede claro.
Gracias.
hola kike que tal estas
░░░░░░░░░░░░░░░░░░░░░░█████████
░░███████░░░░░░░░░░███▒▒▒▒▒▒▒▒███
░░█▒▒▒▒▒▒█░░░░░░░███▒▒▒▒▒▒▒▒▒▒▒▒▒███
░░░█▒▒▒▒▒▒█░░░░██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░░░░█▒▒▒▒▒█░░░██▒▒▒▒▒██▒▒▒▒▒▒██▒▒▒▒▒███
░░░░░█▒▒▒█░░░█▒▒▒▒▒▒████▒▒▒▒████▒▒▒▒▒▒██
░░░█████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░░░█▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒██
░██▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒██
██▒▒▒███████████▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒▒██
█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒████████▒▒▒▒▒▒▒██
██▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░█▒▒▒███████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░██▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█
░░████████████░░░█████████████████