Remote control (10 / 17 paso)

Paso 10: El código - Eprom

Cuando haces algunos menús tienes que modificar algunas opciones una el arduino para guardarlas y recordar después de un reset o cuando se pone fuera de la energía así que para eso necesita usar Eprom, que es fácil, pero si desea guardar un int tienes que dividirlo en 2 direcciones. He encontrado que esto es fácil también si nos fijamos en el código tengo un funtion EEPROMWriteInt y también un readInt.

Para que tengas la opción seleccionada, necesitará cambiar algunos valores. Digamos que quiero cambiar el brillo de la retroiluminación de la lcd/aquí hice un truco, usar una matriz de multi dimensonal donde guardar el domicilio de eprom, el paso que aumento o disminuye el valor guardado en la eprom, el valor máximo, valor mínimo.

 prog_char obtions_0[] PROGMEM = "Headlight"; prog_char obtions_1[] PROGMEM = "Backlight"; prog_char obtions_2[] PROGMEM = "Autopilot"; PROGMEM const char *obtions[] = {obtions_0, obtions_1, obtions_2 }; //define values ==== [value], [step], [min], [max] //value is in fact eeprom adress to read int obtions_item_value[][4] = { {72,1,0,1}, {2,10,0,255}, {70,1,0,1} }; 

Y como esto sólo Enumeras las opciones en un menú y si se selecciona se cambia el valor de la eprom. el coment se hacen como se selecciona el segundo option(Backlight)

