Go Down

Topic: time lapse, test red infrarossi (Read 2 times) previous topic - next topic

Michele Menniti

La frequenza di burst dovrebbe essere quella di pilotaggio del LED IR, e da quello che leggo mi pare di capire che sia intorno ai 32KHz, quindi forse non è in grado di pilotare correttamente quel LED che è invece a 38KHz, ma sono mie supposizioni; inoltre mi pare di capire che sia fondamentale settare correttamente la tempistica in base al clock al quale lavora il micro; quindi gli elementi che giustificano il malfunzionamento ci sarebbero, purtroppo non ho mai fatto prove con queste lib, quindi non si aiutarti oltre. Inizia a fare qualche temtativo con i delay
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

mantissa00

#26
Nov 15, 2012, 09:33 pm Last Edit: Nov 15, 2012, 09:40 pm by mantissa00 Reason: 1
oddio no non saprei cosa mettere.. ho provato a documentarmi un po' su wikipedia
ho capito che 1khz sono mille oscillazioni al secondo, quindi..
diciamo che il leonardo va a 38khz, il led deve essere pilotato a 32khz, devo mettere del delay.. x, devo trovare questa x per cui 38 hz * x secondi = 32 hz; e 1 hz è un battito ogni 1/T s..
x = 38/32 = 1.1875.. e poi??
e delay o delayMicroseconds? direi delay.. millisecondi.., visto che parliamo di kilo hz.. ma sto sparando a caso più che altro..

non so non ho capito bene come deve stare in piedi il ragionamento..


Michele Menniti

non è così semplice, intanto il LED IR è a 38KHz mentre la lib sembra generare 32kHz, quindi bisognerebbe modificare la lib per ottenere 38khz, non puoi certo farlo aggiungendo dei delay; a questo punto, senza l'aiuto di uno che la conosce diventa poco possibile risolvere il problema.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

mantissa00

bah.. colto dalla disperazione ho iniziato a dare i numeri prima di spegnere il computer..
ho utilizzato il codice che ho postato sopra ma al posto di delayMicroseconds(11) ho messo 10,
e va decisamente meglio di prima, su una 50 di scatti me ne salta solo 1 o 2 direi che va benissimo rispetto a rpima....

ma comunque una cosa, che cosa si intende come velocità del leonardo a 32khz? dov'è scritto? ho provato a guardare le specifiche del leonardo ma non c'è nulla che sia un numero vicino al 30 della grandezza di khz..

Michele Menniti

32KHz NON è la velocità di Leonardo, il cui clock è 16 MHz, bensì la frequenza che il micro di Leonardo genera sul pin che pilota il LED IR, lo fa mediante opportuna manipolazione dei registri, cosa che avviene certamente a livello di libreria; quindi si potrebbe verificare qual è il punto della lib che genera i 32KHz e portarli a 38Khz; però se già agendo sui delay, come ti consigliavo prima sei arrivato a questi risultati è una cosa buona; secondo me pilotando il LED a 38khz si risolve tutto.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up