mi servirebbe un timer con sensibilità di 1s e che lavori dell'ordine di 20-30 secondi per "pilotare" un ingranditore fotografico. visto che in commercio si trovano a partire da un centinaio di euro, ho pensato di costruirlo da me con poche monete, sfruttando arduino.
io ho già steso il programma, ma visto che non sono molto esperto chiederei gentilmente a qualcuno che se ne intende più di me se può darci un'occhiata.
codice:
//Timer per Ingranditori 2.0 . Tale timer offre la possibilità di azionare un qualsiasi utilizzatore per un certo numero di secondi (min 1s), mediante l'utilizzo di
//Arduino e di una scheda di comando per relè da collegarsi al pin 13. Il programma prevede l'utilizzo di 6 pulsanti: A(pin 2) per entrare nell'opzione di modifica, B(pin 3) per modificare il
//Tempo di un secondo, C(pin 4) per modificare il tempo di 10 secondi), D(pin 5) per resettare tutte le impostazioni, E(pin 6) per azionare il timer con le impostazioni correnti, F(pin 7)
//che funge come interruttore continuo per il timer.
int t=0; //valore tempo
int a; //modalità modifica
int b; //modifica 1 sec
int c; //modifica 10 sec
int d; //cancella tutto "reset"
int e; //start
int f; //continua
boolean g;
void setup ()
{
pinMode(2, INPUT); //modalità modifica
pinMode(3, INPUT); //modifica 1 sec
pinMode(4, INPUT); //modifica 10 sec
pinMode(5, INPUT); //cancella tutto "reset"
pinMode(6, INPUT); //start
pinMode(7, INPUT);
pinMode(13, OUTPUT); //relè
g=false;
}
void loop ()
{
a=digitalRead(2);
b=digitalRead(3);
c=digitalRead(4);
d=digitalRead(5);
e=digitalRead(6);
f=digitalRead(7);
//Impostazioni di modifica
if (a==HIGH)
{
if (b=HIGH)
{
t=t+1000;
delay(1000);
}
if (c=HIGH)
{
t=t+10000;
delay (1000);
}
}
//reset
if (d==HIGH)
{
t=0;
g=false;
delay (1000);
}
//start
if (e==HIGH)
{
digitalWrite(13, HIGH);
delay (t);
digitalWrite(13, LOW);
}
//corrente continua
if (f=false)
{
digitalWrite(13, HIGH);
f=true;
delay (1000);
}
if (f=true)
{
digitalWrite(13, LOW);
f=false;
delay(1000);
}
}
spero di non aver sbagliato la categoria!
grazie mille in anticipo!