|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #166 on: January 16, 2012, 09:13:33 am » |
Devo ringraziare lollotek perchè il progetto è stato utilissimo!
Prego, se vuoi sdebitarti ne puoi fare uno anche per me !! 
|
|
|
|
|
Logged
|
|
|
|
|
Lago di Como
Offline
Jr. Member
Karma: 0
Posts: 50
|
 |
« Reply #167 on: January 16, 2012, 09:22:32 am » |
Devo ringraziare lollotek perchè il progetto è stato utilissimo!
Prego, se vuoi sdebitarti ne puoi fare uno anche per me !!  Mhuahahah
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 166
|
 |
« Reply #168 on: January 16, 2012, 10:59:31 am » |
Certo ho preso tutto, anche il motore DC! Ora però visto che monterò tutto definitivamente su uno slider con la cinghia dentata, vorrei poter utilizzare anche una gopro anzichè la reflex, ecco perchè vorrei poter utilizzare il tuo sketch con un motore DC anzichè quello di dynamicperception!!
|
|
|
|
|
Logged
|
|
|
|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #169 on: January 18, 2012, 02:11:53 pm » |
Continui ad essere poco chiaro però.. Il motore dc è quello fornito col kit o è una decisione tua? per una cinghia dentata è mille volte meglio uno stepper ! Lo shield che è assieme al kit lo vuoi usare o no? quello ti fornisce la possibilità di usare anche un display con delle opzioni .. Altra cosa, sai se la gopro ha l'attacco per un controller remoto col cavo?
Gli shetch alla fine me li sono andati a cercare io, sono molto complessi però..
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 166
|
 |
« Reply #170 on: January 18, 2012, 03:54:17 pm » |
ciao Lollotek! ho abbandonato l' idea...meglio usare tutto il loro kit che ho già tra le mani! Ora voglio terminare quello mio...che utilizzerò anche per gopro! Solo che lo stepper gira in senso antiorario!!! Tu mi inviasti questo sketch, però il motore non gira proprio, dove sbaglio? In quanto alla gopro, ho lo schema del connettore posteriore, è un pò complesso, se vuoi ci sentiamo per telefono! //per variare il tempo di stop del motore, cambiare il valore "delay" tra parentesi (è in millisec) nella stringa void loop, alla fine..//
// nella stringa successiva, chiamata void rotate3, aggiungendo o eliminando le stringhe "rotate (); " il motore aggiunge o elimina movimenti//
int shutter_on = 200; //tempo di pressione per attivare la cam, da settare intorno i 100 e 300 int shutter_off = 1500; // tempo di attesa prima di attivare il motorino
int wakeup = 300; //time to activate wakeup (focus) int wakewait =200; //time between wake and shutter
int outpin = 13; //uscita per lo scatto int wakepin = 12; //uscita per la messa a fuoco
// init motorino int motorPin1 =8; int motorPin2 =9; int motorPin3 =10; int motorPin4 =11; int delayTime = 500;
int step = 1;
void setup() { // init dei pin per lo scatto pinMode(outpin, OUTPUT); //outpin gives output pinMode(wakepin, OUTPUT); //wakepin gives output // tempistiche per lo scatto, modificare in base alle esigenze shutter_on = 200; // init dei pin per il motorino pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT);
}
/////////// Loop ////////////
void loop(){ digitalWrite(wakepin, HIGH); //turn wakeup/focus on delay(wakeup); //keep focus digitalWrite(wakepin, LOW); //turn wakeup off delay(wakewait); //wait digitalWrite(outpin, HIGH); //press the shutter delay(shutter_on); //wait the shutter release time digitalWrite(outpin, LOW); //release shutter delay(shutter_off); //wait for next round
delay(1000); // riga nuova - questo è il tempo di attesa prima di ripartire dopo lo scatto
rotate();
delay(2000); // qui metti in millisendi quanto vuoi attendere prima di scattare }
void rotate(){ switch (step) { case 1: digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 2: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 3: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); break; case 4: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); break; } delay(delayTime); step ++; step --; if (step == 0){ step = 4; } }
|
|
|
|
|
Logged
|
|
|
|
|
ITALY
Offline
Newbie
Karma: 0
Posts: 46
|
 |
