السلام عليكم ورحمة الله وبركاته
كل عام وحضراتكم بخير
اخى مهندس عبدالله حجازى
كل عام وحضرتك بصحه وسعاده
سبق لى وطلبت مساعده وحضرتك لم تتأخر
والحمد لله بعد عناء
وبحث وجدت من اضاف eeprom للاردوينو اونو
وهو الاخ محمد احمد صاحب قناة فيك راس
وتم تجربة الكود على بريد بورد وهو يعمل ويحتفظ بالحاله
وطبعا انا ارفقت قبل ذلك رابط المشروع
تقديرا للمنتدى الكريم والقائمين عليه اليكم الكود
وتم التجربه على ااطرف رقم 13فى اردوينو اونو
عند الضغط على رقم 8او9يعمل الليد وعند الضغط علىرقم 0 يفصل
طبعا مع حفظ الحاله
اليكم الكود
#include <EEPROM.h>
const int LED_1 =6 ;
const int LED_2 =7 ;
const int LED_3 =8 ;
const int LED_4 =9 ;
const int LED_5 =10 ;
const int LED_6 =11 ;
const int LED_7 =12 ;
const int LED_8 =13 ;
const int D0 =2 ;
const int D1 =3 ;
const int D2 =4 ;
const int D3 =5 ;
void setup()
{
pinMode(LED_1 , OUTPUT);
pinMode(LED_2 , OUTPUT);
pinMode(LED_3 , OUTPUT);
pinMode(LED_4 , OUTPUT);
pinMode(LED_5 , OUTPUT);
pinMode(LED_6 , OUTPUT);
pinMode(LED_7 , OUTPUT);
pinMode(LED_8 , OUTPUT);
pinMode(D0 , INPUT);
pinMode(D1 , INPUT);
pinMode(D2 , INPUT);
pinMode(D3 , INPUT);
if (EEPROM.read(101) == 0){digitalWrite (LED_1,LOW);}
if (EEPROM.read(101) == 1){digitalWrite (LED_1,HIGH);}
if (EEPROM.read(102) == 0){digitalWrite (LED_2,LOW);}
if (EEPROM.read(102) == 1){digitalWrite (LED_2,HIGH);}
if (EEPROM.read(103) == 0){digitalWrite (LED_3,LOW);}
if (EEPROM.read(103) == 1){digitalWrite (LED_3,HIGH);}
if (EEPROM.read(104) == 0){digitalWrite (LED_4,LOW);}
if (EEPROM.read(104) == 1){digitalWrite (LED_4,HIGH);}
if (EEPROM.read(105) == 0){digitalWrite (LED_5,LOW);}
if (EEPROM.read(105) == 1){digitalWrite (LED_5,HIGH);}
if (EEPROM.read(106) == 0){digitalWrite (LED_6,LOW);}
if (EEPROM.read(106) == 1){digitalWrite (LED_6,HIGH);}
if (EEPROM.read(107) == 0){digitalWrite (LED_7,LOW);}
if (EEPROM.read(107) == 1){digitalWrite (LED_7,HIGH);}
if (EEPROM.read(108) == 0){digitalWrite (LED_8,LOW);}
if (EEPROM.read(108) == 1){digitalWrite (LED_8,HIGH);}
}
void loop()
{
if(digitalRead(D3) == LOW && digitalRead(D2) == LOW && digitalRead(D1) == LOW && digitalRead(D0) == HIGH){ // button 1
digitalWrite(LED_1,!digitalRead(LED_1));
if (digitalRead(LED_1)==HIGH){EEPROM.write(101, 1);}
else if (digitalRead(LED_1)==LOW){EEPROM.write(101, 0);}
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == LOW && digitalRead(D1) == HIGH && digitalRead(D0) == LOW){ // button 2
digitalWrite(LED_2,!digitalRead(LED_1));
if (digitalRead(LED_2)==HIGH){EEPROM.write(102, 1);}
else if (digitalRead(LED_2)==LOW){EEPROM.write(102, 0);}
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == LOW && digitalRead(D1) == HIGH && digitalRead(D0) == HIGH){ // button 3
digitalWrite(LED_3, HIGH); EEPROM.write(103, 1);
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == HIGH && digitalRead(D1) == LOW && digitalRead(D0) == LOW){ // button 4
digitalWrite(LED_4, HIGH); EEPROM.write(104, 1);
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == HIGH && digitalRead(D1) == LOW && digitalRead(D0) == HIGH){ // button 5
digitalWrite(LED_5, HIGH); EEPROM.write(105, 1);
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == HIGH && digitalRead(D1) == HIGH && digitalRead(D0) == LOW){ // button 6
digitalWrite(LED_6, HIGH); EEPROM.write(106, 1);
}
else if(digitalRead(D3) == LOW && digitalRead(D2) == HIGH && digitalRead(D1) == HIGH && digitalRead(D0) == HIGH){ // button 7
digitalWrite(LED_7, HIGH); EEPROM.write(107, 1);
}
else if(digitalRead(D3) == HIGH && digitalRead(D2) == LOW && digitalRead(D1) == LOW && digitalRead(D0) == LOW){ // button 8
digitalWrite(LED_8, HIGH); EEPROM.write(108, 1);
}
else if(digitalRead(D3) == HIGH && digitalRead(D2) == LOW && digitalRead(D1) == LOW && digitalRead(D0) == HIGH) // button 9
{
digitalWrite(LED_1, HIGH); digitalWrite(LED_2, HIGH); digitalWrite(LED_3, HIGH); digitalWrite(LED_4, HIGH); digitalWrite(LED_5, HIGH); digitalWrite(LED_6, HIGH);
digitalWrite(LED_7, HIGH); digitalWrite(LED_8, HIGH); EEPROM.write(107, 1); EEPROM.write(108, 1);
}
else if(digitalRead(D3) == HIGH && digitalRead(D2) == LOW && digitalRead(D1) == HIGH && digitalRead(D0) == LOW) // button 0
{
digitalWrite(LED_1, LOW); digitalWrite(LED_2, LOW); digitalWrite(LED_3, LOW); digitalWrite(LED_4, LOW); digitalWrite(LED_5, LOW); digitalWrite(LED_6, LOW);
digitalWrite(LED_7, LOW); digitalWrite(LED_8, LOW); EEPROM.write(107, 0); EEPROM.write(108, 0);
}
}
|