Stap 2: Het programma & bedrading
De arduino-programma kan worden gedownload van: http://arduino.cc/en/Main/Software
Het programma voor de garagedeur is gelegen in de afbeelding
De bedrading is locatedin het beeld ook
int switchPin = 2; switch input
int motor1Pin1 = 3; pin 2 op L293D
int motor1Pin2 = 4; pin 7 op L293D
int enablePin = 9; pin 1 op L293D
int photocellPin = 0;
int photocellReading;
int speakerOut = 12;
ongeldig setup(void) {}
Zet de schakelaar als input:
pinMode (switchPin, INPUT);
pinMode(12,OUTPUT);
Stel alle andere pins u als uitgangen:
pinMode (motor1Pin1, OUTPUT);
pinMode (motor1Pin2, OUTPUT);
pinMode (enablePin, OUTPUT);
Serial.begin(9600);
enablePin hoge zo ingesteld dat motor kunt inschakelen:
digitalWrite (enablePin, hoge);
}
ongeldig loop(void) {}
photocellReading = analogRead(photocellPin);
Als de schakeloptie hoog is, zal één richting motor schakelen:
Als (analogRead(photocellPin) < = 900) {}
digitalWrite (motor1Pin1, laag); pin 2 laag ingesteld op L293D
digitalWrite (motor1Pin2, hoge); pin 7 aangezet L293D hoog
digitalWrite(speakerOut,HIGH);
delayMicroseconds(956);
delay(3000);
digitalWrite (motor1Pin1, laag)
; pin 2 laag ingesteld op L293D
digitalWrite (motor1Pin2, laag); pin 7 aangezet L293D hoog
digitalWrite(speakerOut,HIGH);
delayMicroseconds(956);
delay(4000);
digitalWrite (motor1Pin1, hoge); pin 2 laag ingesteld op L293D
digitalWrite (motor1Pin2, laag); pin 7 aangezet L293D hoog
digitalWrite(speakerOut,HIGH);
delayMicroseconds(956);
delay(1500);
digitalWrite(speakerOut,LOW);
delayMicroseconds(956);
}
Als de schakelaar laag is, zal de motor draaien in de tegenovergestelde richting:
else {}
digitalWrite (motor1Pin1, laag); pin 2 ingesteld op L293D hoog
digitalWrite (motor1Pin2, laag); pin 7 laag ingesteld op L293D
digitalWrite(speakerOut,LOW);
delayMicroseconds(956);
}
}