Go Down

Topic: Apagar y encender luz de Fondo (Read 6070 times) previous topic - next topic

Metaconta

Aug 11, 2014, 09:27 am Last Edit: Aug 11, 2014, 09:32 am by Metaconta Reason: 1
Hola:

Tengo el LCD keypad Shield de DF Robot para Arduino UNO r3. No se como apagar y encender la luz de fondo mediante código.

Code: [Select]
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
int LuzFondo = 11; // Aquí irá algún pin de luz de fondo, pero no se cual es, a parte que no se como se enciente y apaga.

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  pinMode(LuzFondo, OUTPUT);
}

void loop() {

// Ejemplo tonto que aparece en pantalla. 
  lcd.clear();
  lcd.setCursor(15,0);
  lcd.print("*");
  delay(2000);
  lcd.setCursor(0,0);
  lcd.print("*");
  delay(2000);
  lcd.setCursor(15,1);
  lcd.print("*");
  delay(2000);
  lcd.setCursor(0,1);
  lcd.print("*");
  delay(2000);
 
  LuzFondo = LOW;
  delay(2000);
}


¿Cómo se hace?

Saludo.

Marcial

http://www.tuxylinux.com/programar-un-display-en-arduino-con-lyquidcrystal-y-el-ic-74hc595-ii/

:)

Metaconta

Por lo que cuenta en el enlace, entonce no se puede hacer directamente con una LCD Keypad Shield DF Robot. Si no con un LCD a parte. ;)

surbyte

Este es el esquema de tu shield, tomado de la web DFRobot.
Si miras el Backlight esta controlado por un transistor por lo que si puedes comandarlo.

http://clip2net.com/s/iIdqWc

Ese transistor dice estar conectado a D10 de modo que prueba poniendo en 0 ese pin. 1 enciende el backlight y 0 lo apaga

carmeloco

Es más, coge el ejemplo del "blink", y cambia el pin 13 por el pin 10, cárgalo al arduino con el shield onectado, y ya verás que divertido, jejeje

Metaconta

Buenas:

Me funciona. Si, es el pin 10.

Code: [Select]
// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
int LuzFondo = 10;

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  pinMode(LuzFondo, OUTPUT);
}

void loop() {

  digitalWrite(LuzFondo, LOW);

  delay(1000);
 
  digitalWrite(LuzFondo, HIGH);

  delay(1000);



Lo hago parpadear en cada segundo. No se si es la mejor manera de apagarlo o encendero pero funciona.

Saludos y muchísimas gracias.

surbyte

Agrega un boton y cada vez que lo pulses cambias de estado de prendido a apagado.
Y con ese cambio controlas el ON OFF del display.

Go Up