« Reply #171 on: January 18, 2012, 04:11:27 pm » |
@ Trevis. Ciao, ho visto dalla foto che hai usato un driver x controllare il motore, ma di che modello si tratta?
|
|
|
|
|
Logged
|
|
|
|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #172 on: January 19, 2012, 03:22:49 am » |
qua mi pare che dica molto, basta un po' di ricerca.. http://benlo.com/msp430/GoProController.html
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 166
|
 |
« Reply #173 on: January 19, 2012, 06:17:00 am » |
Certo, ma posso dirti dove prendere i connettori, e tante altre cosette! Su gopro ci lavoro tanto!
hai dato uno sguardo allo sketch?
|
|
|
|
|
Logged
|
|
|
|
|
Lago di Como
Offline
Jr. Member
Karma: 0
Posts: 50
|
 |
« Reply #174 on: January 19, 2012, 07:50:48 am » |
@ Trevis. Ciao, ho visto dalla foto che hai usato un driver x controllare il motore, ma di che modello si tratta?
big easy driver. Alla fine la slitta la autocostruisco in stile igus(perchè comprarla spendendo sugli 80 euro mi pare assurdo quando con 15 euro la si realizza in maniera più spartana ma stessa funzionalità) abbandonando l'idea del profilato che mi avevi detto. Hai dato un occhio a quello che ti avevo mandato provando a collegare LCD?
|
|
|
|
|
Logged
|
|
|
|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #175 on: January 19, 2012, 08:20:07 am » |
Certo, ma posso dirti dove prendere i connettori, e tante altre cosette! Su gopro ci lavoro tanto!
hai dato uno sguardo allo sketch?
ma quindi tu ora parli di farlo con arduino->shield con ULN2803A fatto da te-> stepper ? Il motore gira in senso opposto a quello che ti aspetti o non gira? hai detto entrambe le cose.. poi a questo vuoi collegarci una gopro !? io i connettori mica me li voglio prendere, non ho la gopro, e quindi non ne sono interessato !!
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 166
|
 |
« Reply #176 on: January 19, 2012, 12:07:16 pm » |
Ok mi sono espresso male!! lo sketch "senso orario" non funziona, vedo il led di arduino che lampeggia con i tempi stabiliti, ma il motore è fermo! Se invece provo lo sketch "vechhio" quindi quello che gira in senso antiorario, funziona benissimo, il motore gira, ma appunto, in senso antiorario!
Questo ok per le reflex, ma vorrei poter utilizzare anche la gopro. Purtroppo lo shutter non è remotabile, quindi ho dovuto collegare 2 fili in parallelo al tastino, e li collegherò direttamente ad arduino..provato e funziona!! ma vorrei però farlo girare in senso orario!
Cmq la gopro è fortissima...la uso dappertutto, ora anche 11megapixel!!
|
|
|
|
|
Logged
|
|
|
|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #177 on: January 19, 2012, 01:39:27 pm » |
Ok mi sono espresso male!! lo sketch "senso orario" non funziona, vedo il led di arduino che lampeggia con i tempi stabiliti, ma il motore è fermo! Se invece provo lo sketch "vechhio" quindi quello che gira in senso antiorario, funziona benissimo, il motore gira, ma appunto, in senso antiorario!
Questo ok per le reflex, ma vorrei poter utilizzare anche la gopro. Purtroppo lo shutter non è remotabile, quindi ho dovuto collegare 2 fili in parallelo al tastino, e li collegherò direttamente ad arduino..provato e funziona!! ma vorrei però farlo girare in senso orario!
Cmq la gopro è fortissima...la uso dappertutto, ora anche 11megapixel!!
ma non riesci a ribaltare il motore? cmq allora passami lo sketch funzionante, così parto da qualcosa che va bene..
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 166
|
 |
