Étape 6: Source Code
int E1 = 6 ; activez le moteur 1int M1 = 7 ; Moteur 1
int E2 = 5 ; activez le moteur 2
int M2 = 4 ; moteur 2
capteur int = 1 ; saklar d’entrée sentuh
limA int = 8 ; d’entrée de course pada saat pintu tertutup
Membre de l’int = 9 ; d’entrée de course pada saat pintu terbuka
int kipasPin1 = 10 ; broche 2 sur L293D
int kipasPin2 = 11 ; Broche 7 sur L293D
int enablePin = 12 ; broche 1 L293D
buttonState int = 0 ; pembaca théorie atau haute basse
#define SW_NUTUP 8
#define SW_BUKA 9
void setup()
{
pinMode (entrée de la sonde,) ;
pinMode (entrée, SW_NUTUP) ;
pinMode (entrée, SW_BUKA) ;
pinMode (M1, sortie) ;
pinMode (M2, sortie) ;
pinMode (kipasPin1, sortie) ;
pinMode (kipasPin2, sortie) ;
pinMode (enablePin, sortie) ;
}
Sub pintu_buka()
{
digitalWrite (M1, élevé) ;
digitalWrite (E1, élevé) ;
digitalWrite (M2, faible) ;
digitalWrite (E2, élevé) ;
retarder (1000) ;
}
Sub pintu_tutup()
{
int valeur ;
pour (valeur = 0; valeur < = 255 ; valeur += 1)
digitalWrite (M1, faible) ;
analogWrite (E1, 210) ; moteur kekchose
digitalWrite (M2, élevée) ;
analogWrite (E2, 210) ; moteur kiri
retard (1) ;
}
Sub pintu_diam()
{
digitalWrite (M1, faible) ;
digitalWrite (E1, faible) ;
digitalWrite (M2, faible) ;
digitalWrite (E2, faible) ;
retard (1) ;
}
Sub kipas()
{
digitalWrite (kipasPin1, HIGH) ;
digitalWrite (kipasPin2, basse) ;
digitalWrite(enablePin,HIGH) ;
Delay(1000) ;
}
Sub kipas_mati()
{
digitalWrite (kipasPin1, basse) ;
digitalWrite (kipasPin2, HIGH) ;
digitalWrite(enablePin,LOW) ;
Delay(1000) ;
}
void loop ()
{
/ * kondisi saat pintu tertutup dan so di sentuh * /
Si (digitalRead (capteur) & & digitalRead (SW_NUTUP))
pour (;) {
pintu_buka () ;
Si (digitalRead (SW_BUKA)) {}
pintu_diam () ;
rupture ;
}
else {}
kipas_mati() ;
}
}
/ * kondisi saat pintu terbuka lalu sw di sentuh * /
Si (digitalRead (capteur) & & digitalRead (SW_BUKA))
pour (;) {
pintu_tutup () ;
Si (digitalRead (SW_NUTUP)) {}
pintu_diam () ;
rupture ;
}
else {}
Kipas() ;
}
}
}