Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #30 on: July 17, 2012, 09:02:43 pm » |
come non detto.... ho risolto 
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #31 on: July 18, 2012, 02:10:04 am » |
Mi sembra ti mancasse l'analogRead del potenziometro.....e poi tutta la serie di if andrebbero messe nal loop perche messe nel setup se vari il pot il valore letto non ti cambia più.....
|
|
|
|
|
Logged
|
|
|
|
|
Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #32 on: July 18, 2012, 06:08:24 am » |
in effetti lì' errore era proprio quello, ora ho messo gli if nel loop, volevo metterlo nel setup, cosi per cambiare il valore avrei dovuto resettare arduino... era un meccaniscmo di sicurezza, ora ho tutto nel loop. ma se provo a cambiare valore fa degli errori strani che non ho ancora capito, il tempo diventa negativo, con valori casuali, dopo aver spostato piu volte il potenzometro.. non ho ancora capito in base a cosa cambi i valori... oggi faccio alòtri test
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #33 on: July 18, 2012, 07:36:29 am » |
Prova a postare il nuovo codice così si può dare un'occhiata 
|
|
|
|
|
Logged
|
|
|
|
|
Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #34 on: July 18, 2012, 07:41:28 am » |
riecco il codice //time lapse - in base alla posizione del potenziometro, il programma attiva un servo per scattare foto con una fotocamera compatta
#include <Servo.h> Servo myservo; // crea un oggetto servo, per controllarne il movimento int pos1 = 0; // posizione iniziale del servo int pos2 = 20; // posizione finale, quella in cui preme il tasto int time; int pot = A1;//assegna il potenziometro sul pin A1 int potenziometro = 0; void setup()
{ myservo.attach(A2); // attiva il pin A2 per il controllo del servo } void loop() { potenziometro = analogRead(pot); if(potenziometro >= 0 & potenziometro <= 100){ time = 1000; } if(potenziometro > 100 & potenziometro <= 200){ time = 2000; } if(potenziometro > 200 & potenziometro <= 300){ time = 5000; } if(potenziometro > 300 & potenziometro <= 400){ time = 10000; } if(potenziometro > 400 & potenziometro <= 500){ time = 15000; } if(potenziometro > 500 & potenziometro <= 600){ time = 20000; } if(potenziometro > 600 & potenziometro <= 700){ time = 30000; } if(potenziometro > 700 & potenziometro <= 800){ time = 60000; } if(potenziometro > 800 & potenziometro <= 900){ time = 120000; } if(potenziometro > 1000){ time = 300000; } Serial.begin(9600); Serial.println (potenziometro); Serial.println (time); myservo.write(pos2); // sposta il serveo nella posizione finale delay(200); myservo.write(pos1); //riporta il servo nella posizione iniziale delay(time - 200); } [edit]allora... sicuramente dipende dal fatto che non ho considerato i numeri tra 900 e 1000, infatti l' errore lo ha fatto a 952,ed ho corretto, ma siccome provavo a cambiare il tempo, mi sono accorto che superati i 10s ti tempo, la variabile time non cambiava piu.. e rimaneva a 10s
|
|
|
|
« Last Edit: July 18, 2012, 07:45:48 am by milvusmilvus »
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #35 on: July 18, 2012, 08:23:27 am » |
penso che il problema possa dipendere dalla variabile int che può assumere un valore massimo di (2^15)-1 ovvero 32767 vedi qui http://arduino.cc/en/Reference/Int prova a controllare facendo una stampa di ''time'' e controlli il valore effettivo...
|
|
|
|
|
Logged
|
|
|
|
|
Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #36 on: July 18, 2012, 08:39:50 am » |
stavo giusto pensando a quel problema... infatti l' errore lo da per tempi superiori a 30000 ms, penso che cambiero tipo di variabile  ecco le stampe: lettura potenziomentro tempo 114 2000 145 2000 144 2000 194 2000 233 5000 233 5000 327 10000 395 10000 455 15000 563 20000 673 30000 822 -11072 724 -5536 567 20000 634 30000 689 30000 736 -5536
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #37 on: July 18, 2012, 08:52:53 am » |
Si in effetti è li il problema.........tra 700 e 800 il time deve essere 60000, il time contiene circa 32700 quelli in eccesso circa 27000 li scala partendo dal valore massimo negativo (-32768) ed il risultato è congruo con il tuo circa -5500
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #38 on: July 18, 2012, 09:04:29 am » |
Penso dovresti usare long o unsigned long ti mangiano 4 bytes (32 bit) ma riesci a svolgere ciò che ti serve....
|
|
|
|
|
Logged
|
|
|
|
|
Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #39 on: July 18, 2012, 09:22:28 am » |
ho inizializzato la varibile time come long, un po mi dispiace sprecare spazio cosi  ma alla fine serve.. e non ho problemi di memoria.. quindi nessun problema, ora funziona bene, anzi gia sto facendo un time lapse, stasera, dopo il tramonto, posto il video che ho fatto  sperando che sia decente.. poi aggiungo anche un paio di foto del supporto per il servo, e il "circuito" cosi che se qualcuno vuole replicarlo lo fa senza problemi
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #40 on: July 18, 2012, 09:24:34 am » |
Bene son contento ed attendo il video .........ciao 
|
|
|
|
|
Logged
|
|
|
|
|
Banzi (PZ)
Offline
God Member
Karma: 1
Posts: 627
Impara l'arte, e usala!!!
|
 |
« Reply #41 on: July 18, 2012, 04:32:43 pm » |
come promesso ecco il video non è niente di particolare, e dopo circa 2 ore si è scarciata la fotocamera.. devi attrezzarmi con una matteria esterna anche per quella... per usare arduino anche fuori casa, posso utilizzare una batteria da 9v? alimentandolo dal connettore? grazie
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #42 on: July 18, 2012, 04:41:04 pm » |
Per alimentare arduino con una pila da 9volt non ci sono problemi ma se hai anche un servo la pila ti durerà poco......potresti usare una 9volt per la scheda ed un pacco pile stilo per il servo...... ps..bello il video, ''l'accrocco'' sembra non dare nessun problema,è stabile.........posta qualche foto ?! 
|
|
|
|
« Last Edit: July 18, 2012, 04:42:36 pm by tonid »
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #43 on: July 18, 2012, 04:44:58 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #44 on: July 18, 2012, 04:48:32 pm » |
ho sbagliato video sorry era questo che volevo farti vedere: http://youtu.be/TBK08xBUYF4 400 fotogrammi fatti ogni 10 secondi. ciao notte
|
|
|
|
|
Logged
|
|
|
|
|
|