Paso 6: Código de fuente
int E1 = 6; activar motor 1int M1 = 7; Motor 1
int E2 = 5; activar motor 2
int M2 = 4; motor 2
sensor int = 1; entrada saklar sentuh
limA int = 8; límite de entrada interruptor pada saat pintu tertutup
Miembro de int = 9; límite de entrada interruptor pada saat pintu terbuka
int kipasPin1 = 10; pasador 2 L293D
int kipasPin2 = 11; 7 pines en el L293D
int enablePin = 12; Pin 1 de L293D
int buttonState = 0; perubahan pembaca atau alta baja
#define SW_NUTUP 8
#define SW_BUKA 9
void setup()
{
pinMode (sensor de entrada);
pinMode (SW_NUTUP, entrada);
pinMode (SW_BUKA, entrada);
pinMode (M1, salida);
pinMode (M2, salida);
pinMode (kipasPin1, salida);
pinMode (kipasPin2, salida);
pinMode (enablePin, salida);
}
void pintu_buka()
{
digitalWrite (M1, alto);
digitalWrite (E1, alto);
digitalWrite (M2, bajo);
digitalWrite (E2, alto);
retrasar (1000);
}
void pintu_tutup()
{
int valor;
para (valor = 0; valor < = 255; valor += 1)
digitalWrite (M1, LOW);
analogWrite (E1, 210); motor kanan
digitalWrite (M2, alto);
analogWrite (E2, 210); motor kiri
retardo (1);
}
void pintu_diam()
{
digitalWrite (M1, LOW);
digitalWrite (E1, LOW);
digitalWrite (M2, bajo);
digitalWrite (E2, LOW);
retardo (1);
}
void kipas()
{
digitalWrite (kipasPin1, HIGH);
digitalWrite (kipasPin2, bajo);
digitalWrite(enablePin,HIGH);
Delay(1000);
}
void kipas_mati()
{
digitalWrite (kipasPin1, bajo);
digitalWrite (kipasPin2, HIGH);
digitalWrite(enablePin,LOW);
Delay(1000);
}
void loop)
{
/ * kondisi saat pintu tertutup dan sw di sentuh * /
Si (digitalRead (sensor) & & digitalRead (SW_NUTUP))
para (;) {
pintu_buka ();
Si (digitalRead (SW_BUKA)) {}
pintu_diam ();
rotura;
}
Else {}
kipas_mati();
}
}
/ * kondisi saat pintu terbuka lalu sw di sentuh * /
Si (digitalRead (sensor) & & digitalRead (SW_BUKA))
para (;) {
pintu_tutup ();
Si (digitalRead (SW_NUTUP)) {}
pintu_diam ();
rotura;
}
Else {}
kipas();
}
}
}