Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« on: January 22, 2013, 06:03:21 pm » |
...si, casino totale (...e non intendo il film parodia di casino royale!) bensì il mio sketch che posto qui da voi: int valoretarato;
for(int i = 0; i<=255; i++) { spwm(i, Led_IR); delay(1); int sensorValue = digitalRead(Foto_TR); if (sensorValue == 1) { valoretarato = i; } digitalWrite(Led_IR, 0); } delay(500); Persistentspwm(i, Led_IR); //richiama funzione per pwm simulato
// setup_watchdog(9); }
void loop() { if (f_wdt==1) { // wait for timed out watchdog / flag is set when a watchdog timeout occurs f_wdt=0; // reset flag //CODE HERE unsigned long currentMillis = millis(); int sensorValue = digitalRead(Foto_TR); sensorValue = !sensorValue; if (sensorValue == 1) { DOA++; if(DOA > 5) { analogWrite(Led_1, 64); analogWrite(Led_2, 255); delay(800); analogWrite(Led_1, 0); analogWrite(Led_2, 0); } }
if (DOA >= 5) { //do something
} system_sleep(); //addormento il Tiny.
Il problema che devo risolvere è il seguente: Allora: una volta calibrato il sensore come faccio nel setup(), devo leggerlo (e in questo caso invertire la sua uscita), ma proprio qui ci casca l'asino, ho collegato l'output del fotosensore al pin 3 (ovvero il 2) del mio attiny, e nel setup lo leggo come input...ecco lo schema usato:  Poi però una volta programmato l'attiny funziona in maniera "anomala"...sembra che il pin 2 (ovvero il 3) non riesca a leggere il mio input digitale...ho provato a cambiare tiny, ma nulla da fare, il problema persiste... Avete idee? ...magari è una stupidata...ma ci ho perso l'intero pomeriggio... Grazie.
|
|
|
|
« Last Edit: January 22, 2013, 06:10:38 pm by fardox »
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
0
Offline
Edison Member
Karma: 8
Posts: 2180
Arduino rocks
|
 |
« Reply #1 on: January 22, 2013, 08:50:50 pm » |
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.............mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm......................mmmmmmmmmmmmmmmmmmmmmmmmm
Basta.
Il codice dello scketch non è completo.
Leggi in digitale sul pin analogico, ma le tue intenzioni sono di leggere lo stato digitale o la variazioni analogiche sul pin A0 che si vengono a creare dovute al fatto che piloti il led in PWM. Il PWM a cosa ti serve, vuoi variare la luminosità del led interno a quel componente schematizzato in foto che sembra un accoppiatore ottico. No non penso perchè quel led è alimentato in modo fisso, quindi non ci sarà cambio di stato in uscita su A0, dove troverai sempre un livello LOW.
Spiega quali sono i tuoi obbiettivi.
Ciao.
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #2 on: January 23, 2013, 02:34:11 am » |
Allora: 1.) piloto in pwm il pin del led ir del sensore finché il sensore non visualizzare dopo di che setto il led con la luminosità trovata. 2.) poi dal pin 3 di attiny leggo lo stato digitale del sensore...ma qui ho dei problemi help!!! 
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16462
Don't know what I do
|
 |
« Reply #3 on: January 23, 2013, 04:15:10 am » |
Quel codice è incompleto. Le info che dai sono inaccurate: parli di un "attiny" generico, quale? Parli di pin 3 poi però dici che è il 2 poi parli di A0. http://arduino.cc/forum/index.php/topic,91560.0.html
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #4 on: January 23, 2013, 04:24:35 am » |
Ecco la pedinatura del Tiny85:  Il pin2 è di fatto il PB3...ecco cosa intendevo dire. hai qualche idea su come risolvere?
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8225
:(){:|:&};:
|
 |
« Reply #5 on: January 23, 2013, 04:28:39 am » |
1.) piloto in pwm il pin del led ir del sensore finché il sensore non visualizzare dopo di che setto il led con la luminosità trovata.
chi ci capisce è bravo ] 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16462
Don't know what I do
|
 |
