Paso 2: Aquí está el código
Doble por favor cheque la = 5V/Gnd cableado. Puede Permanentemente daño la board si esto está mal.
Una vez cableado, probar el Hello World! Ejemplo para verificar que todo está bien. Puede que necesite ajustar el potenciómetro para ver el mundo! Mensaje.
(Archivo -> ejemplos -> LiquidCrystal -> HelloWorld)
OK, así que vamos a proceder.
Hemos añadido un sensor de inclinación para Arduino pin d10 para cuando toque el sensor activa una excusa para ser generado.
Aquí está el código:
/* Adaptado del ejemplo de Arduino Starter Kit Piezas necesarias: http://Arduino.CC/starterKit Este ejemplo de código forma parte del dominio público incluir el código de biblioteca: inicializar la biblioteca con los números de los pines de interfaz establecer una constante para la inclinación switchPin variable que contenga el valor de la switchPin variable que contenga el valor anterior de la switchpin una variable para elegir que respuesta de la bola de cristal int i; Definir tus excusas int longitud = 4; void setup() {} void loop() {} para (i = 0; i < 4; i ++) {} Loop hasta que el interruptor ha cambió de bajo a alto Si (switchState == HIGH) {}
Generador de excusas
por Anthony Kelly
Proyecto 11 - bola de cristal
Arduino UNO
SainSmart LCD (HD44780 compatible)
Sensor de inclinación
*/
#include < LiquidCrystal.h >
#include < string.h >
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const int switchPin = 10;
switchState int = 0;
int prevSwitchState = 0;
int respuesta;
char * Inicio [] = {"lo siento pero", "No me culpes", "No es mi culpa","Adivina lo que sucedió"};
char * medio [] = {"Godzilla", "Chuck Norris", "Scrooge McDuck", "Soap McTavish"};
char * termina [] = {"trató de matar a mí","se comió mi tarea.","vino después de mí", "robaron mi cabeza"};
configurar el número de columnas y filas en la pantalla LCD
LCD.Begin (16, 2);
Establecer la subida en el pasador del interruptor
pinMode (switchPin, entrada);
digitalWrite (switchPin, HIGH);
}
limpiar la pantalla antes de imprimir una nueva respuesta
LCD.Clear();
Imprimir un mensaje en la pantalla LCD.
lcd.print ("necesidad de un");
establecer el cursor a la columna 0, línea 1
la línea 1 es la segunda fila, ya que cuenta comienza con 0
lcd.setCursor (0, 1);
imprimir en la segunda línea
lcd.print("Excuse?") de ;
mientras (! () switchState == alto & & prevSwitchState == LOW)) {
el interruptor no hizo cambiar de baja a alta última vez
Recordar estado anterior del interruptor de la última iteración
prevSwitchState = switchState;
Leer el estado actual
switchState = digitalRead(switchPin);
retardo como una simple debounce
Delay(100);
}
el tiempo bucle wthout salido actualización
el estado anterior del interruptor así que hazlo ahora
prevSwitchState = switchState;
elegir al azar un índice de respuesta
respuesta = random(length);
limpiar la pantalla antes de imprimir una nueva respuesta
LCD.Clear();
establecer el cursor a la columna 0, línea 0
lcd.setCursor (0, 0);
imprimir texto
Una parte diferente de la excusa para cada iteración del bucle for
switch(i) {}
caso 0:lcd.print(start[reply]); rotura;
caso 1:lcd.print(middle[reply]); rotura;
caso 2:lcd.print(ends[reply]); rotura;
}
}
}
}