void Obtions() {si (option_open == 0) {} void Obtions(){ if (option_open == 0){ lcd.setCursor(0, pozCursor); lcd.print("\2"); lcd.setCursor(10, 7); lcd.print(" Home Back "); //////////////print options///////////////// for (uint8_t x = 0; x < 3 ; x++){ lcd.setCursor(6, x); strcpy_P(buffer, (char*)pgm_read_word(&(obtions[pozMeniu + x]))); lcd.print(buffer); } upDown_navigate(2); } /////////////////////if you select an option///////////////////// else if (option_open == 1){ lcd.setCursor(0,1); strcpy_P(buffer, (char*)pgm_read_word(&(obtions[countUpDown]))); //print the option name(remember "countUpDown") lcd.print(buffer); lcd.setCursor(0,2); int x = EEPROMReadInt( obtions_item_value[countUpDown][0] ); //x = eprom read Int (2) lcd.clearLine(); lcd.print(x); if (key == "up"){ x = x + obtions_item_value[countUpDown][1]; ///if up x = x + step (step here is 10) if ( x > obtions_item_value[countUpDown][3]){ // if x get bigger then max, stop it(max here is 255) x = obtions_item_value[countUpDown][3] ; } } if (key == "down"){ x = x - obtions_item_value[countUpDown][1]; if ( x < obtions_item_value[countUpDown][2]){ // if x get smaller then min, stop it(min here is 0) x = obtions_item_value[countUpDown][2] ; } } EEPROMWriteInt( (obtions_item_value[countUpDown][0]),x ); //save back the x in eprom delay(70); } //////////////option_open "0" or "1" when push ok to enter in obtion////////////////// if (key == "ok" & option_open == 0){ option_open = 1; lcd.clear(); key = "no key"; } else if (key == "ok" & option_open == 1){ option_open = 0; lcd.clear(); key = "no key"; } ////////////go back one level if push back///////////////////// if (key == "back"){ lcd.clear(); level = 1; } } 

Artículos Relacionados

Remote Controlled Arduino Car

Remote Controlled Arduino Car

Siempre me gustó ir a campamentos, etc. donde hay muchos de mis amigos, siempre me ha gustado tener muchos amigos y un día como estaba buscando por youtube para control remoto de coches, y cómo se hacían, me di cuenta que podía hacer uno para mi de l
Instalar y configurar Linux Infrared Remote Control (LIRC) Daemon

Instalar y configurar Linux Infrared Remote Control (LIRC) Daemon

IntroducciónDemonio LIRC decodifica señales infrarrojas (IR). Al recibir una señal de infrarrojos, el daemon genera un Suceso específico de LIRC. Clientes como irexec daemon y XBMC/KODI estos eventos LIRC y responden en consecuencia.Ámbito de aplicac
Tiras de LED de Phone Remote-Controlled inalámbrico: RasPi con conductor Fadecandy con WS2811/WS2812 direccionable LED tiras con TouchOSC Smartphone App con el Iphone o el Droid

Tiras de LED de Phone Remote-Controlled inalámbrico: RasPi con conductor Fadecandy con WS2811/WS2812 direccionable LED tiras con TouchOSC Smartphone App con el Iphone o el Droid

Aquí va un resumen de diseño cada vez más amplia de mi último proyecto. A continuación, un vídeo que he subido mostrando algunas funciones:La progresión de la idea original fue algo como lo siguiente:Tira de LED direccionable (s siempre queremos más
La cosquillita de nariz estornuda-Ray Remote-Controlled

La cosquillita de nariz estornuda-Ray Remote-Controlled

¿Sabe usted que edad esposas ' cuento sobre cómo al estornudar, que significa alguien está pensando? Al parecer, la mayoría de la gente no. No darse cuenta que, así que hice este proyecto. :)Recientemente le di mi primer demo como fabricante de promo
Arduino semáforo regulador w/Remote Control

Arduino semáforo regulador w/Remote Control

tuve un semáforo que yo estaba acabado.  La izquierda lo único que hacer era construir el controlador para los patrones de señal de la luz.  Para darle un toque incorporé un control remoto.  También fue la oportunidad perfecta para poder probar un Ar
Lego Technic Remote Control Off Roader Version 2

Lego Technic Remote Control Off Roader Version 2

Como prometió, su finalmente aquí. El carro de lego azul off roader V2!TheFoofinator ya modificado originalmente el camión todoterreno technic lego azul (número 8435), con funciones de la energía del conjunto de bulldozer, para permitir el control re
Instalar Linux Infrared Remote Control (LIRC) paquete

Instalar Linux Infrared Remote Control (LIRC) paquete

IntroducciónControl remoto infrarrojo de Linux (LIRC) es un conjunto de programas que controla el hardware de interfaz de infrarrojos de la Raspberry Pi. El paquete debian de lirc proporciona un número de programas:IRcat - cadenas de impresión pulsan
Pantalla táctil barra de sonido IR Remote Control

Pantalla táctil barra de sonido IR Remote Control

Mi hijo tiene Cambridge Audio Sound bar con un control remoto perro masticado! Lo dicho quisiera probar y hacer un control remoto nuevo!He probado este instructable (encendido-apagado y silencio) en mi TV Samsung y funciona bien, todavía tengo que pr
Verificar y depurar Linux Infrared Remote Control (LIRC) demonio configuraciones

Verificar y depurar Linux Infrared Remote Control (LIRC) demonio configuraciones

IntroducciónDespués el demonio LIRC capacitación para reconocer las señales de mi unidad de control remoto de infrarrojos (IR) y configurar cliente LIRC para responder en consecuencia a veces cosas no ocurren como se esperaba cuando hace clic en la u
Aplicación Remote Control del ventilador

Aplicación Remote Control del ventilador

Se trata de una aplicación android que hice para controlar mi ventilador. Guardados de perder el control para él, así que pensé en hacer una aplicación, ya que casi nunca pierdo mi teléfono. Lo siguiente podría ser uso control nada del teléfono que t
Knex Remote control 4WD "Off Roadster"

Knex Remote control 4WD "Off Roadster"

Hola soy nuevo con este KVG de R/C coche. Voy a publicar suficientes fotos para ustedes chicos y chicas publicarlo así que si usted quiere construir, mod, o mejorarlo ir adelante, me encantaría ver lo que puede hacer que! Algunas de las característic
Control remoto vía GSM/GPRS SMS(Arduino)

Control remoto vía GSM/GPRS SMS(Arduino)

control remoto, especialmente cuando este no ethernet o Wifi en el exterior, ha sido una cosas muy profundas en el pasado. Cuando era un niño, siempre imagen que yo tengo un equipo que puede controlar todos los electrodomésticos. Ahora, esto se convi
Steampunk Retro Control de remoto (también conocido como ' el ladrillo')

Steampunk Retro Control de remoto (también conocido como ' el ladrillo')

Más mandos a distancia más o menos el mismo aspecto, sirven un propósito... podrían ser demasiado buena.  Esto es para mi sistema de sonido Steampunk.  No he visto ningún mando de steampunk en la web (googlear 'steampunk remote control' - virtual exi
Controlar tus amigos usando el poder de la neurociencia (Control remoto humano parte II)

Controlar tus amigos usando el poder de la neurociencia (Control remoto humano parte II)

En este Instructable, usaremos una unidad Mindwave Mobile EEG (electroencefalograma), un fiel Arduino UNO, un TENS (estimulación eléctrica transcutánea del nervio) unidad y un simple relé para controlar remotamente un súbdito humano con nuestras ment