« Reply #178 on: January 19, 2012, 03:48:32 pm » |
Eccoti lo sketch che funziona, ma gira in senso antiorario! //per variare il tempo di stop del motore, cambiare il valore "delay" tra parentesi (è in millisec) nella stringa void loop, alla fine..//
// nella stringa successiva, chiamata void rotate3, aggiungendo o eliminando le stringhe "rotate (); " il motore aggiunge o elimina movimenti//
int shutter_on = 200; //tempo di pressione per attivare la cam, da settare intorno i 100 e 300 int shutter_off = 1500; // tempo di attesa prima di attivare il motorino
int wakeup = 300; //time to activate wakeup (focus) int wakewait =200; //time between wake and shutter
int outpin = 13; //uscita per lo scatto int wakepin = 12; //uscita per la messa a fuoco
// init motorino int motorPin1 =8; int motorPin2 =9; int motorPin3 =10; int motorPin4 =11; int delayTime = 500;
int step = 1;
void setup() { // init dei pin per lo scatto pinMode(outpin, OUTPUT); //outpin gives output pinMode(wakepin, OUTPUT); //wakepin gives output // tempistiche per lo scatto, modificare in base alle esigenze shutter_on = 200; // init dei pin per il motorino pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT);
}
/////////// Loop ////////////
void loop(){ digitalWrite(wakepin, HIGH); //turn wakeup/focus on delay(wakeup); //keep focus digitalWrite(wakepin, LOW); //turn wakeup off delay(wakewait); //wait digitalWrite(outpin, HIGH); //press the shutter delay(shutter_on); //wait the shutter release time digitalWrite(outpin, LOW); //release shutter delay(shutter_off); //wait for next round
delay(1000); // riga nuova - questo è il tempo di attesa prima di ripartire dopo lo scatto
rotate();
delay(2000); // qui metti in millisendi quanto vuoi attendere prima di scattare }
void rotate(){ switch (step) { case 1: digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 2: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 3: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); break; case 4: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); break; } delay(delayTime); step ++; if (step > 4){ step = 1; } }
|
|
|
|
|
Logged
|
|
|
|
|
Senago - Milano
Offline
God Member
Karma: 3
Posts: 507
Arduino rocks
|
 |
« Reply #179 on: January 19, 2012, 04:05:38 pm » |
ci credo che non andava.. c'è questa robaccia: step ++; step --; praticamente step rimane sempre uguale! prova questo: //per variare il tempo di stop del motore, cambiare il valore "delay" tra parentesi (è in millisec) nella stringa void loop, alla fine..//
// nella stringa successiva, chiamata void rotate3, aggiungendo o eliminando le stringhe "rotate (); " il motore aggiunge o elimina movimenti//
int shutter_on = 200; //tempo di pressione per attivare la cam, da settare intorno i 100 e 300 int shutter_off = 1500; // tempo di attesa prima di attivare il motorino
int wakeup = 300; //time to activate wakeup (focus) int wakewait =200; //time between wake and shutter
int outpin = 13; //uscita per lo scatto int wakepin = 12; //uscita per la messa a fuoco
// init motorino int motorPin1 =8; int motorPin2 =9; int motorPin3 =10; int motorPin4 =11; int delayTime = 500;
int step = 1;
void setup() { // init dei pin per lo scatto pinMode(outpin, OUTPUT); //outpin gives output pinMode(wakepin, OUTPUT); //wakepin gives output // tempistiche per lo scatto, modificare in base alle esigenze shutter_on = 200; // init dei pin per il motorino pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT);
}
/////////// Loop ////////////
void loop(){ digitalWrite(wakepin, HIGH); //turn wakeup/focus on delay(wakeup); //keep focus digitalWrite(wakepin, LOW); //turn wakeup off delay(wakewait); //wait digitalWrite(outpin, HIGH); //press the shutter delay(shutter_on); //wait the shutter release time digitalWrite(outpin, LOW); //release shutter delay(shutter_off); //wait for next round
delay(1000); // riga nuova - questo è il tempo di attesa prima di ripartire dopo lo scatto
rotate();
delay(2000); // qui metti in millisendi quanto vuoi attendere prima di scattare }
void rotate(){ switch (step) { case 1: digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 2: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; case 3: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); break; case 4: digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); break; } delay(delayTime); step --; if (step <= 0){ step = 4; } }
|
|
|
|
|
Logged
|
|
|
|
|
|