Paso 5: código
Electrónico "galleta de la fortuna"
Escrito para un proyecto de clase 28 de julio de 2014
#include #include
prog_char s1 [] PROGMEM = "Prensa ME!"; prog_char s2 [] PROGMEM = "Que no era cerdo."; prog_char s3 [] PROGMEM = "Comprobar su cremallera"; prog_char s4 [] PROGMEM = "Tiempo de pelea tengo de esa caja"; prog_char s5 [] PROGMEM = "tu grupo aquí es una mierda"; prog_char s6 [] PROGMEM = "un hombre sabio escucha a una caja"; prog_char s7 [] PROGMEM = "Uy, mal fortuna."; [] prog_char s8 PROGMEM = "Comer más Taco Bell"; prog_char s9 [] PROGMEM = "ZZZ... Im para dormir"; prog_char s10 [] PROGMEM = "Recibirá una fortuna!"; prog_char s11 [] PROGMEM = "No vuelta"; prog_char s12 [] PROGMEM = "larga vida y prosperar; prog_char s13 [] PROGMEM = "Fortunas M.I.A."; prog_char s14 [] PROGMEM = "Ejecutar."; prog_char s15 [] PROGMEM = "¡ ayuda! Im atrapado. "; prog_char s16 [] PROGMEM = "Fortune 404 no encontrado"; prog_char s17 [] PROGMEM = "no respirar bajo el agua"; prog_char s18 [] PROGMEM = "hacen el culo mira grande"; prog_char s19 [] PROGMEM = "Los zombis se acercan"; prog_char s20 [] PROGMEM = ", esto es incómodo."; prog_char s21 [] PROGMEM = "lo mejor está por venir"; prog_char s22 [] PROGMEM = "Sólo se vive una vez"; prog_char s23 [] PROGMEM = "Viaje con un corazón abierto"; prog_char s24 [] PROGMEM = "No puedo evitar, soy un cuadro"; prog_char s25 [] PROGMEM = "Sigue tus instintos"; prog_char s26 [] PROGMEM = "Ser paciente"; prog_char s27 [] PROGMEM = "El éxito es un viaje"; prog_char s28 [] PROGMEM = "Hacer o no"; prog_char s29 [] PROGMEM = "Nadie puede ser usted"; prog_char s30 [] PROGMEM = "Comprar el coche rojo"; prog_char s31 [] PROGMEM = "como lo haces"; prog_char s32 [] PROGMEM = "Ser agradable"; prog_char s33 [] PROGMEM = "Si quieres tomar"; prog_char s34 [] PROGMEM = "Nunca escupir en el viento"; prog_char s35 [] PROGMEM = "¡ no te preocupes dinero"; prog_char s36 [] PROGMEM = "Sigue tus instintos"; prog_char s37 [] PROGMEM = "Escoge tus batallas"; prog_char s38 [] PROGMEM = "¡ Wow! Un mensaje secreto! "; prog_char s39 [] PROGMEM = "Dont panic."; prog_char s40 [] PROGMEM = "No parpadear"; prog_char s41 [] PROGMEM = "Eres un buen amigo"; prog_char s42 [] PROGMEM = "Dejar de dilatar"; prog_char s43 [] PROGMEM = "Debe comprobar FaceBook"; prog_char s44 [] PROGMEM = "Ser tú mismo"; prog_char s45 [] PROGMEM = "Someones watching"; prog_char s46 [] PROGMEM = "La ley en lugar de reaccionar";
inicializar la biblioteca con los números de los pines de la interfaz lcd LiquidCrystal (12, 11, 5, 4, 3, 2);
Esta tabla está en la memoria ordinaria pero tiene punteros / que referencia el flash char const PROGMEM * str_tab [] = {s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43 s44, s45, s46}; const int Number_of_fortunes = 46; #define Longest_fort 100 / / búfer de tamaño para los mensajes
sin firmar largo cuenta = 0; const int buttonPin = 6; el número de lo pin pulsador const int ledPin = 13; el número de los pines del LED
void setup() {lcd.print ("Mystic Fortune Teller"); //set para arriba de la pantalla LCD; s número de columnas y filas #define LCD_WIDE 16 #define LCD_LINES 2 lcd.begin(LCD_WIDE,LCD_LINES); / / imprimir un mensaje a la LCD pinMode (ledPin, salida); digitalWrite (ledPin, LOW); / / set el LED apagado pinMode (buttonPin, entrada); digitalWrite (buttonPin, HIGH); / / set pullup en}
void loop() {/ puso su código principal, para ejecutar varias veces: Si (BUTTON_PUSHED()) {digitalWrite (ledPin, HIGH); / botón feedback say_it();} mientras que (BUTTON_PUSHED()) continuar; / / esperar botón encima de delay(50); / retardo para debounce digitalWrite (ledPin, LOW); / / set el LED apagado cuenta ++;} void say_it() {int thisrow; char str [Longest_fort], str2 [LCD_WIDE + 1]; / / del almacenaje para la fortuna lcd.clear(); strcpy_P (str str_tab [% Number_of_fortunes de la cuenta]); para (thisrow = 0; / / thelesser (cordeles, LCD_LINES) thisrow < = min(((strlen(str)-1)/LCD_WIDE),LCD_LINES-1); thisrow ++) {lcd.setCursor(0,thisrow); / / set cursor al inicio de este delay(50) de la fila; / / a veces es lento setCursor / / copiar subcadena de esta cadena, desde el principio / / a menor de la longitud de la línea de LCD o al final de la cadena strncpy (str2, & str [thisrow * LCD_WIDE], min (LCD_WIDE , strlen(str)+1-(thisrow*LCD_WIDE))); str2 [LCD_WIDE] = 0; null terminar subcadena lcd.print(str2); Mostrar delay(10); }} int BUTTON_PUSHED() {si (digitalRead(buttonPin) == LOW) / / botón lo está empujando hacia abajo? volver 1; / / si, este es colocado return(0); / /
}
----------------------------------------------------------------------------
Este código es muy fácil!
Si necesita cambiar las respuestas, o número de respuestas Asegúrese de que hacerlo
aquí...
Esta tabla está en la memoria ordinaria pero tiene punteros / que referencia el flash char const PROGMEM * str_tab [] = { s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43 s44, s45, s46 }; const int Number_of_fortunes =46; #define Longest_fort 100 / / búfer de tamaño para los mensajes