Piero V.

Arduino: ecco il mio problema

Sapete che ogni tanto mi diletto con l’elettronica, anche se faccio più pasticci che altro.

Comunque tempo fa mi era passata in mente l’idea di costruirmi Arduino, la versione seriale con PCB a faccia singola.

Tuttavia avevo avuto problemi con i tempi: erano imprecisi e non sapevo proprio capacitarmene.

Ebbene, in questi giorni ho ripreso in mano l’elettronica, più precisamente mi sono messo a smontare degli scanner usati che avevo preso al Balon di Torino (il mercato delle pulci), però, poiché mi serviva la scheda per controllarli, ho ripreso in mano Arduino.

Finalmente sono riuscito a trovare il problema: era il microcontrollore proprio!

Avevo ordinato 3 microcontrollori: un ATMega328 e due ATMega168PA.

Proprio il primo si è rotto, magari durante le prime prove… Questa è proprio sfortuna!

Comunque sia adesso con l’ATMega168 funziona tutto e addirittura con la seriale del computer.

L’unica cosa è che per metterci il bootloader dovete dare manualmente il comando aggiungendo la “p” dopo -patmega168. Il comando originale lo trovate dando “Scrivi il bootloader” dall’IDE di Arduino.

Sono abbastanza felice che bene o male alla fine posso usare Arduino. Non so se provare subito con i componenti che ho riciclato o prima prendermi qualche sfizietto (tipo esperimenti col telecomando).

Riprende la sperimentazione elettronica

Finalmente è arrivato il tempo delle vacanze 😊 Così vorrei ricominciare un po’ con la sperimentazione elettronica.

In mente ho già alcuni progetti.

Il più ambizioso è una macchina per fare PCB. Al momento se ho bisogno di una PCB la lavoro col Cloruro Ferrico, però è un procedimento alquanto noioso, soprattutto lo smaltimento del sale. Così vorrei provare un tentativo di CNC che mi richieda una spesa minima. Pensavo di fare con uno degli ATMega che mi sono avanzati, con il bootloader di Arduino, la scheda di controllo e poi di recuperare il maggior numero di pezzi possibili da scanner e stampanti (motori, guide…). Di progetti il web ne è pieno, sicuramente riuscirò a trovare qualcosa su cui basarmi. Comunque, non so perché, mi sento che sarà già tanto se riuscirò a fare muovere qualcosa :|

Questa insomma sarebbe l’idea principale. Però partirò con sperimentazioni su Arduino e sull’elettronica digitale in generale. In particolare vorrei costruire una scheda RS232-TTL da usare quando ne ho bisogno, magari con i connettori per usarla facilmente su breadboard. Visto che in casa, da qualche parte, dovrei avere un MAX232 penso che applicherò uno dei mille schemi basati su questo integrato.

Un altro bel progetto potrebbe essere un looper MIDI degli effetti della chitarra, però viene dopo il PCB miller, anche per questioni di budget. Non è di certo uno dei progetti più economici che esistano.

Quanto all’elettronica analogica voglio sistemare il canale drive del DeVille: un giorno, proprio quando mi serviva, la modalità more drive ha smesso di funzionare, e al suo posto si sente tipo un suono pulito.

Poi sarebbero belli i cloni del Boss CE-2 e dell A/DA Flanger, ma anche questi eventualmente verranno dopo il PCB miller, sempre che mi rimanga tempo.

In ogni caso se combinerò qualcosa vi terrò aggiornati.

Ma che quarzo!

Ho finalmente trovato il problema dell’Arduino.

Non sta gestendo correttamente i tempi. Per ogni milli secondo reale per lui ne passano 1,254 e ciò e deleterio.

E ciò è male, in quanto la comunicazione elettronica si basa spesso su tempi, e la seriale ne è un esempio perfetto. Con la gestione del tempo scorretta i baud per secondo del computer e quelli dell’arduino sono sbagliati, ciò significa per esempio che non posso sfruttare il bootloader della scheda, perché tanto il computer non lo riconosce.

Fortunatamente sono riuscito a fare andare la seriale, dopo averla emulata su altri pin.

La soluzione (spero temporanea) che ho trovato è di impostare 8050 baud/s sullo sketch e 9600 su Arduino.

Penso la colpa sia del quarzo, però sfortunatamente al negozio non ne avevano da 16MHz. Se l’avessi saputo li avrei presi da RS.

Arduino: completato

Sta mattina mi è arrivato il pacco di RS, sito da cui avevo preso l’ATMega328.

Come servizio è ottimo! Hanno abbastanza scelta e ci ha messo solo un giorno ad arrivarmi. Certa gente dice che sono un po’ costosi, ma in confronto al negozietto di elettronica non lo sono affatto 😊

Ebbene, ho montato il tutto ed ecco una foto:

arduino04.jpg

Purtroppo farlo andare non è stato troppo semplice.

Il bootloader non si voleva caricare, così dopo un po’ ho provato a caricarlo direttamente io con avrdude e per miracolo ha funzionato. Forse è che la frequenza della mia CPU è troppo alta. Comunque il codice che ha funzionato è questo:

avrdude -p m328p -U flash:w:/usr/share/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex -c dapa -i 10 -P /dev/parport0

Dopo di questa prima volta, sono sempre riuscito a usare il programmatore parallelo senza problemi.

Il secondo problema è la seriale: sono da poco riuscito a fare andare l’output sul monitor, però si vede qualcosa di incomprensibile.

Purtroppo internet ha confermato la mia ipotesi: quasi due metri di cavo seriale (il più corto che avevano in negozio) sono troppi.

Fortunatamente ho una porta DB-9 da attaccare direttamente al computer: sta sera provo con quella.

Clone di Arduino: va avanti bene

Come avevo già scritto, voglio costruirmi un clone di Arduino, una scheda elettronica rilasciata sotto licenza CC che permette di eseguire dei programmi scritti dagli utenti con diversi fini, per esempio nel campo della domotica e robotica.

Proprio per la sua licenza è possibile crearsela da soli (oltre che, ovviamente, comprarne una).

Io ho scelto la via della costruzione per divertirmi un po’ e risparmiare qualche soldo (alla fine dei conti, neanche più di tanti ☹️ ).

Però anziché avere la seriale emulata via USB ho proprio la porta seriale a 9 poli.

Ho deciso di realizzare una Serial Single Sided Arduino.

Lo stampato l’avevo già inciso qualche settimana fa, mentre un’ora venerdì e gran parte di ieri le ho usate per forare il tutto e stagnare i componenti.

Allo stato attuale mancano ancora l’ATMega (il pezzo principale 😉 ) e il quarzo, perciò ancora non ci posso fare niente.

Ecco alcune foto del mio risultato finora:

arduino01.jpg
arduino02.jpg
arduino03.jpg