Stap 6: Broncode
int E1 = 6; inschakelen motor 1int M1 = 7; Motor 1
int E2 = 5; inschakelen motor 2
int M2 = 4; motor 2
int sensor = 1; invoer saklar sentuh
int limA = 8; input limiet schakelen pada saat pintu tertutup
int ledemaat = 9; input limiet schakelen pada saat pintu terbuka
int kipasPin1 = 10; pin 2 op L293D
int kipasPin2 = 11; pin 7 op L293D
int enablePin = 12; pin 1 op L293D
int buttonState = 0; pembaca perubahan hoge of lage
#define SW_NUTUP 8
#define SW_BUKA 9
VOID Setup
{
pinMode (sensor, INPUT);
pinMode (SW_NUTUP, INPUT);
pinMode (SW_BUKA, INPUT);
pinMode (M1, uitvoer);
pinMode (M2, uitvoer);
pinMode (kipasPin1, OUTPUT);
pinMode (kipasPin2, OUTPUT);
pinMode (enablePin, OUTPUT);
}
VOID pintu_buka()
{
digitalWrite (M1, hoge);
digitalWrite (E1, hoge);
digitalWrite (M2, laag);
digitalWrite (E2, hoge);
vertraging (1000);
}
VOID pintu_tutup()
{
int waarde;
voor (waarde = 0; waarde < = 255; waarde += 1)
digitalWrite (M1, laag);
analogWrite (E1, 210); motor kanan
digitalWrite (M2, hoge);
analogWrite (E2, 210); motor kiri
vertraging (1);
}
VOID pintu_diam()
{
digitalWrite (M1, laag);
digitalWrite (E1, laag);
digitalWrite (M2, laag);
digitalWrite (E2, laag);
vertraging (1);
}
VOID kipas()
{
digitalWrite (kipasPin1, hoge);
digitalWrite (kipasPin2, laag);
digitalWrite(enablePin,HIGH);
delay(1000);
}
VOID kipas_mati()
{
digitalWrite (kipasPin1, laag);
digitalWrite (kipasPin2, hoge);
digitalWrite(enablePin,LOW);
delay(1000);
}
void loop)
{
/ * kondisi saat pintu tertutup dan sw di sentuh * /
Als (digitalRead (sensor) & & digitalRead (SW_NUTUP))
voor (;) {
pintu_buka ();
Als (digitalRead (SW_BUKA)) {}
pintu_diam ();
breken;
}
else {}
kipas_mati();
}
}
/ * kondisi saat pintu terbuka lalu sw di sentuh * /
Als (digitalRead (sensor) & & digitalRead (SW_BUKA))
voor (;) {
pintu_tutup ();
Als (digitalRead (SW_NUTUP)) {}
pintu_diam ();
breken;
}
else {}
kipas();
}
}
}