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;

}

}

}