قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

dubai.eig
:: مهندس ::
تاريخ التسجيل: Jan 2020
المشاركات: 1
نشاط [ dubai.eig ]
قوة السمعة:0
قديم 24-01-2020, 10:24 AM المشاركة 1   
افتراضي مساعده في كود الاردوينو Twitter FaceBook Google+



السلام عليكم ورحمة الله

انا جديد في عالم الاردوينو
عندي مشروع محتاج مساعده في

وهو عباره عن عدد 2 button وعدد 2 relay

محتاج اذا ضغطت على الزر الاول يشغل ال relay الاول
وعند الضغط على الزر الثاني يعمل ال relay الثاني ويغلق ال relay الاول والعطس صحيح

حاول بس ما ضبط معاي

كود:
//Push Button Relay Control
int pbuttonPin = 8;
int relayPin = A0;
int pbuttonPin2 = 9;
int relayPin2 = A1;



int val = 0; 
int lightON = 0;
int pushed = 0;

int val2 = 0; 
int lightON2 = 0;
int pushed2 = 0;

void setup() {
  Serial.begin(9600);
  pinMode(pbuttonPin, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
   pinMode(pbuttonPin2, INPUT_PULLUP); 
  pinMode(relayPin2, OUTPUT);

}

void loop() {
  val = digitalRead(pbuttonPin);
  val2 = digitalRead(pbuttonPin2);


//Relay 1
  if(val == HIGH && lightON == LOW ){

    pushed = 1-pushed;
       
    delay(100);
  }    
  lightON = val;

      if(pushed == HIGH){
        Serial.println("Light ON");
        digitalWrite(relayPin, LOW); 
       
      }else{
        Serial.println("Light OFF");
        digitalWrite(relayPin, HIGH);
   
      }   
  


//Relay 2

 
  if(val2 == HIGH && lightON2 == LOW){
 
    pushed2 = 1-pushed2;
    delay(100);
  }    

  lightON2 = val2;

      if(pushed2 == HIGH){
        Serial.println("Light ON");
        digitalWrite(relayPin2, LOW); 
      
      }else{
        Serial.println("Light OFF");
        digitalWrite(relayPin2, HIGH);
   
      }       


  delay(100);
}

افيدوني بارك الله فيكم

وشكرا

اعلانات

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 24-01-2020, 11:56 AM المشاركة 2   
افتراضي


اكتبها بهذا الطريقة

كود:
 if((val2 == HIGH) && (lightON2 == LOW))

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 24-01-2020, 11:58 AM المشاركة 3   
افتراضي


كود:
if((val2 == HIGH) &&( lightON2 == LOW))


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 24-01-2020, 05:39 PM المشاركة 4   
افتراضي


ماذا تعنى هذا العبارة ؟؟

كود:
pushed2 = 1-pushed2;


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 25-01-2020, 11:01 AM المشاركة 5   
افتراضي


الدائرة الكهربية :






البرنامج :

كود:
//Push Button Relay Control
int pbuttonPin = 8;
int relayPin = A0;
int pbuttonPin2 = 9;
int relayPin2 = A1;

int val = 0; 
int val2 = 0; 

void setup() {
  Serial.begin(9600);
  pinMode(pbuttonPin, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
   pinMode(pbuttonPin2, INPUT_PULLUP); 
  pinMode(relayPin2, OUTPUT);

}

void loop() {
  val = digitalRead(pbuttonPin);
  val2 = digitalRead(pbuttonPin2);
  
 if(val == LOW){
      delay(100);
      Serial.println("Light1 ON - Light2 OFF");
      digitalWrite(relayPin, HIGH); //Relay1 ON
	  digitalWrite(relayPin2, LOW); //Relay2 OFF
       
      }
	  
else if(val2 == LOW ){ 
       delay(100);
       Serial.println("Light2 ON - Light1 OFF");
       digitalWrite(relayPin2, HIGH);
	   digitalWrite(relayPin, LOW);
      
      }
	
 }


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 25-01-2020 الساعة 11:09 AM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )
اعجاب مسلم11, سعيد قادر ( أعجبته المشاركة )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 25-01-2020, 05:10 PM المشاركة 6   
افتراضي


ماذا تعنى هذا العبارة ؟؟

كود:
pushed2 = 1-pushed2;

كود:
state = 1 - state; // same as state=!state;

هذا السطر قد لا يكون له معنى كبير في الرياضيات ، لكن له معنى في البرمجة.
الرمز = يعني "تعيين نتيجة ما هو بعدي (تعبير الطرف الأيمن) إلى اسم المتغير قبلي (الطرف الأيسر) " - في هذه الحالة ، يتم تعيين قيمة state الجديدة بقيمة 1 ناقص قيمة state القديمة . فى حالة state القديمة بواحد ، تكون state الجديدة
state = 1 – 1=0 ، وفى حالة state القديمة بصفر ، تكون state الجديدة
state = 1 – 0=1 أى أن عملها هو عكس حالة state ومن ثم يمكن استخدام عامل المعكوس state=!state .

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )
اعجاب سعيد قادر ( أعجبته المشاركة )
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:04 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025