Author Topic: Displays LCD.  (Read 2879 times)

agrgal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Displays LCD.
« on: 2016-January-19 02:25:43 pm »
Bueno chicos, no es que me dedique a encontrarle bugs a Visualino (por haber encontrado ese bug en la función lógica AND). Simplemente os lo comunico porque me parece un programa estupendo y porque al elaborar la documentación para mis alumnos/as me he tropezado con alguno de estos problemillas que seguro que iréis solucionando.

Lo otro no sé si es o no un BUG. Son dos dificultades respecto a los LCDs.

La primera es que el bloque de ajustar la retroalimentación produce la salida "lcd.setBacklight(HIGH);" la cual arroja el siguiente error:

/tmp/visualino/visualino.ino: In function 'void loop()':

visualino:14: error: 'lcd' was not declared in this scope
     lcd.setBacklight(HIGH);
     ^

exit status 1


He investigado un poco. Sí que es un código que aparece en bitbloq (versión antigua), pero el método setBacklight no aparece en la librería LiquidCrystal de Arduino (https://www.arduino.cc/en/Reference/LiquidCrystal)...

La segunda dificultad es que al usar una shield LCD (LCD KeyPad Shield - http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_%28SKU:_DFR0009%29 - ), la definición de pines en visualino es inmutable (o yo no sé cómo cambiarlo LiquidCrystal lcd(12, 11, 5, 4, 3, 2) ) y en concreto esta shield necesita de otro conexionado (LiquidCrystal lcd(8, 9, 4, 5, 6, 7))  ¿Podría cambiarse sin necesidad de un paso intermedio usando ARDUINO?

Muchas gracias.

Víctor R. Ruiz

  • Administrator
  • Jr. Member
  • *****
  • Posts: 91
    • View Profile
Re: Displays LCD.
« Reply #1 on: 2016-January-20 01:56:43 am »
Jaja. No te preocupes, realmente encantando de que encuentres e informes de fallos. ¡Seguro que otros usuarios los están sufriendo en silencio!

El código de ese bloque se modificó para usar la librería genérica LiquidCrystal en lugar de la que usa bitbloq y que obligaba a distribuir una librería extra. El bloque de setBacklight debería desaparecer.

Los pines de conexión... [1 hora y media después]: pues al final he modificado el bloque LCD para aceptar la configuración de pines. Hay unos valores por defecto, pero se pueden modificar. Aún tengo que añadir alguna comprobación extra antes de subir el código a github.

agrgal

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: Displays LCD.
« Reply #2 on: 2016-January-23 07:42:20 pm »
Gracias...

JavierT

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Displays LCD.
« Reply #3 on: 2016-February-11 12:52:05 pm »
Hola, por lo que he visto no se puede usar el protocolo I2C con este bloque de lcd, a no ser que se modifique el código en la ide de arduino.
Por otro lado hecho de menos un bloque para introducir directamente un linea de código y otro para comentarios.
Aun así, muy buena iniciativa.

Víctor R. Ruiz

  • Administrator
  • Jr. Member
  • *****
  • Posts: 91
    • View Profile
Re: Displays LCD.
« Reply #4 on: 2016-February-11 02:45:50 pm »
Gracias, Javier_T. Pues sí, para el I2C, habría que hacer un bloque propio. La inicialización es diferente, y no necesita indicar los pines a usar. Creo que la librería no viene de serie con el IDE de Arduino ¿no?

Para ejecutar cualquier código, desde la versión 0.6, hay bloque llamado "Ejecutar", en la categoría Control.

También puedes poner comentarios en cualquier bloque, haciendo clic con el botón derecho del ratón.