RobertoV
30-01-2021, 20:37
Ebbene sì, ci ho preso gusto ;) il mio essere smanettone e la folle passione per l'astrofotografia... attenzione sono comunque un neofita di sessantadue anni, non mi abbandonano mai.
Capita che mio figlio non usi una Sony alpha 7 ii, fantastica full frame con sensibilità ISO da fantascienza, ha però un limite, non ha la funzione intervallometro che invece ho sulla mia mirrorless LUMIX G7.
Sai che c'è, mi sono detto, l'elettronica non mi fa paura, la programmazione la masticavo bene trent'anni fa, ma è come andare in bicicletta, non si dimentica, o no? :rolleyes:
E allora ecco qua la lista della spesa:
1. Un pulsante PHOLSY S8, , nella versione per Sony, ma ce ne sono per svariati modelli, costo €12,99
( https://www.amazon.it/PHOLSY-dellotturatore-Fotocamere-Telecomando-Multiterminale/dp/B01N4PPFDM/ref=sxts_sxwds-bia-wc-rsf-lq2a1_0?__mk_it_IT=ÅMÅŽÕÑ&cv_ct_cx=pholsy+s8&dchild=1&keywords=pholsy+s8&pd_rd_i=B01N4PPFDM&pd_rd_r=99a034df-f7a1-482b-89df-13ef695900e7&pd_rd_w=tNYn9&pd_rd_wg=c7wW5&pf_rd_p=08de6719-3ac4-4ed2-9c8d-55f6f5840377&pf_rd_r=H11E4RKXMWHYR2FN7M25&psc=1&qid=1612029122&s=electronics&sr=1-1-569cd1f4-72a6-4f1d-b3c5-cf7f1ae39fbb )
2. Un modulo Arduino Nano, clone ma va benissimo e con €19,99 te ne danno 5
( https://www.amazon.it/Longruner-V3-0-ATMEGA328P-micro-controller-Arduino/dp/B072LPHG92/ref=pd_sbs_6?pd_rd_w=8EYue&pf_rd_p=68f0bd4d-f848-4718-a0a9-b8cb636b1a86&pf_rd_r=0SGBR4ANB37N9H4DZCEA&pd_rd_r=ba9b0a8d-e864-44d1-a691-771dcc60a04f&pd_rd_wg=aDXKQ&pd_rd_i=B072LPHG92&psc=1 )
3. Un mini relè reed HE721A0510, con bobina eccitazione 5V e diodo di protezione, questo relè assorbe 10mA, contro 20mA massimi che posso essere richiesti alla porta digitale di Arduino. Costo €1,62. Si può trovare su un negozio di elettronica oppure su FARNELL
( https://it.farnell.com/hamlin/he721a0510/rel-reed-spst-no-200v-0-5a-tht/dp/9561757 )
4. Un mini interruttore, anche questo lo trovate a 80 centesimi in qualsiasi negozio di elettronica.
Ho smontato il pulsante PHOLSY e ho rimosso le lamelle interne che servivano come interruttore, perché troppo ingombranti e ho quindi incollato con colla a caldo il pulsante altrimenti ballava. Sempre con colla a caldo ho fissato il modulo Arduino, e fatti due fori, uno per la presa USB e l’altro per l’interruttore. Collegare il mini relè reed al pin 2 (attenzione alla polarità: 2 reed -> 2 Nano, 6 reed -> GND) e l'interruttore al pin 3 verso GND, io ho messo una resistenza di full-up, ma volendo si può programmare il piedino in PULLUP.
42137
Due parole sull’interruttore, l’ho pensato per riprogrammare il tempo di scatto, nel caso lo si voglia modificare il tempo di scatto in corsa, però in questa prima versione l’ho usato solo come stop. Ci si potrà comunque sbizzarrire per farci le funzioni che ognuno vorrà, oppure risparmiate 80 centesimi e non lo mettete affatto.
La connessione
42138
Per il codice Arduino faccio una premessa, il 99% dei programmatori che leggeranno il codice si metteranno prima a ridere poi mi insulteranno… non si scrive così un codice! Vabbè, so già che hanno ragione, evidentemente non sono rimasto più al passo
Comunque questo è il codice, così potete fare copia e incolla. Nella prima parte si debbono settare le variabili generali, così come descritto, poi non c’è da fare altro che collegare il connettore di uscita del PHOLSY alla Sony, nell’apposita presa per lo scatto remoto sulla sinistra della macchina e una battery pack sul connettore USB di Arduino, e il gioco è fatto.
//Intervallometro
Il dispositivo è alimentato da una battery pack
// Qui vengono inseriti i valori di defaiult
int otturatore=1000; //impostare il tempo di apertura, default 1 secondo
int numeroScatti=5; //impostare numero scatti
int delaybetweenshot=1000; //impostare il ritardo tra uno scatto e l'altro, default 1s
int firstdelay=2000; //impostrare il tempo di attesa dopo l'inserimento della battery pack
// Fine valori da inserire
int debounceDelay=20;
int button_pin=3;
int rele_pin=2;
boolean flagInt_0=true;
boolean flagInt_1=false;
boolean debounce(int pin) //funzione antirimbalzo
{
boolean state;
boolean previousState;
previousState = digitalRead(pin);
for(int counter=0; counter < debounceDelay; counter++) {
delay(1);
state = digitalRead(pin);
if( state != previousState) {
counter = 0;
previousState = state; }
}
return state;
}
void setup() {
pinMode(rele_pin,OUTPUT); //relè otturatore
pinMode(button_pin,INPUT); //ingresso interuttore
int initdelay=2000; //attesa inizio scatti dopo connessione battery pack, default 2 secondi
Serial.begin(9600);
delay(initdelay); //attende prima di eseguire il programma
Serial.println("Shutter Ready");
Serial.print("Otturatore=");
Serial.println(otturatore);
Serial.print("Numero scatti=");
Serial.println(numeroScatti);
}
void loop() {
if(debounce(button_pin)==LOW and flagInt_0==true) {
flagInt_0=false; //esegue il ciclo solo una volta, fino a nuovo valore otturatore
for (int i = 0; i < numeroScatti; i++)
{
digitalWrite(rele_pin, HIGH); // apre otturatore
digitalWrite(13, HIGH);
delay(otturatore); // attende tempo scatto
digitalWrite(rele_pin, LOW); // chiude otturatore
digitalWrite(13, LOW);
delay(delaybetweenshot); // ritardo tra un ciclo e l'altro
if(debounce(button_pin)==HIGH) break;
Serial.print("Scatto");
Serial.println(i);
}
}
}
42136
Buoni scatti e cieli sereni ;)
RobertoV
Capita che mio figlio non usi una Sony alpha 7 ii, fantastica full frame con sensibilità ISO da fantascienza, ha però un limite, non ha la funzione intervallometro che invece ho sulla mia mirrorless LUMIX G7.
Sai che c'è, mi sono detto, l'elettronica non mi fa paura, la programmazione la masticavo bene trent'anni fa, ma è come andare in bicicletta, non si dimentica, o no? :rolleyes:
E allora ecco qua la lista della spesa:
1. Un pulsante PHOLSY S8, , nella versione per Sony, ma ce ne sono per svariati modelli, costo €12,99
( https://www.amazon.it/PHOLSY-dellotturatore-Fotocamere-Telecomando-Multiterminale/dp/B01N4PPFDM/ref=sxts_sxwds-bia-wc-rsf-lq2a1_0?__mk_it_IT=ÅMÅŽÕÑ&cv_ct_cx=pholsy+s8&dchild=1&keywords=pholsy+s8&pd_rd_i=B01N4PPFDM&pd_rd_r=99a034df-f7a1-482b-89df-13ef695900e7&pd_rd_w=tNYn9&pd_rd_wg=c7wW5&pf_rd_p=08de6719-3ac4-4ed2-9c8d-55f6f5840377&pf_rd_r=H11E4RKXMWHYR2FN7M25&psc=1&qid=1612029122&s=electronics&sr=1-1-569cd1f4-72a6-4f1d-b3c5-cf7f1ae39fbb )
2. Un modulo Arduino Nano, clone ma va benissimo e con €19,99 te ne danno 5
( https://www.amazon.it/Longruner-V3-0-ATMEGA328P-micro-controller-Arduino/dp/B072LPHG92/ref=pd_sbs_6?pd_rd_w=8EYue&pf_rd_p=68f0bd4d-f848-4718-a0a9-b8cb636b1a86&pf_rd_r=0SGBR4ANB37N9H4DZCEA&pd_rd_r=ba9b0a8d-e864-44d1-a691-771dcc60a04f&pd_rd_wg=aDXKQ&pd_rd_i=B072LPHG92&psc=1 )
3. Un mini relè reed HE721A0510, con bobina eccitazione 5V e diodo di protezione, questo relè assorbe 10mA, contro 20mA massimi che posso essere richiesti alla porta digitale di Arduino. Costo €1,62. Si può trovare su un negozio di elettronica oppure su FARNELL
( https://it.farnell.com/hamlin/he721a0510/rel-reed-spst-no-200v-0-5a-tht/dp/9561757 )
4. Un mini interruttore, anche questo lo trovate a 80 centesimi in qualsiasi negozio di elettronica.
Ho smontato il pulsante PHOLSY e ho rimosso le lamelle interne che servivano come interruttore, perché troppo ingombranti e ho quindi incollato con colla a caldo il pulsante altrimenti ballava. Sempre con colla a caldo ho fissato il modulo Arduino, e fatti due fori, uno per la presa USB e l’altro per l’interruttore. Collegare il mini relè reed al pin 2 (attenzione alla polarità: 2 reed -> 2 Nano, 6 reed -> GND) e l'interruttore al pin 3 verso GND, io ho messo una resistenza di full-up, ma volendo si può programmare il piedino in PULLUP.
42137
Due parole sull’interruttore, l’ho pensato per riprogrammare il tempo di scatto, nel caso lo si voglia modificare il tempo di scatto in corsa, però in questa prima versione l’ho usato solo come stop. Ci si potrà comunque sbizzarrire per farci le funzioni che ognuno vorrà, oppure risparmiate 80 centesimi e non lo mettete affatto.
La connessione
42138
Per il codice Arduino faccio una premessa, il 99% dei programmatori che leggeranno il codice si metteranno prima a ridere poi mi insulteranno… non si scrive così un codice! Vabbè, so già che hanno ragione, evidentemente non sono rimasto più al passo
Comunque questo è il codice, così potete fare copia e incolla. Nella prima parte si debbono settare le variabili generali, così come descritto, poi non c’è da fare altro che collegare il connettore di uscita del PHOLSY alla Sony, nell’apposita presa per lo scatto remoto sulla sinistra della macchina e una battery pack sul connettore USB di Arduino, e il gioco è fatto.
//Intervallometro
Il dispositivo è alimentato da una battery pack
// Qui vengono inseriti i valori di defaiult
int otturatore=1000; //impostare il tempo di apertura, default 1 secondo
int numeroScatti=5; //impostare numero scatti
int delaybetweenshot=1000; //impostare il ritardo tra uno scatto e l'altro, default 1s
int firstdelay=2000; //impostrare il tempo di attesa dopo l'inserimento della battery pack
// Fine valori da inserire
int debounceDelay=20;
int button_pin=3;
int rele_pin=2;
boolean flagInt_0=true;
boolean flagInt_1=false;
boolean debounce(int pin) //funzione antirimbalzo
{
boolean state;
boolean previousState;
previousState = digitalRead(pin);
for(int counter=0; counter < debounceDelay; counter++) {
delay(1);
state = digitalRead(pin);
if( state != previousState) {
counter = 0;
previousState = state; }
}
return state;
}
void setup() {
pinMode(rele_pin,OUTPUT); //relè otturatore
pinMode(button_pin,INPUT); //ingresso interuttore
int initdelay=2000; //attesa inizio scatti dopo connessione battery pack, default 2 secondi
Serial.begin(9600);
delay(initdelay); //attende prima di eseguire il programma
Serial.println("Shutter Ready");
Serial.print("Otturatore=");
Serial.println(otturatore);
Serial.print("Numero scatti=");
Serial.println(numeroScatti);
}
void loop() {
if(debounce(button_pin)==LOW and flagInt_0==true) {
flagInt_0=false; //esegue il ciclo solo una volta, fino a nuovo valore otturatore
for (int i = 0; i < numeroScatti; i++)
{
digitalWrite(rele_pin, HIGH); // apre otturatore
digitalWrite(13, HIGH);
delay(otturatore); // attende tempo scatto
digitalWrite(rele_pin, LOW); // chiude otturatore
digitalWrite(13, LOW);
delay(delaybetweenshot); // ritardo tra un ciclo e l'altro
if(debounce(button_pin)==HIGH) break;
Serial.print("Scatto");
Serial.println(i);
}
}
}
42136
Buoni scatti e cieli sereni ;)
RobertoV