Go Down

Topic: Ardutester - Arduino Component Tester (INCOMPLETO) (Read 228155 times) previous topic - next topic

leo72


Il problema è la portabilità perché quel #define cambia da micro a micro (motivo perché ho eliminato la compatibilità con la Leonardo).

Come ti ho detto, se volete farlo utilizzabile su più schede Leonardo, posso vedere di fare qualcosa io, non è un problema.
Leonardo, Uno, Mega direi no? La Due la lascerei fuori per via della sua questione dei 3V3.

PaoloP

Il workaround per il registro dell'ADC è già pronto, ma non è stato mai testato.
A Bassano Pighi mi ha dato una Leo, vedrò se la cosa funziona, dopo essermi creato una shield "saldata".  ;)

lestofante

si, ma i registri letti sono gli stessi. anche se leggi 16 bit, i primi 6 (o meglio i primi 6 del registro 0x79) sono sempre a 0.
L'adc rimane comunque a 10bit (mentre sebri lasciare intendere 16bit di risoluzione), è solo un modo per evitare di fare a mano la concatenzaione dei due byte.
Dove sbaglio?
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

astrobeed


si, ma i registri letti sono gli stessi. anche se leggi 16 bit, i primi 6 (o meglio i primi 6 del registro 0x79) sono sempre a 0.


Esatto, è solo un "trucco" per risparmiare qualche ciclo macchina.
Scientia potentia est

leo72


si, ma i registri letti sono gli stessi. anche se leggi 16 bit, i primi 6 (o meglio i primi 6 del registro 0x79) sono sempre a 0.
L'adc rimane comunque a 10bit (mentre sebri lasciare intendere 16bit di risoluzione), è solo un modo per evitare di fare a mano la concatenzaione dei due byte.
Dove sbaglio?

Non sbagli. Difatti Paolo diceva che fa una lettura del registro a 16 bit non che fa una conversione a 16 bit.
E' solo come dice astro per evitare di fare 2 letture consecutive del byte basso e di quello alto.

astrobeed


E' solo come dice astro per evitare di fare 2 letture consecutive del byte basso e di quello alto.


Oltre alle due letture poi c'è l'operazione di somma tra due byte con shift di 8 bit e relativo casting a valore intero, dovrei fare i conti per bene però direi che con la lettura diretta del valore a 16 bit, gestita in hardware, si risparmiano più di sei cicli macchina rispetto alla procedura a lettura del singolo registro e relativa unione in un valore a 16 bit fatta a software.
Scientia potentia est

PaoloP


pighixxx

Ho fatto la prima compilazione dopo 3 giorni di coding

:smiley-mr-green:

Sono sulla buona strada. Solo una cinquantina di errori  :smiley-mr-green: (Ho definito delle nuove strutture per la gestione dei componenti e devo essermi dimenticato qualcosa per strada) ma per questo Sublime Editor dovrebbe darmi una mano (cmd-P @struttura)

Questa sera porto a cena la moglie e se Bacco non me ciava dopo con calma controllo e posto.
Vado perchè adesso sono più o meno così  :smiley-eek-blue:

PaoloP

In pratica hai fatto l'ArduTester 2 senza aver pubblicato l'1.

pighixxx

No.

Per la legge del muratore.
Se fai male le fondamenta la casa crolla. Prima di arrivare al tetto ho messo apposto le fondamenta.  :D
Comunque non ho stravolto tutto, solo qualcosina.

PaoloP

Questo ha anche il box  :smiley-mr-green: :smiley-mr-green:
--> http://www.ebay.it/itm/Transistor-Tester-Capacitor-Inductance-L-C-R-NPN-PNP-Mosfet-Resistor-Meter-/140957444342?pt=LH_DefaultDomain_0&hash=item20d1b7e8f6&_uhb=1#ht_2814wt_1189
più una schedina con connettore zif.

Disponibile anche dagli States --> http://www.ebay.com/itm/Transistor-Tester-Capacitor-ESR-Inductance-Resistor-Meter-Mosfet-NPN-PNP-/300896300919?pt=LH_DefaultDomain_0&hash=item460ed12f77

testato



si, ma i registri letti sono gli stessi. anche se leggi 16 bit, i primi 6 (o meglio i primi 6 del registro 0x79) sono sempre a 0.


Esatto, è solo un "trucco" per risparmiare qualche ciclo macchina.

Ecco ad esempio cosa c'è di tanto importante in questa operazione rispetto ad usare analogread ?
Cosa comportano quei pochi cicli macchina in più ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

pighixxx

@Paolo
Sempre cineserie.
Non è che se gli metti le mutande nuove diventa vergine.  :D

pighixxx


Ecco ad esempio cosa c'è di tanto importante in questa operazione rispetto ad usare analogread ?
Cosa comportano quei pochi cicli macchina in più ?


L'accuratezza della lettura. I Registri vengono interrogati dopo 5ms. Per quello chiedevo se i Delay di Arduino fossero sono accurati  ;)

lestofante

inutile, sei legato alla velocità di clock dell'ADC. Puoi aumentarla, ma perdi precisione oltreun tot.
L'unico motivo per implemetare a mano è essere sicuro che non entri in gioco il multiplexer ADC che sballa le misure.
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

Go Up