Arduino Uno R3 è diventato il mio “antidoto” per lo stress da lockdown. Mentre la gente si scanna sui social inveendo contro i politici, i vicini, quello che è in giro con il cane, quelli che non non rispettano la quarantena e via dicendo, io ho scelto di “staccare” la spina da tutto e darmi alla cucina, alla programmazione e ovviamente tornare unire la seconda ad un piccolo hobby che ho voluto sempre coltivare ma non ho mai realmente iniziato: l’elettronica per l’automazione.
Un po’ è nato tutto (come ho detto giorni fa) per colpa di Claudio Capitani e la tesi di Mau Kahindra, un po’ ci sono le pazzie di Luca Buzzi con i suoi “androidi da palco” e altre amenità con Arduino come base, ma parlando con loro mi è solleticata l’idea di unire l’utile al dilettevole in un momento di calma piatta dove nel contempo portavo avanti le lezioni Ifoa di C# con .Net Framwork su Zoom.
Arduino è una piattaforma hardware composta da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata nel 2005 da alcuni membri dell’Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per scopi hobbistici, didattici e professionali. Il nome della scheda deriva da quello del bar di Ivrea frequentato dai fondatori del progetto, nome che richiama a sua volta quello di Arduino d’Ivrea, Re d’Italia nel 1002.
(Wikipedia)
Arduino è appunto un progetto open-source completamente italiano che ha conquistato tutto il mondo, tanto che esistono tanti piccoli sensori e attuatori sviluppati apposta per essere facilmente compatibili anche con i suoi standard, è facilmente programmabile con poche nozioni di C/C++ e soprattutto tutto ha un costo molto contenuto che si presta perfettamente a piccole ma molteplici progetti spendendo pochi Euro.
Essendo la prima esperienza con questo tipo di microcontrollori ho scelto di prendere un kit intermedio della Elegoo, un buon compromesso per avere qualche sensore ed attuatore a disposizione senza però spendere troppo. Tutto sommato a volte è più conveniente prenderli sfusi e secondo esigenza una volta chiaro il progetto. Certo, dover aspettare magari un mese dalla Cina magari è un po’ una rottura, ma il portafoglio sicuramente ringrazia!
Oltre alla scheda Arduino Uno R3, relativi cavi per programmazione/alimentazione e il CD con istruzione e progetti, nella scatola ci sono altre piccole chicche. La più importante per me è la breadboard lunga con i relativi jumper, un tuffo nel passato di quando smanettavo componenti nelle poche ore di laboratorio di elettronica all’ITIS Galvani. Immancabili le varie resistenze di diversi Ω, 25 LED di 5 colori diversi, qualche pulsante e due sfiziosi LED RGB. Tra i sensori c’è un piccolo assortimento tra temperatura, luce, suono ed infrarossi, contrapposti ad attuatori come un motore passo-passo, un servo-motore, buzzer e anche tre versioni di display tra segmenti e LCD.
Amazon, Wish ed Ebay sono stati proficui per alcuni acquisti extra, a partire dal breadboard holder per assicurarmi di appoggiare la scheda e la breadboard in maniera sicura e stabile, ad un mini set di cacciaviti da smartphone con relative pinzette antistatiche, un Arduino Uno Case e soprattutto un il controller remoto wireless IC2262/2272 a 4 chiavi. Reperto storico invece il multimetro digitale di mio papà, tutt’ora perfettamente funzionante! Altre tre/quattro amenità sono in viaggio, ma considerando il prezzo irrisorio posso benissimo attendere il loro arrivo.
Ovviamente, ora che la prima parte di materiale è stata consegnata, iniziano le prove pratiche. In questo periodo di attesa ho studiato la teoria che sottende ad Arduino e come interfacciarlo con un PC Windows tramite programmi C# con Windows Form, usando le possibili trasmissioni cablate o wireless messe a disposizione dalle componentistiche più semplici di questo sistema. Ovviamente ora c’è da scrivere codice che, se ormai inizio ad entrare a pieno nella OOP grazie al corso Ifoa, ho ancora molto da imparare dalle possibili librerie messe a disposizione da Microsoft per fare pian piano progetti più reali e utili, legando la scheda con computer, tablet o smartphone compatibili con .Net Core.
Il primo obbiettivo sarà quello di pilotare semplicemente un led facendo “parlare” il PC con Arduino. L’idea è quella di creare una piccola app con Visual Studio ben strutturata per sfruttare le conoscenze di programmazione fino a qui imparate, ripassarle e nel contempo provare a creare classi riutilizzabili per progetti futuri , così come dovrebbe essere nella realtà. Il secondo sarà quello di integrare Arduino IDE in Visual Studio per poter sviluppare app e sketch con la stessa IDE e avere un debug più performante. Vedremo poi come riuscirò a far evolvere passo passo i singoli progetti inutili in qualcosa di sensato e ben congeniato.
Ed ora si torna “sui banchi” a studiare le basi di Arduino, dell’elettronica di base necessaria a non bruciarlo grazie a Claudio Capitani … e ovviamente C# per pilotarlo! E poi lunedì si inizia a studiare con il prof. Manneschi il Data Binding con SQL Server … chissà cosa potrò inventarmi interfacciando un DB con Arduino … magari dovendo passare ad un Arduino Mega per non fargli scoppiare la memoria!!