في هذا التمرين سنتعلم كيفية استخدام بوابة -أو- OR في البيت الذكي.
تختلف بوابة OR عن بوابة AND ان الاشارة تكون ON لو أي من المدخلين كان ON فمثلا لو كنت تريد رفع باب كراج السيارة في البيت الذكي في حالة ان حساس الحركة في المنطقة أ كان ON او حساس الحركة في المنطقة جـ كان ON عندها يلزم استخدام هذه البوابة. في هذه الحالة فان جدول الصواب هو كالتالي:
|A|B|Y|
|0|0|0|
|1|0|1|
|0|1|1|
|1|1|1|
|0|0|0|
|1|0|1|
|0|1|1|
|1|1|1|
R1=330 Ohm
R2=10k Ohm
R3=10k Ohm
هكذا يكون الرسم الهندسي لها:
الكود:
/*Arduino_OR_Logic_Gate.
Actually the circuit connection is the same as the previous AND...just a small change and thats all.
In 3 states there is an output to the LED ...try it and confirm the truth table below.
Actually the circuit connection is the same as the previous AND...just a small change and thats all.
In 3 states there is an output to the LED ...try it and confirm the truth table below.
|A|B|Y|
|0|0|0|
|1|0|1|
|0|1|1|
|1|1|1|
*/
int buttonPin1 = 2;
int buttonPin2 = 3;
int LEDred = 8;
int buttonStatus1 = 0;
int buttonStatus2 = 0;
void setup() {
pinMode(LEDred, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
}
void loop(){
buttonStatus1 = digitalRead(buttonPin1);
buttonStatus2 = digitalRead(buttonPin2);
|0|0|0|
|1|0|1|
|0|1|1|
|1|1|1|
*/
int buttonPin1 = 2;
int buttonPin2 = 3;
int LEDred = 8;
int buttonStatus1 = 0;
int buttonStatus2 = 0;
void setup() {
pinMode(LEDred, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
}
void loop(){
buttonStatus1 = digitalRead(buttonPin1);
buttonStatus2 = digitalRead(buttonPin2);
// check if the either the first button is HIGH, OR the second button is HIGH, then turn on the LED
// else turn the LED off
if (buttonStatus1 == HIGH || buttonStatus2 == HIGH )
{ digitalWrite(LEDred, HIGH);
} else { digitalWrite(LEDred, LOW); }
}
// else turn the LED off
if (buttonStatus1 == HIGH || buttonStatus2 == HIGH )
{ digitalWrite(LEDred, HIGH);
} else { digitalWrite(LEDred, LOW); }
}
No comments:
Post a Comment