Ardutester - Arduino Component Tester (INCOMPLETO)

Nuova versione 06j disponibile (download al primo post)

  • Powersave functions
  • Code Cleanup
  • Flag only when more info availables
  • Sorpresa :smiley:

Di fianco all'include della liquidcristal I2C puoi mettere il link al sito dove l'hai scaricata? Dovrebbe essere quella di H Mario. Giusto?

pighixxx:

  • Sorpresa :smiley:

La versione è la J ma nel codice c'è:

const char Version_str[] PROGMEM = "v0.6g";

Se commento#define LCD_PRINT                                //Print on I2C LCD
non compila :astonished:

In checkbutton c'è

lcd.noBacklight();

senza gli ifdef. :fearful: :grin:

Bello lo splash screen finale col ringraziamento...

So di essere scassapalle, ma quando sarà tutto bello funzionante, non è che puoi fare un riassunto?

Cioè, come deve essere collegato LCD (seriale,I2C,...), il pulsante (a quali pin), etc. ?
Per non doversi leggere 8 pagine di post :grin:

Versione K

Spostato la definizione del display prima del setup e dopo tutte le altre dichiarazioni.
Adesso se non si definisce l'LCD funziona.

Aggiunto gli indef dimenticati
Cambiato in ADC HiZ i valori 0, 1 e 2 con i corrispondenti TP1, TP2, TP3.
Corretto un lcd.print con lcd_print

Lasciato il ringraziamento per somma modestia. :grin: :grin: :grin:

ardutester.ino (107 KB)

PaoloP:
Versione K

Spostato la definizione del display prima del setup e dopo tutte le altre dichiarazioni.
Adesso se non si definisce l'LCD funziona.

Aggiunto gli indef dimenticati
Cambiato in ADC HiZ i valori 0, 1 e 2 con i corrispondenti TP1, TP2, TP3.
Corretto un lcd.print con lcd_print

Lasciato il ringraziamento per somma modestia. :grin: :grin: :grin:

Mitico :smiley:
Ho aggiornato il primo post con l'ultima versione (mi sono solo limitato a sistemare l'indentazione e a dare i giusti onori alla versione K)

nid69ita:
So di essere scassapalle, ma quando sarà tutto bello funzionante, non è che puoi fare un riassunto?

Cioè, come deve essere collegato LCD (seriale,I2C,...), il pulsante (a quali pin), etc. ?
Per non doversi leggere 8 pagine di post :grin:

Il primo post conterrà le ultime versioni di tutto... :smiley:

cece99:
Bello lo splash screen finale col ringraziamento...

Era doveroso ed il minimo che potevo fare...

Prima pagina aggiornata con correzione schemi.
Ciao :smiley:

Confermo di avere il DCA-55, non ho gelosie e non ho bisogno di essere provocato :grin:, sono molto incuriosito dal fatto che legga anche i componenti passivi, poiché possiedo una vasta e solida strumentazione sono in grado di fare prove serie e confermare o meno la validità dello strumento. Il problema, come detto, è il tempo, ho non meno di 5 progetti da completare, sono in ritardo e sono incasinato all'UNI, però ho anche un'idea, lasciatemi ragionarci su.... per ora complimenti!!!

Pighixxx,
nel setup, dove c'è l'inizializzazione dell'ADC, prova ad inserire:

DIDR0 = 0b00111111;			//DIDR0 – Digital Input Disable Register 0 - Disable digital input on analog pins

serve per disabilitare gli ingressi digitali collegati ai pin analogici che creano imprecisioni nelle letture.
--> ATmega ADC tutorial | Open Music Labs

Potresti fare anche una versione R3 della scheda? Devi aggiungere i pin SDA e SCL dopo AREF e GND.
In quel modo la scheda è utilizzabile anche con la MEGA e la Leonardo, anche se il codice è ancora da testare con tali schede.

Paolo, non è la stessa cosa metterli semplicemente in OUTPUT, così non tocchi i registri....

Dalla spiegazione del sito pare di no. E se tra i tuoi progetti c'è lo studio dell'ADC del 328, dovresti approfondire. :wink:

