Meu primeiro Arduino!
Data de publicación: Dec 17, 2012 11:2:6 PM
Pois nada, que uns meses despois de comprar a miña primeira Arduino Uno, acabo de facer o meu primeiro programa con ela.
Xa que temos a Erika na casa e a ela non lle gusta ir durmir, o proxecto é o dunha lámpada de LED's que se acende con catro Led's cando prememos o pulsador. Cando pasa un tempo que podemos regular como queiramos, apagarase un dos LED, indicando que xa é hora de deixar o conto e que hai que prepararse para durmir. Un tempo despois, apáganse outros dous LED, porque xa é hora de pechar os olliños e tentar durmir, e o último LED apagarase un tempo despois, cando xa esteamos durmidos. Se no medio da noite nos despertamos para ir ao baño, podemos premer outra vez o pulsador e o ciclo se reiniciará.
Se queres, podes ver o vídeo do funcionamento:
Este é o programa, un día destes colgo o esquema do circuito e fago comentarios no programa, que agora é moi tarde e se me apagan os LEDs :)
Apagado temporizado
const int botonPin = 2;
int estadoBoton=0;
int ultimoEstadoBoton=0;
int todoAceso=0;
unsigned long inicioContaAtras=0;
unsigned long primeiroApagado=6000;
unsigned long segundoApagado=10000;
unsigned long totalApagado=16000;
void setup(){
pinMode(botonPin,INPUT);
for (int estePin =3;estePin<7;estePin++){
pinMode(estePin, OUTPUT);
};
Serial.begin(9600);
}
void loop(){
estadoBoton=digitalRead(botonPin);
if (estadoBoton!=ultimoEstadoBoton){
if (estadoBoton==HIGH){
todoAceso=1;
for (int i=3;i<7;i++) {
digitalWrite(i, HIGH);
};
inicioContaAtras=millis();
};
};
ultimoEstadoBoton=estadoBoton;
if (todoAceso=1){
if (millis()-inicioContaAtras>primeiroApagado){
digitalWrite(6,LOW);
}
if (millis()-inicioContaAtras>segundoApagado){
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
if (millis()-inicioContaAtras>totalApagado){
digitalWrite(3,LOW);
todoAceso=0;
}
}
}