Paso 1: El programa:
Leer un manual conciso y examinando ejemplos (aquí y allá) llegué al siguiente programa:
(lo siento no sé cómo conseguir esto en una ventana agradable)
/ * Aprender cómo programación Arduino * /
/ * por Rob van Staalduinen - Países Bajos * /
número de bytes [] = {192,249,164,176,153,146,130,248,128,144,64,121,36,48,25,18,2,120,0,16};
array con los números 0-9 y 0. -9. (para los dígitos de hora [1])
tiempo de bytes [] = {0,0,0,0}; arreglo de discos para poner el tiempo
empuje de bytes; contador de retraso de push botón
void setup)
{para (byte a = 3; a < = 13; a ++) / / sistemas datapins 4 y 13 a la salida
{pinMode(a,OUTPUT);} 3 = zumbador 4 = cierre 7 = clk 8 = datos de 10-13 = leds
digitalWrite(3,HIGH);} deja de buzzerd de sonido
void loop()
{velocidad de largo = 37500+(1024-analogRead(0)) * 2; / / tiempo contador; cambios velocidad tiempo para
differend tableros usan medidor de escudo
para (c bytes = 10; c < = 13; c ++) / / LED loop
{digitalWrite(c,HIGH);} sistemas led segundos [c] OFF
Para (largo un = 0; a < = velocidad; a ++) / temporizador de retardo
{Si (analogRead(1)==LOW) / / lee button1
{tiempo [1] = tiempo [1] +(!push); empuje = 60;} agrega 1 a horas
Si (analogRead(2)==LOW) / / lee button2
{[2] el tiempo = time [2] +(!push); empuje = 60;} añade 10 minutos
Si (analogRead(3)==LOW) / / lee button3
{[3] el tiempo = tiempo [3] +(!push); empuje = 60;} añade 1 a minutos
empuje = push-(push>0); contador de abajo para pulsar botón
Si (tiempo [3] > 9) {tiempo [3] = 0; [2] el tiempo = tiempo + 1 [2];} / / establece minutos + 10 si más 9 y vaya a 0
Si ([2] el tiempo > 5) {tiempo [2] = 0; el tiempo [1] = tiempo [1] + 1;} / / sets horas + 1 si 5 e ir a 0
Si (tiempo [1] > 9) {tiempo [1] = 0; tiempo [0] = hora + 1 [0];} / / establece horas + 10 si más 9 y vaya a 0
Si ((tiempo [0] > 1) & & (tiempo [1] > 3)) {tiempo [1] = 0; tiempo [0] = 0; / / establece horas a 0 si es mayor que 23
digitalWrite(3,LOW); Delay(30);digitalWrite(3,High);} pitidos cada hora
para (char b = 0; b < = 3; b ++) / / bucle para escribir 4 dígitos
{digitalWrite(4,LOW); / / desactivar salidas
shiftOut (8,7, MSBFIRST,(num[time[b]+10*(b==1)])); escribe los datos de número
shiftOut (8,7, MSBFIRST,(241+(b==1)+3*(b==2)+7*(b==3))); escribe los datos de dígitos
digitalWrite(4,HIGH);} enviar datos a salidas
digitalWrite(a/(speed/4)+10,LOW);} establece 15 segundos llevadas
[3] el tiempo = tiempo + 1 [3];} agrega 1 minuto al tiempo