Per quanto riguarda i registri... ArduTester e tutto "un toccare di registri". Non mi preoccupa.

:smiley:
Grazie

PaoloP:
Pighixxx,
nel setup, dove c'è l'inizializzazione dell'ADC, prova ad inserire:

DIDR0 = 0b00111111;			//DIDR0 – Digital Input Disable Register 0 - Disable digital input on analog pins

serve per disabilitare gli ingressi digitali collegati ai pin analogici che creano imprecisioni nelle letture.
--> ATmega ADC tutorial | Open Music Labs

Interessante l'articolo. Do un'occhiata e provo. Grazie

PaoloP:
Potresti fare anche una versione R3 della scheda? Devi aggiungere i pin SDA e SCL dopo AREF e GND.
In quel modo la scheda è utilizzabile anche con la MEGA e la Leonardo, anche se il codice è ancora da testare con tali schede.

Sto già lavorandoci :smiley:

ho visto che includi due librerie solo se si vuole usare l'LCD, mi chiedevo se servisse veramente, perche' credo che se le librerie incluse non vengono usate nel codice compuque non vengono compilate giusto ? quindi potresti lasciarle e basta

lo schema elettrico di questo shield ? perche' non lo posti insieme alla scheda nel primo post ? siamo in Megatopic mica bruscolini :slight_smile:

Inoltre per il discorso leggibilita', essendo un codice bello lungo, io mi trovo molto bene con l'uso delle Tab nell'IDE ufficiale, chiarisce e distribuisce meglio il tutto.

Paolo, ovviamente studierò il tuo link ma soprattutto voglio approfondire sul data-sheet, la cosa mi interessa non solo per lo studio sull'ADC, che è a medio termine, ma soprattutto per il Frequenzimetro LCD, settimana prossima mi arrivano i PCB e quindi dovrò iniziare l'ottimizzazione del codice e soprattutto della gestione dell'ADC che gioca un ruolo importante, quindi proverò quella riga di comando, visto che uso un solo pin Ax e gli altri li ho lasciati volutamente liberi.

Testato:
ho visto che includi due librerie solo se si vuole usare l'LCD, mi chiedevo se servisse veramente, perche' credo che se le librerie incluse non vengono usate nel codice compuque non vengono compilate giusto ? quindi potresti lasciarle e basta

Non è vero, prova a compilare con e senza #define LCD_PRINT

Testato:
lo schema elettrico di questo shield ? perche' non lo posti insieme alla scheda nel primo post ? siamo in Megatopic mica bruscolini :slight_smile:

A dire la verità lo schema elettrico ~~c'~~è al primo post :smiley:
Lo schema elettrico, pcb e quant'altro dello shield li posterò appena pronto.

PaoloP:
(cut) dove c'è l'inizializzazione dell'ADC, prova ad inserire:

DIDR0 = 0b00111111;			//DIDR0 – Digital Input Disable Register 0 - Disable digital input on analog pins

serve per disabilitare gli ingressi digitali collegati ai pin analogici che creano imprecisioni nelle letture.

L'ho inserito. Al momento non mi sembra notare nessuna differenza. Più tardi farò dei test più approfonditi

Sto terminando un altro set di schede ABC.
Stavo pensando di inserire nello shield dell'ArduTester anche un preamplificatore e un comparatore (Ho un'idea malsana :D)

@Michele:
mettere il pin in input o output equivale comunque ad impostarne uno stato.
Disattivare il circuito digitale invece toglie proprio l'alimentazione a quel buffer, spengendolo del tutto.
Puoi disattivarlo anche per risparmiare corrente, se usi i pin Ax come analogici.
Datasheet cap 23.9.5

pighixxx:
Non è vero, prova a compilare con e senza #define LCD_PRINT

Come funziona di preciso questa storia ? ricordo di aver letto piu' volte che il compilatore scarta la roba che non serve, altrimenti gia' usare 3 o 4 librerie, anche senza fargli fare granche', dovrebbe occupare tutta la memoria.
Grazie degli eventuali chiarimenti