#define motorPin1 7
#define motorPin2 8
#define motorEnaPin 9
#define pbPin1 3
#define pbPin2 4
int pbVal1 = 0, pbVal2 = 0;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorEnaPin, OUTPUT);
pinMode(pbPin1, INPUT);
pinMode(pbPin2, INPUT);
}
void loop() {
// המנוע מתחיל בתנועה
digitalWrite(motorEnaPin, HIGH);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
pbVal1 = digitalRead(pbPin1);
pbVal2 = digitalRead(pbPin2);
// לחיצה על כפתור 1 יגרום לעצירה על ידי פין המהירות (פין 1 או 9)
if (pbVal1 == HIGH && pbVal2 == LOW) {
digitalWrite(motorEnaPin, LOW);
}
// לחיצה על כפתור 2 יגרום לעצירה על ידי מיתוג שני הפינים המקושרים למנוע בדוחף הזרם
if (pbVal2 == HIGH && pbVal1 == LOW) {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
}
// לחיצה על שני הכפתורים יגרום להיפוך כיוון הסיבוב
if (pbVal2 == HIGH && pbVal1 == HIGH) {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
}
}
Comments