I Makers hanno sempre moltissime idee e progetti da realizzare ma da dove iniziare quando vuoi realizzare un progetto arduino?
Spesso nei commenti ai miei articoli trovi richieste di aiuto da parte di makers e hobbysti con una idea bellissima o innovativa o che ritieni possa soddisfare una esigenza di tutti i giorni a cui manca lo spunto per partire.
E’ quella sensazione che molti appassionati arduino provano al momento in cui nasce un’idea di progetto arduino e la voglia di realizzarla è tanta ma anche la difficoltà a iniziare la sua realizzazione.
In altri casi parti subito a realizzare il tuo progetto arduino sotto la spinta dell’entusiasmo che solo una nuova idea può darti e man mano che incontri le prime difficoltà, i primi ostacoli che non ti aspetti l’entusiasmo iniziale finisce e spesso abbandoni l’opera ritrovandoti con molti attrezzi e materiale acquistato ma senza più energia per superare l’ennesimo imprevisto di un progetto arduino che alla prima valutazione ti era apparso realizzabile in poco tempo.
Ogni progetto nasconde degli imprevisti e delle difficoltà da affrontare, il tuo progetto arduino non fa eccezione.
Un metodo per affrontare un progetto arduino
Anche a me accadeva con una certa regolarità di trovarmi difronte a progetti incompiuti a causa di difficoltà e imprevisti.
Ho deciso di seguire una linea guida prima di buttarmi a capofitto su di un progetto e oggi voglio condividere questa mia linea guida con te perchè anche tu possa portare a termine il tuo prossimo progetto arduino.
Come nasce un progetto
Un progetto arduino nasce per molteplici motivi:
- soddisfare un’esigenza;
- curiosità personale;
- imitazione di un oggetto;
- voglia di realizzare qualcosa di tuo;
- modifica del comportamento di un oggetto che possiedi;
- sfida personale;
- semplice voglia di fare;
- voglia di riciclare materiale e oggetti in disuso;
- ecc…
Indipendentemente da quale sia la spinta che ti porta a voler realizzare un tuo progetto arduino sicuramente avrai tanta voglia di iniziare, ma ti invito a fermarti un secondo e dedicare qualche ora, se necessario anche qualche giorno, allo studio del progetto.
Studio del progetto arduino
La parola “studio” ricorda molto i banchi di scuola e probabilmente non è l’immagine più accogliente che questa parola stimola, tuttavia ho apprezzato molto questa fase quando si è rivelata fondamentale per decidere se iniziare un progetto arduino oppure cercare una soluzione alternativa, mi ha fatto risparmiare tempo, soldi e malumore:
questa fase contiene alcuni punti fondamentali:
Analisi del problema: ossia la valutazione di cosa vuoi realizzare, quali caratteristiche dovrà avere e quali difficoltà potresti incontrare nella realizzazione del progetto;
Ricerca di shield: se il tuo progetto non è limitato all’accensione di un led ed al suo lampeggio probabilmente avrai necessità di almeno una shield arduino, un esempio è il datalogger per realizzarlo ti occorre, oltre ad arduino, la RTC shield e la SD shield. Stesso discorso per un robot o un lampadario, ecc…
Ricerca dei sensori: se il tuo progetto dovrà interagire con l’ambiente esterno avrà di certo bisogno di sensori esterni con cui acquisire comandi, posizione, misure, ecc.. La scelta dei sensori è importante sia per il tipo di dato che devi rilevare sia per la compatibilità con gli altri sensori presenti nel progetto. Per esempio se hai un sensore che rileva la distanza da 4cm a 30cm mediante infrerossi ( IR ) ed una precisione del +/- 10% potrai rilevare 30cm anche se l’oggetto è ad una distanza tra i 27 ed i 33 cm. Allo stesso modo se scegli due sensori che comunicano con Arduino con il medesimo sistema dovrai verificare che non siano in conflitto l’uno con l’altro;
Ricerca degli attuatori: gli attuatori possono essere motori in corrente continua ( CC ), motori passo-passo, servo motori, led, buzzer, relè, ecc.. ossia tutti quei componenti il cui controllo ha effetto sul progetto. Siccome spesso gli attuatori sono controllabili attraverso delle shield dovrai verificare che siano compatibili con le shield scelte e non in conflitto con altri attuatori presenti nel tuo progetto.
Ricerca delle librerie software: le librerie software costituiscono un validissimo aiuto per semplificare il codice dei tuoi progetti, se il tuo progetto arduino coinvolge più shield o sensori che richiedono l’uso di librerie è possibile che le librerie scelte vadano in conflitto utilizzando gli stessi pin, o gli stessi segnali presenti su arduino. E’ importante quindi scegliere componenti del progetto che usino librerie compatibili tra loro.
E’ importante sapere che più è accurata questa fase del tuo progetto arduino, minore sarà la possibilità di fallire o dover rinunciare.
Inizia a scrivere lo sketch del progetto
Finalmente metti mano al codice 🙂
Il mio consiglio è testare lo sketch dei singoli sensori per renderti conto di quali valori ti restituiscono, come funzionano e se il loro comportamento è simile a quello che ti aspetti.
Il test del singolo sensore ti evita di incorre nei problemi che possono sorgere per incompatibilità di cui non ti sei accorto nella fase precedente.
Certo che ogni singolo sensore si comporta in modo corretto, inizia a scrivere un o sketch che integri tutti i sensori, librerie e attuatori previsti dal progetto arduino.
Verifica che i valori restituiti siano ancora simili a quelli che ti aspetti e che nessun componente crei malfunzionamenti negli altri.
Test del progetto
La fase di test è molto importante, prima di ritenere il progetto pronto per essere utilizzato puoi eseguire una fase di test prolungata durante la quale monitorare sia il corretto funzionamento generale sia i valori di temperatura, alimentazione ed eventuali bug software imprevisti nella fase di progettazione.
Alimentazione e messa in produzione
Il tuo progetto arduino è pronto per operare senza il collegamento al computer, puoi staccarlo e alimentarlo con una fonte esterna tra i 7 e i 12v con sufficiente Corrente per supportare il carico che hai misurato nella fase di test.
Se è un progetto alimentato con batterie è necessario che queste ultime siano in grado di reggere il progetto in funzione per il tempo previsto, penso ad esempio al Dolly Photo se vuoi fare foto per 8 ore dovrai procurarti una fonte di alimentazione in grado di erogare i 12v per le 8 ore di lavoro.
Ora hai una base di informazioni in più con cui affrontare il tuo prossimo progetto arduino.
Buona realizzazione !!!
17 commenti
Vai al modulo dei commenti
Vorrei aggiungere una cosa.
È molto importante durante la fase di sviluppo ed integrazione dei diversi pacchetti che gestiscono le varie parti del SW ed anche durante il testing, aggiungere nel codice molte flags che stampano su seriale quello che il SW stesso sta facendo perché, nel caso ci sia un problema, questo aiuta a capire come risolverlo.
Una volta sviluppato e testato il SW, tutte le flags possono essere rimosse perché ormai non piú utili.
Alberto
Autore
Ottima osservazione Alberto 🙂
Mauro
Buona sera ,trovo le sue osservazioni giuste e interessanti. Sono da sempre appassionato di aereonautica e il mio “sogno progetto” riguarda la costruzione amatoriale di un simulatore di volo.Sono convinto che arduino possa aiutarmi.
Il primo passo? La costruzione di una cloche usando un accelerometro interfacciato con arduino.Il problema riguarda pero’ il riconoscimento da parte del programma di simulazione di volo. Come verrebbe riconosciuta la cloche ? Forse richiamando qualche api di windows ?
Grazie.
Mirco C.
Autore
Ciao Mirco,
arduino può aiutarti a fare molte cose come leggere i sensori e trasferire i dati al simulatore.
C’è un motivo specifico per cui vuoi utilizzare un accellerometro per la cloche invece dei classici potenziometri?
Mauro
Mi scuso per il ritardo e ti ringrazio per la risposta.
Vero, basterebbero due potenziometri per la cloche….ma il problema (per costruirne una fedele il più possibile), implica una costruzione meccanica non semplice. Si possono usare joystick modificati, ma il risultato con uno stelo di 30/35 cm. (come già sperimentato) non è dei più felici…. Per questo la soluzione accelerometro, con stelo della cloche che si appoggia magari… su una molla discretamente rigida e bloccata di n..°, consentirebbe il movimento a 360° con una meccanica semplicissima.
Una cosa che mi piacerebbe capire è come il pc riconosca il tutto come un joystick a più pulsanti…
Ti saluto e buona serata.
Mirco.
Autore
Ciao Mirco,
comprendo la scelta dell’accellerometro.
In merito al riconoscimento da Pc puoi procedere in due direzioni:
1. con arduino uno e un wrapper software lato Pc scritto da te che interpreti i comandi che giungono via seriale da arduino e li trasferiscono al software, una dorata di driver;
2. usi arduino Leonardo che il Pc vede già come una periferica ( mouse o tastiera) e con le sue librerie puoi simulare un mouse, certo il simulatore deve prevedere l’uno del mouse per essere controllato.
Trovi nel blog degli articoli sulla Leonardo.
Mauro
Ok ! Mauro, nel dubbio mi sono ordinato una Leonardo, tutti i simulatori di volo prevedono l’uso di tastiera e mouse, quindi in teoria….Se riesco nell’impresa con calma ( Se sei d’accordo), posto il tutto.
Intanto mi documento sulla Leonardo, penso che dovrò comunque disturbarti ancora.
Ciao.
Mirco.
Autore
Ciao Mirco,
scherzi ?!?! sarei contentissimo di pubblicare il tuo progetto una volta ultimato 🙂
Mauro
Ciao Mauro, mi rifaccio sentire per chiedere il tuo parere sulla programmazione di un ATMEGA8.
(Il progetto accelerometro per il momento lo iberno…) Ci sono problemi con l’inclinazione !!!!!
Visto che sciupare arduino per farne un Joystick mi sembrava un sacrilegio….ho deciso di costruirne uno a basso costo con una millefiori che possa ospitare anche i relativi comandi per il simulatore. Nello specifico un ATMEGA8-pu, con quarzo esterno (8MHz) e interfaccia usb.
Esiste in internet un ottimo progetto (dal sito FlightSim.Com How To: Build A USB ) con tanto di programmatore AVR seriale e con ide ponyprog. Tutto sembrava Ok…. Il chip veniva riconosciuto e programmato, ma quando lo collego al pc sulla porta USB, compare il messaggio di: “Periferica non riconosciuta….”
Solo in un secondo momento mi sono accorto che vanno anche settati i fuse bits !!!!!
Non sono sicuro che dipenda da questo, forse è un errore del programma oppure è sbagliato qualcosa sui componenti dell’interfaccia USB.
Mi sapresti indicare quali FUSE spuntare per un ATMEGA8-pu.
Ti ringrazio anticipatamente..
Mirco.
Autore
Ciao Marco,
purtroppo non so aiutarti la tua interfaccia è oltre le mie conoscenze ed esperimenti.
Ti consiglio di rivolgerti all’autore del progetto che hai seguito per avere le info che ti occorrono.
Lascio cmq in rete questo commento perchè se qualcuno avesse qualche info che può aiutarti possa dartela rispondendo al tuo commento.
Salve a tutti la mia professione e’ il progettista meccanico pur non essendo un ingegnere, sono nato in un officina e la passione nella meccanica e’ totale. Non so se sono fuori luogo ma mi chiedo se una professionalita’ come la mia può far parte di qualche progetto. Vorrei capire meglio come funziona questo sistema che mi incuriosisce. Un mio progetto da sviluppare magari con qualche azienda e’ la realizzazione di una macchina trincia erba per grosse pendenze completamente telecomandata e di modeste dimensioni, un evoluzione di questo e di creare la macchina che dopo aver fatto magari una scansione del terreno riesce in autonomia a renderlo pulito. Questa idea nasce da un problema che c’e in zone collinari particolarmente pendenti, qualcosa di simile già c’e ma con dimensioni molto maggiori. Mi chiedo se un idea come questa è per voi una cosa banale oppure no. Mi farebbe piacere far parte di un progetto di sviluppo, al di là dell’idea appena citata, sempre naturalmente se una figura come la mia può dare un contributo a chi ne ha bisogno.
Cordiali saluti,
Autore
Ciao Stefano,
pubblico il tuo annuncio e la tua idea perchè altri appassionati possano unirsi a te, se qualcuno è interessato posso aiutarvi sia nel progetto sia a mettervi in contatto.
Mille grazie un saluto
Buon Pomeriggio
sono Gianluca,un ragazzo della scuola industriale di Cassino. Ho visto che sa lavorare molto bene con arduino. Sto notando molta difficoltà per il funzionamento di un sensore . Mica gentilmente potrebbe darmi una mano? Chiedo scusa ma i tempi sono abbastanza stretti.
La ringrazio e attendo sue notizie
Autore
Ciao Gianluca,
quale sensore, se lo conosco e l’ho provato ti aiuto volentieri.
Complimenti Prof Mauro..ti seguo da tanti anni, forse questo ‘post mi appartiene’..
Infatti nel cassetto ho chiuso un Udoo e Arduino Uno starter kit.. con la speranza che in futuro..!!!
Autore
Ciao Antonio,
grazie per il “Prof” ma io non lo sono .. mi piace sperimentare e scrivere quello che provo.