One Touch Wardrobe (6 / 7 steg)
Steg 6: Source Code
int E1 = 6; Aktivera motor 1int M1 = 7. Motor 1
int E2 = 5; Aktivera motor 2
int M2 = 4; motor 2
int sensor = 1; input saklar sentuh
int limA = 8. ingående gräns växla pada saat pintu tertutup
int lem = 9. ingående gräns växla pada saat pintu terbuka
int kipasPin1 = 10; stift 2 på L293D
int kipasPin2 = 11; stift 7 på L293D
int enablePin = 12; stift 1 på L293D
int buttonState = 0; pembaca perubahan hög atau låg
#define SW_NUTUP 8
#define SW_BUKA 9
void setup()
{
pinMode (sensor, ingång);
pinMode (SW_NUTUP, indata);
pinMode (SW_BUKA, indata);
pinMode (M1, OUTPUT);
pinMode (M2, OUTPUT);
pinMode (kipasPin1, produktionen);
pinMode (kipasPin2, produktionen);
pinMode (enablePin, produktionen);
}
void pintu_buka()
{
digitalWrite (M1, hög).
digitalWrite (E1, hög);
digitalWrite (M2, låg);
digitalWrite (E2, hög);
fördröjning (1000);
}
void pintu_tutup()
{
int värde;
för (värde = 0; värdet < = 255; värde + = 1)
digitalWrite (M1, låg).
analogWrite (E1, 210); motoriska kanan
digitalWrite (M2, hög);
analogWrite (E2, 210); motoriska kiri
fördröjning (1).
}
void pintu_diam()
{
digitalWrite (M1, låg).
digitalWrite (E1, låg);
digitalWrite (M2, låg);
digitalWrite (E2, låg);
fördröjning (1).
}
void kipas()
{
digitalWrite (kipasPin1, hög);
digitalWrite (kipasPin2, låg);
digitalWrite(enablePin,HIGH);
Delay(1000);
}
void kipas_mati()
{
digitalWrite (kipasPin1, låg);
digitalWrite (kipasPin2, hög);
digitalWrite(enablePin,LOW);
Delay(1000);
}
Ogiltig loop)
{
/ * kondisi saat pintu tertutup dan sw di sentuh * /
om (digitalRead (sensor) & & digitalRead (SW_NUTUP))
för (;) {
pintu_buka ();
om (digitalRead (SW_BUKA)) {
pintu_diam ();
bryta;
}
annat {
kipas_mati();
}
}
/ * kondisi saat pintu terbuka lalu sw di sentuh * /
om (digitalRead (sensor) & & digitalRead (SW_BUKA))
för (;) {
pintu_tutup ();
om (digitalRead (SW_NUTUP)) {
pintu_diam ();
bryta;
}
annat {
kipas();
}
}
}