кнопка и запоминающийся светодиод.

neospromiy
Offline
Зарегистрирован: 15.07.2013

Я новичек в ардуино.
В общем кто может напишите пожалуйста скетч.

Нужно сделать включение светодиода нажатием кнопки. И самое главно чтоб он запоминался при выключении питания он включен или нет т.е. чтоб брал инфу с еепром.

Заранее благодарен!

Клапауций
Offline
Зарегистрирован: 10.02.2013

*запретить новичков.

дядька, ну ё-маё - пишем в гугл [arduino eeprom писать читать]

neospromiy
Offline
Зарегистрирован: 15.07.2013

3 дня уже читаю ни примеров ни чего подобного не нашел, поэтому обратился сюда.

vvadim
Offline
Зарегистрирован: 23.05.2012

вам барин в рубрику " ищу исполнителя"

xorkrus
Offline
Зарегистрирован: 22.09.2013
#include <EEPROM.h>
EEPROM.read(address);
EEPROM.write(address, data);

Собственно и всё...

leshak
Offline
Зарегистрирован: 29.09.2011

>3 дня уже читаю ни примеров ни чего подобного не нашел,

Да ну? Вот ТОЧНО такого (то есть "полностью готового") - может и не нашли. А вот подобного не найти....

Вы хотите сказать, что тут нет "Нужно сделать включение светодиода нажатием кнопки"?

Мне казалось что уже даже прекрепленную тему по этому поводу сделали. Без EEPROM. Зажигать светодиод по кнопке вы уже научились?

 

neospromiy
Offline
Зарегистрирован: 15.07.2013

Всем спасибо разобрался сам=))

Терь включение и отключение светодиода записываеться в еепром

#include <EEPROM.h>

int flag=0; 

void setup()    
{ 
    
    pinMode(12, OUTPUT);         
      
        Serial.begin(9600);
} 

void loop() 

{ 
       
     if(digitalRead(10)==HIGH&&flag==0)//если кнопка нажата    
     // и перемення flag равна 0 , то ... 
     { 
       EEPROM.write(0,!EEPROM.read(0)); 
       Serial.println(EEPROM.read(0));
       flag=1; 
             //это нужно для того что бы с каждым нажатием кнопки 
        //происходило только одно действие 
        // плюс защита от "дребезга"  100% 
     } 
        
      if(digitalRead(10)==LOW&&flag==1)//если кнопка НЕ нажата 
     //и переменная flag равна - 1 ,то ... 
     { 
          flag=0;//обнуляем переменную flag 
     } 
     else if (EEPROM.read(0)==1) digitalWrite(12,HIGH);
     
     else
     {
     digitalWrite(12,LOW);
     }
}