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 (5pts)
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 (5pts)
Debes completar el código consiguiendo que al pulsar cada uno de los botones se muestre un mensaje distinto, si no se te ocurre nada simplemente que se vea en la pantalla que botón del mando se ha pulsado.
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
░░░░░░░░░░░░░░░░░░░░░░█████████
░░███████░░░░░░░░░░███▒▒▒▒▒▒▒▒███
░░█▒▒▒▒▒▒█░░░░░░░███▒▒▒▒▒▒▒▒▒▒▒▒▒███
░░░█▒▒▒▒▒▒█░░░░██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░░░░█▒▒▒▒▒█░░░██▒▒▒▒▒██▒▒▒▒▒▒██▒▒▒▒▒███
░░░░░█▒▒▒█░░░█▒▒▒▒▒▒████▒▒▒▒████▒▒▒▒▒▒██
░░░█████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░░░█▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒██
░██▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒██
██▒▒▒███████████▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒▒██
█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒████████▒▒▒▒▒▒▒██
██▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░█▒▒▒███████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
░██▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█
░░████████████░░░█████████████████