« Reply #6 on: January 23, 2013, 04:31:31 am » |
Ripeto: lo sketch è incompleto. Inoltre i dettagli che ci hai dato sul problema sono insufficienti. Ad esempio: come hai collegato il tutto?
Per favore, sii più preciso.
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #7 on: January 23, 2013, 04:34:18 am » |
...è l'autocorrettore del telefono che ogni tanto scrive degli strafalcioni  Allora, ecco lo sketch di prova completo, modificato e senza alcuni pezzi superflui: const int Foto_TR = 3; //Pin Fototransistor int UltimoStato_TR = LOW; int StatoTR; int Number; long lastDebounceTime = 0; long debounceDelay = 100; const int Led_1 = 0; //Pin PWM Attiny void setup() { // put your setup code here, to run once: pinMode(Foto_TR, INPUT); }
void loop() {
int reading_Tr = digitalRead(Foto_TR); if (reading_Tr != UltimoStato_TR) { lastDebounceTime = millis(); if (reading_Tr == LOW) { Number++; } } if ((millis() - lastDebounceTime) > debounceDelay) { StatoTR = reading_Tr;
} UltimoStato_TR = reading_Tr;
for(int i = 0; i< Number; i++) { analogWrite(Led_1, 255); delay(300); analogWrite(Led_1, 0); } // delay(1000); } Il tutto è collegato in questo modo: Ma invece che mandare l'output del sensore al pin A0 di arduino lo mando al pin PB3 del mio Tiny. nulla di complicato... 
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16462
Don't know what I do
|
 |
« Reply #8 on: January 23, 2013, 04:42:19 am » |
E quel sensore che cosa dà in output? Perché se nello schema lo collegano ad un pin analogico, tu quel pin lo leggi in digitale? Non è che forse la tensione che fornisce resta nel campo indefinito dei valori per cui l'Attiny non riesce a leggerlo come stato HIGH?
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #9 on: January 23, 2013, 04:46:13 am » |
No, con arduino lo leggo correttamente in digitale, senza avere problemi...non so che fare
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16462
Don't know what I do
|
 |
« Reply #10 on: January 23, 2013, 04:56:27 am » |
Sembra tutto giusto. D3 è il pin PB3. Hai provato a collegare direttamente il pin a VCC per vedere se il pin legge correttamente?
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #11 on: January 23, 2013, 04:58:43 am » |
Si, lo legge correttamente!
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16462
Don't know what I do
|
 |
« Reply #12 on: January 23, 2013, 05:01:55 am » |
Si, lo legge correttamente!
Allora è il sensore.
|
|
|
|
|
Logged
|
|
|
|
|
Tuscany
Offline
Edison Member
Karma: 20
Posts: 1050
|
 |
« Reply #13 on: January 23, 2013, 05:04:09 am » |
io non capisco un paio di cose
1) Nello schema il led e' collegato a +5V , ma forse e' connesso al pin0 2) Non e' dichiarato il Pin0 come output 3) Leggi il valore su pin3, che a occhio e' sempre HIGH 4) accendi e spegni il LED 5) Rileggi il valore sul pin3 ... che sara' sempre HIGH
Se invece il Led e' collegato a +5V Leggi sempre LOW
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Full Member
Karma: 0
Posts: 149
Arduino = Tecnologia
|
 |
« Reply #14 on: January 23, 2013, 05:11:56 am » |
...Ho risolto, il problema era dovuto dal fatto che nell'immagine il pin sul collettore del fototransistor non andava collegato ai 5V, Gli altri problemi a livello di codice li sto piano piano risolvendo...Scusate se nelle spiegazioni sono stato "ambiguo"  Grazie!
|
|
|
|
|
Logged
|
Se ritieni che la mia risposta ti abbia aiutato a risolvere il problema non esitare! ringraziami dandomi il Karma! 
|
|
|
|
|