Paso 3: Codificación:-
#include
#include
inicializar la biblioteca con los números de los pines de la interfaz lcd LiquidCrystal (12, 11, 5, 4, 3, 2);
establecer una constante para la inclinación switchPin const int switchPin = 10;
variable que contenga el valor de la switchState de int switchPin = 0;
variable que contenga el valor anterior de la prevSwitchState de int switchpin = 0;
una variable para elegir que responda de la bola de cristal int respuesta;
int i;
Definir su char excusas * 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"};
int longitud = 4;
void setup() {/ / configurar el número de columnas y filas en el lcd.begin de LCD (16, 2); / / establecer la subida en el interruptor de pines pinMode (switchPin, entrada); digitalWrite (switchPin, HIGH);}
void loop() {/ / limpiar la pantalla antes de imprimir un nuevo lcd.clear() de respuesta; / / imprimir un mensaje en el LCD. lcd.print ("necesidad de un"); / / ajustar el cursor en la columna 0, línea 1 / línea 1 es la segunda fila, puesto que cuenta comienza con 0 lcd.setCursor (0, 1); / impresión de la segunda línea lcd.print("Excuse?");
para (i = 0; i < 4; i ++) {}
bucle hasta que el interruptor ha cambió de bajo a alto mientras (! () switchState == HIGH & & prevSwitchState == baja)) {/ / 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 presente switchState estado = 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;
Si (switchState == HIGH) {/ / al azar elige una respuesta de índice de respuesta = random(length); / / limpiar la pantalla antes de imprimir un nuevo lcd.clear() de respuesta; / / establecer el cursor a la columna 0, línea 0 lcd.setCursor (0, 0); / / imprimir algún texto / / una parte diferente de la excusa para cada una para el bucle de iteración switch(i) {caso 0:lcd.print(start[reply]) rotura 1:lcd.print(middle[reply]) caso; break; caso 2 : lcd.print(ends[reply]); rotura; } } } }