programmare con arduino – le basi · 2018. 11. 5. · inizio, con questo primo articolo, a...

24
(http://www.mauroalfieri.it) Programmare con Arduino – le basi By Mauro Alfieri (http://www.mauroalfieri.it/author/mauro) in Elettronica (http://www.mauroalfieri.it/category/elettronica), Informatica (http://www.mauroalfieri.it/category/informatica) 4 luglio 2011 Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha grande conoscenza e dimestichezza con l’elettronica ma sente la necessità di approfondire la conoscenza della programmazione. Come sappiamo Arduino è un prodotto incredibile, versatile e multiuso sopratutto perchè programmabile semplicemente. Nello scorso articolo abbiamo preso confidenza con la barra degli strumenti dell’IDE di sviluppo: (http://www.mauroalfieri.it/wp- content/uploads/2011/06/UploadButton.png) Barra degli strumenti dell IDE Arduino Apriamo quindi il nostro IDE, io lo utilizzo su un MacBook:

Upload: others

Post on 11-Sep-2020

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

(http://www.mauroalfieri.it)

Programmare con Arduino – le basiBy Mauro Alfieri (http://www.mauroalfieri.it/author/mauro) in Elettronica(http://www.mauroalfieri.it/category/elettronica), Informatica(http://www.mauroalfieri.it/category/informatica)4 luglio 2011

Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e chepossano aiutare chi ha grande conoscenza e dimestichezza con l’elettronica ma sente lanecessità di approfondire la conoscenza della programmazione.

Come sappiamo Arduino è un prodotto incredibile, versatile e multiuso sopratutto perchèprogrammabile semplicemente.

Nello scorso articolo abbiamo preso confidenza con la barra degli strumenti dell’IDE di sviluppo:

(http://www.mauroalfieri.it/wp-content/uploads/2011/06/UploadButton.png)Barra degli strumenti dell IDE Arduino

Apriamo quindi il nostro IDE, io lo utilizzo su un MacBook:

Page 2: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

(http://www.mauroalfieri.it/wp-content/uploads/2011/07/IDE-Arduino.jpg)IDE Arduino primo sketch

in automatico, l’ide, ci suggerisce il nome del nostro primo programma, i programmi chescriveremo si chiamano sketch per cui li chiamerò indifferentemente programmi o sketch neiprossimi articoli; il nome che ci propone è semplice: sketch_jul04a ( programma, _, mese correntejul, giorno corrente 04, lettera del programma a in quanto è il primo della giornata, i prossimisaranno b, c, d, … z ).

Per il resto il nostro foglio è vuoto, ma non farti prendere dal blocco del programmatore difronte aun listato tutto da iniziare, vediamo un po’ di sintassi utile:

Page 3: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Comando Significato

//Commento monoriga es.: // Ilmio primo programma perArduino

/*

Apertura commento multiriga;

es.:

/*

* Questo è il mio primo

* programma per Arduino

*/

*/Chiusura commento Multiriga;es.: vedi sopra

void

dichiarazione di funzionesenza ritorno, ossia lafunzione esegue delleoperazioni ma non restituiscealcun valore dopol’elaborazione

setup()funzione base (obligatoria) di

ogni programma Arduino

loop()funzione base (obligatoria) diogni programma Arduino

int

dichiarazione di variabile ditipo integer (intero); utilizzatoanche per dichiarare lefunzioni che restituisconovalori interi

pinMode(pin,mode)

funzione di configrazione di unpiedino Arduino, in modo chesia utilizzabile come INPUT ocome OUTPUT

digitalWrite(pin,level)

invia un comando di output sulpiedino selezionato (pin) ditipo digitale, pe cui 0 o 1; insostituzione dello 0 e dell’1 sipossono utilizzare le costantiLOW (0) e HIGH (1)

delay(second)

funzione utile per introdurre undalay (attesa) tra unaistruzione e la successiva, ilparamero second è esperessoin millesimi di secondo.

Ora che conosci i primi comandi possiamo passare a realizzare il primo programma, moltosemplice, l’obiettivo è far lampegguare il led presente su Arduino con un intervallo di un secondo,questo ti permetterà di prendere confidenza con l’ide, provare subito un programma di esempio e

Page 4: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

collaudare la scheda Arduino che hai appena acquistato.

Passiamo al programma:

Descrizione del listato:

linee 1-8: contengono un commento iniziale, multiriga, che spiega ciò che il programma farà, èutile anche a chi lo ha scritto per ricordarsi cosa intendesse fare senza dover leggere tutto ilcodice. L’ultima linea (07) contiene una frase in stile open-source che lascia chiunque libero dipoter utilizzare il codice, modificarlo o diffonderlo. Ritengo che dato lo spirito di Arduino sia correttoriportarla sempre.

linea 10: definisco una nuova variabile di tipo intero (integer) ledPin il cui valore sarà il pin chedesidero utilizzare per far lampeggare il led, siccome Arduino ha già collegato al pin 13 un led conla dovuta resistenza di protezione ho utilizzato quello come pin per il mio programma; una breveparentesi sulle variabili, a volte indispensabili, altre volte meno, in ogni caso alleggeriscono lemodifiche dei programmi: se ad esempio in un secondo momento volessi collegare un led erelativa resistenza ad un altro pin di Arduino, ad esempio il pin 12, non dovrei far altro che variareil valore assegnato a ledPin da 13 a 12.

linee 12-15: definisce la funzione setup(), la prima delle funzioni obligatorie per arduino, quandoArduino inizia ad eseguire il programma caricato, cerca setup; in questa funzione puoi inserire ledefinizioni necessarie al programma, ad esempio definire che il pin 13 sarà utilizzato come pin ditipo OUTPUT, alla linea 14 con il comando pinMode indico ad Arduino di utilizzare ledPin ( inquesto caso 13 ) come pin di OUTPUT. Nota che tutte le definizioni interne alla funzione setup()sono racchiuse tra parentesi graffe ( {} linea 13 e 15) questa sintassi è identica per tutte le funzioniche vedremo, da cui possiamo dire che una nuova funzione sarà definita con la sintassi: definizione_di_funzione nome_funzione( eventuali parametri ) { … istruzoni e definizioni … } void setup() { pinMode( ledPin,OUTPUT ); }

linea 17: definisco la seconda funzione obligatoria per Arduino loop, anche questa funzione nonprevede la restituzione di alcun valore, per cui può essere dichiarata di tipo void e non attendeparametri in input. Arduino eseguirà di continuo per tutta la durata del programma questafunzione.

0102030405060708091011121314151617181920212223

/*LampeggioAccende e spegne il led collegato al piedino 13di Arduino con un intervallo di un secondo,ripetutamente. Questo programma è di dominio pubblico.*/ int ledPin = 13; // LED connesso al pin 13 void setup(){pinMode(ledPin, OUTPUT); // imposta il pin come output} void loop(){digitalWrite(ledPin, HIGH); // accende il leddelay(1000); // attende un seconso (1000 millisecondi)digitalWrite(ledPin, LOW); // spegne il leddelay(1000); // attende un secondo prima di ripartire}

Page 5: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

linea 19: utilizzo il comando: digitalWrite impostandogli il pin 13 a livello logico alto. il comandodigitalWrite accetta due parametri: il pin e il valore da inviare, in particolare siccome è un comandodi tipo digitale potrai utilizzare come valore per il secondo parametro solo 0 o 1, anche nellanotazione LOW o HIGH, se avessi avuto bisogno di inviare valori differenti al mio pin avrei dovutoutilizzare un altro comando come ad esempio: analogWrite.

linea 20: utilizzando il comando delay e passando come parametro 1000 in millisecondi ottengouna pausa di un secondo prima che Arduino esegua il comendo presente alla riga successiva.

linea 21: utilizzando nuovamente il comando digitalWrite imposto a 0 ( o LOW ) il valore del pin 13,ottenendo lo spegnimento del led.

linea 22: attendo un secondo prima di fargli rieseguire tutto il blocco contenuto nella funzione loop.

Non resta che cliccare sul bottone (http://www.mauroalfieri.it/wp-

content/uploads/2011/07/test_sintassi.png) per eseguire un test di sintassi del nostro programma,se il test risulta corretto e non ci sono errori di sintassi leggeremo in basso un messaggio di ok el’indicazione del peso in byte del nostro programma. Inviamo il nostro programma ad Arduino, utilizzando il pulsante di upload: (http://www.mauroalfieri.it/wp-content/uploads/2011/07/upload.png)

Il risultato sarà quello mostrato nel video:

Cortesemente, prima di inserire i commenti leggi il regolamento(http://www.mauroalfieri.it/regolamento.html)

Arduino Tutorial 1

You may also like:

Corso ArduinoGratuito con

Halloween Pumpkin- Mauro Alfieri

RTC DS1307 conarduino - Mauro

macchine da cucireArchives(http://www.mauroalfieda-cucire/nggallery/thumb

Page 6: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Permanent link to this article: http://www.mauroalfieri.it/informatica/programmare-con-arduino-le-basi.html

72 comments

2 pings

Skip to comment form

Tinkercad - MauroAlfieri TutorialElettronica(http://www.mauroalfiearduino-gratuito-con-tinkercad.html)

Elettronica DomoticaRobotica Elettronica(http://www.mauroalfiepumpkin.html)

Alfieri - Elettronica -Robotica(http://www.mauroalfieds1307.html)

Sound of Wander2018 - Mauro AlfieriElettronica DomoticaRobotica Senzacategoria(http://www.mauroalfiecategoria/sound-of-wander-2018.html)

Attiny85 mini PIRsensor - MauroAlfieri ElettronicaDomotica RoboticaElettronica(http://www.mauroalfiemini-pir-sensor.html)

Partitore diresistenze o partitoredi tensione - MauroAlfieri(http://www.mauroalfiedi-resistenze.html)

Raspberry RAID5mdadm - MauroAlfieri Raspberry PiLinux(https://www.mauroalfraid5-mdadm.html)

arduino (http://www.mauroalfieri.it/tag/arduino), IDE di sviluppo(http://www.mauroalfieri.it/tag/ide-di-sviluppo), led (http://www.mauroalfieri.it/tag/led), ledlampeggiante (http://www.mauroalfieri.it/tag/led-lampeggiante), sintassi arduino(http://www.mauroalfieri.it/tag/sintassi-arduino), sketch(http://www.mauroalfieri.it/tag/sketch), tutorial (http://www.mauroalfieri.it/tag/tutorial),video del tutorial (http://www.mauroalfieri.it/tag/video-del-tutorial)

(http://www.mauroalfieri.it/author/mauro)

Mauro Alfieri (mailto:[email protected])

Cristian on 20 febbraio 2013

Page 7: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Ciao, mi chiamo Cristian, mi è bastato leggere le prime righe della tua guida su arduino per volerti subito ringraziare! Abito a Bergamo, lavoro a Milano e sono appassionatissimo di domotica. Non so come e perché ma mi è frullato per la testa di integrare nel mio sistema anche arduino. Attualmente il mio sistema domotico è basato su delle schede I/O che colloquiano con il server (su cui gira homeseer un programma di gestione domotica). Queste schede sono collegate tramite ethernet ed utilizzando il protocollo xAP. Inizierò a studiarmi le tue lezioni perché come hai scritto riesco a gestire la parte elettronica ma sono completamente a digiuno di programmazione. La mia idea sarebbe quella di realizzare dei moduli con arduino da mettere in ogni stanza in modo da non dover tirare cavi per ogni segnale I/O come faccio ora (cavo per l’interruttore, cavo per il carico luce, televisore, tapparelle ecc.). Sarebbe bello avere arduino ad esempio in camera da letto che gestisse ingressi ed uscite da collegare semplicemente al server con cavo di rete…

Beh, ancora complimenti!

Grazie

Cristian

Mauro Alfieri (http://www.mauroalfieri.it) on 20 febbraio 2013 Author

Grazie Cristian, è per aiutare tanti appassionati come te che ho iniziato a scrivere questo Blog.

Mauro

Federico on 19 marzo 2013

Salve !! Innazitutto mi complimento per la fantastica iniziativa, c’è sempre bisogno divolenterosi e benevoli insegnanti !! Sto per acquistare anche io un arduino uno R3 macome uso fare prima di spendere voglio provare e capire bene. Ciò mi porta ad unasituazione imbarazzante….. Ho scaricato l’IDE e leggendo il tuo manuale ho iniziato adigitare le prime lettere di testo int ledPin = 13 ecc. ma non mi è ben chiaro come fare leparentesi graffe !!!! Alchè ho iniziato a dubitare che riuscirò a produrre un programma tuttomio…….. non è che potresti aiutarmi a capire come inserire sti codici ??

Mauro Alfieri (http://www.mauroalfieri.it) on 20 marzo 2013 Author

Page 8: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Ciao Federico, il tuo problema mi sembra di natura informatica. Non scoraggiasti le parentesi graffe si fanno con una combinazione di tastidifferente tra Win/Mac/Linux tu cosa usi?

Se cerchi su google “parentesi graffe su Mac” sostituendo a Mac il termineWindows o linux sono certo gennaio troverai la ohm inazione che ti occorre.

Forza forza forza … Non disperare

Mauro

Federico on 20 marzo 2013

In effetti mi è bastato chiedere a mia nipote e dopo aver riso mezz’ora della mia deficienzami spiegato che per W7 si deve premere contemporaneamente Ctrl+Alt+Shift+ paretesiquadra !! Fatto questo ho proseguito con gli esercizi !! Ti ringrazio ancora per quello chefai, continua così !! A presto(spero con un mio progetto), Federico.

Mauro Alfieri (http://www.mauroalfieri.it) on 20 marzo 2013 Author

Ciao Federico, prossimamente organizzerò un corso Base a Milano, se sei interessato continuaa seguirmi.

Mauro

Federico on 21 marzo 2013

Se sono libero partecipo di sicuro !!! Il fatto è che tra meno di due mesidiventerò papà quindi fai presto !!!

Mauro Alfieri (http://www.mauroalfieri.it) on 22 marzo2013

Author

Corro congratulazioni !!!

Ivan Bortolin (http://www.ivanbortolin.it) on 16 luglio 2013

Ottimo tutorial, ora passo alle puntate successive!

Page 9: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Mauro Alfieri (http://www.mauroalfieri.it) on 17 luglio 2013 Author

Grazie Ivan, buono studio.

davide on 30 ottobre 2013

ciao sono davide, eeeeeeeh…vorrei farti eeeeh i compimenti per questa eeeh guida sei davvero eeeh volgliodire…eeeeh (?) il mio mito eeeeh ciao. davide!

Mauro Alfieri (http://www.mauroalfieri.it) on 30 ottobre 2013 Author

eeeeh grazie !!!

Mauro on 6 dicembre 2013

Ciao Mauro,

Innanzitutto complimento per l’egregio lavoro fatto con il corso per Arduino senza il qualeio potrei solo conoscere le potenzialità, senza sperare di applicarle intendendomi dielettronica ma quasi niente di programmazione (unica esperienza con il basic delcommodore ). Tuttavia ho un dubbio: le schede aggiuntive di arduino sono semprecompatibili con le versioni successive ? Cioè ad una scheda Arduino Due, ad esempio,posso applicare schede e sensori compatibili con Arduino Uno, Duemilanove o Diecimila ? Grazie per la delucidazione.

Mauro

Mauro Alfieri (http://www.mauroalfieri.it) on 6 dicembre 2013 Author

Ciao Mauro, grazie per i complimenti. Ti invito a leggere bene le caratteristiche delle board arduino che utilizzi prima diimpiegarle in un progetto, dipende da ciascuna scheda e sopratutto dalla shield,in generale non sono sempre compatibili. Ad esempio l’Arduino due ha tutti i pin funzionanti a 3,3v per cui le shield chefunzionano a 5v rischiano di bruciarti l’arduino due.

Mauro

Page 10: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Francesco on 12 dicembre 2013

Grazie, grazie, grazie… Ho una grande voglia di imparare ad utilizzare arduino ed il tuo blog è il posto giusto. Complimenti.

Mauro Alfieri (http://www.mauroalfieri.it) on 12 dicembre 2013 Author

Grazie Francesco.

Riccardo Matta on 6 gennaio 2014

Congratulandomi per il tuo impegno per la formazione nel modo dell’elettronica vorreiportare la mia testimonianza la quale comprende la programmazione in assembler neiprimi anni 90 della serie ST6 (quello con la finestrella per cancellare la Eprom con gliultravioletti) per poi passare ai Microchip(quello che uso di più il 18f4550) programmatospecialmente con compilatori della Mikroelettronica. Ora però dopo una certa riluttanza stodando uno sguardo ad arduino (mi intriga che l’idea sia venuta ad un italiano e non a unamericano o cinese). Tutto questo non per raccontare la mia vita di appassionato di elettronica ma per chiedertise secondo te in questo passaggio sto andando a guadagnarci o mi troverò difronte ad unimpoverimento delle risorse a disposizione (penso per esempio a tutte le librerie che ho adisposizione su Mikroe).

Mauro Alfieri (http://www.mauroalfieri.it) on 6 gennaio 2014 Author

Ciao Riccardo, complimenti a te per il passato da elettronico specialista Io ho ritrovato la mia passione per l’elettronica con Arduino ed ho scoperto ilmondo, anche se prima di arduino conoscevo pochissimo di elettronica daautodidatta. Posso senza dubbio dirti che troverai una community grandissima e con grandedisponibilità alla condivisione di librerie e tutorial per questa piattaforma diprototipazione.

Dal background culturale che hai dubito troverai difficoltà a contribuire qualora lerisorse a tua disposizione fossero inferiori alle attese.

Mauro

Page 11: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Luigi on 28 settembre 2014

Salve ho dato una lettura veloce ai suoi tuorial e non posso fare altro che complimentarmiper la chiarezza e la semplicità con cui sono sviluppati. Mi sto avvicinando a questo fantastico mondo, ho programmato in passato per viadell’università in visual basic, quindi ho qualche nozione in merito, ma sonocompletamente digiuno in termini di elettrotecnica ed elettronica. Saprebbe consigliarmi delle giude o dei tutorial con cui iniziare? Vorrei seguire degli stepssensati, ed apprendere nozioni passo per passo, seguendo un percorso che sia uncrescendo perchè sono dell’idea che troppe info tutte insieme creano solo confusione. Sentitamente la ringrazio, e rinnovo i miei complimenti. Luigi

Mauro Alfieri (http://www.mauroalfieri.it) on 1 ottobre 2014 Author

Ciao Luigi, hai già seguito il mio corso online GRATUITO su elettronica edarduino?

Filippo Paniccia on 7 ottobre 2014

Salve, sono un neofita,completamente digiuno di elettronica, ma mi piace l’idea di poterfare qualcosa con Arduino, per cui dopo aver scoperto il tuo sito, ho iniziato a muovere iprimi passi. Ho terminato il primo programma, per il blink del led, dopo qualche correzione hoterminato il programma, ma non riesco a sbloccare il seguente messaggio di errore“avrdude: stk500_getsync() not in sync: resp=oxoo. mi sai dire che cosa significa? Grazie in anticipo ed ancora complimenti per sito, è utilissimo.

Mauro Alfieri (http://www.mauroalfieri.it) on 8 ottobre 2014 Author

Ciao Filippo, bene, sono contento che ti sia stato utile il mio corso arduino. Il messaggio si riferisce ad un errore di comunicazione con la scheda arduino, disolito si risolve scollegando e ricollegando arduino al pc. Ho anche scritto un articolo dedicato ai più comuni errori che si presentanoquando inizi con arduino.

Livio on 6 gennaio 2015

Page 12: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Buonasera Premetto di essere un po’ a digiuno per i micro controller Ai miei tempi non esistevano ancora , infatti oggi lavoro ancora tantissimo con circuiti logici La mia domanda che piattaforma di Arduino è consigliabile acquistare , diciamo periniziare Da principianti solamente per quanto riguarda la parte di programmazione , ma non per lhardware Cordiali saluti Livio

Mauro Alfieri (http://www.mauroalfieri.it) on 7 gennaio 2015 Author

Ciao Livio, io ti consiglierei un kit da un rivenditore ufficiale per essere sicuro di avere siaarduino uno sia il manuale con i primi passi da seguire.

Jack on 6 febbraio 2015

Ciao io mi chiamo Jack e ho 16 anni, nel programma hai selezionato come pin di uscita il 13 però si è acceso il led sulla schedamentre sul pin non hai collegato nulla, volevo sapere perchè si accende quel led, e poiun’altra cosa: che differenza c’è tra scrivere int ledPin = 13; e #define LED 13; grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 9 febbraio 2015 Author

Ciao Jack, sull’arduino è presente un led, denominato “L” connesso al pin 13. E’ il led “L” chehai visto accendersi. Quando dichiari un pin con il metodo int ledPin = 13; fai uso di una variabile che impegna 2 byte di memoria; Quando usi: #define ledPin 13; definisci una costante che non fa uso della memoria.

Page 13: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Se vuoi conoscere meglio i comendi arduino puoi leggere il reference sul sitoarduino in cui trovi ad esempio la spiegazione della define: http://arduino.cc/en/Reference/define (http://arduino.cc/en/Reference/define)

luciano on 7 marzo 2015

Ciao ho partecipato al primo corso su Arduino mi è piaciuto tantissimo ma come pensavola programmazione è l’ostacolo piu’ duro visto che la mia preparazione scolastica di moltotempo fa è delle medie. Comunque ho decisi di iscrivermi al corso due del 20/03/2015. ciao Luciano.

PS mi consigli una buona lettura sul tema!

Mauro Alfieri (http://www.mauroalfieri.it) on 9 marzo 2015 Author

Ciao Luciano, mi fa piacere che tu mi abbia scritto, denota che non vuoi mollare alla primadifficoltà e questo va premiato. Come lettura io ti consiglio di leggere il corso arduino gratuito presente nel blog,troverai molti argomenti approfonditi in aula e potrai rileggerli tutte lo volte che lodesideri. Ho realizzato il Blog anche con lo scopo di fornire un supporto extracorsi in aula. In ogni caso se prima del corso del 21/03/2015 se vuoi chiedermi dei chiarimentisugli articoli del corso base che leggi, usa pure i commenti io provo a rispondertiquanto prima. Mauro

Massimo on 11 maggio 2015

Sto iniziando da poco e ho seguito la tua prima lezione e devo farti veramente icomplimenti per come riesci a rendere chiara la Lezione .Grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 12 maggio 2015 Author

Grazie Massimo.

Lucio Quadri on 11 giugno 2015

Page 14: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

complimenti vivissimi per il lavoro della MADONNA che stai facerndo il tuo sito e gli argomenti trattati (arduino) mi sono di grande aiuto … ho preparazione tecnica elettronica del … 1979 … secolo, anzi millennio scorso … migrata ad informatica nel 1981 … ( quando avevo ancora i capelli .. ) adesso riesco a congiungere i due “saperi” grazie ai tuoi articoli GRAZIE

Mauro Alfieri (http://www.mauroalfieri.it) on 12 giugno 2015 Author

Grazie Lucio

Andrea on 23 luglio 2015

Ciao sono andrea ho 16 anni e ho appena iniziato ad interessarmi di robotica . Essendo unprincipiante non ho idea di quale scheda arduino comprare .. mi potrebbe dare unconsiglio ? PS le faccio i complimenti perchè pur essendo alle prime armi con la programmazione lesue parole mi fanno venir voglia di imparare… e si fidi non avviene spesso =)

Mauro Alfieri (http://www.mauroalfieri.it) on 24 luglio 2015 Author

Grazie Andrea, mi fido io inizierei con una Arduino Uno, la più diffusa e quella per la quale trovi il numeromaggiore di schemi,sketch ed esempi

Arrigo (http://www.fotoarrigo.com) on 29 luglio 2015

Ciao Mauro, mi chiamo Arrigo e già qualche volta sono ricorso ai tuoi preziosi consigli, ma prima debbofarti i complimenti per la dedizione CONTINUA (ebbene sì, l’ho gridato!) Molti tuoi articoli sono stati preziosi sia a me che a chi ha voluto cominciare a pasticciarecon me con questa scheda stupenda. Io avevo fatto qualcosa con i PIC e avevo la comodità di creare un eseguibile che poicaricavo anche su tre di seguito senza dover compilare. Posso fare lo stesso con arduino, c’è un trucco, qualsiasi cosa che mi permetta di nondover ricompilare? Per me sarebbe utile specialmente per il piccolo mini che ne uso quattro e tutti con lostesso programma (gichini da robot) e deve dire che è frustrante ad ogni modifica dover

Page 15: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

ricompilare quattro volte. Puoi gentilmente darmi una dritta? o dirmi anche così è e rimane (almeno mi tolgo ilpensiero) Ancora complimenti per i tuoi splendidi tutorial che ci hanno permesso di crescerenumerosi. Ciao

Mauro Alfieri (http://www.mauroalfieri.it) on 30 luglio 2015 Author

Ciao Arrigo, fino a qualche tempo fa era possibile solo sfruttando le caratteristiche delprogrammatore AVR, dalla vesione 1.6.4 hanno introdotto un sistema da linea dicomando per trasferire l’HEX direttamente nell’arduino con l’IDE stesso. Ti consiglio di leggere il mio articolo dedicato all’arrivo dell’IDE 1.6.4

Enzo on 17 settembre 2015

buon giorno Mauro,ti volevo chiedere mi puoi dare un listato di arduino nel quale “listatoaccensione di un led”il led si accende a un ora prestabilita e si spegne dopo un ora?oppure mi puoi dare un consiglio dove posso acquistare i listati?ti ringrazioanticipatamente,enzo

Mauro Alfieri (http://www.mauroalfieri.it) on 17 settembre 2015 Author

Ciao Enzo, chi si avvicina al mondo arduino e legge il mio blog lo fa con lo scopo di imparareda solo a scriversi i progetti ed i programmi. Per questo motivo ho creato anche un corso arduino on-line gratuito che puoileggere. Se invece desideri commissionarmi un progetto puoi trovare la procedura nellapagina “sostienimi” del blog.

Enzo on 18 settembre 2015

buon giorno mauro,non immaginavo mai una risposta cosi’ sollecita,tiringrazio,son i miei primi approcci con arduino,sono certo che cirisentiremo,leggero’ la procedura nella pagina “sostienimi”e ti faro’sapere,grazie.Enzo.

Page 16: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Enzo on 18 settembre 2015

ciao Mauro,eccomi a spiegarti il mio curriculum sono un ex elettronico,ho lasciato circa 30anni fa’,ho 2 figli che stanno nel campo dell’assistenza televisia ecc….che come tutti i figlinon hanno mai tempo x i genitori,ho 77 anni sono pensionato, ti vorrei chiedere in attesa diconoscere arduino meglio, ti pregherei (per regolarmi economicamente)del costo delprogetto xl’accensione di un led a un ora da programmare e rispegnerlo dopo un tempo daprogrammare,in attesa porgo sentiti saluti Enzo

Mauro Alfieri (http://www.mauroalfieri.it) on 18 settembre 2015 Author

Ciao Enzo, il progetto che hai in mente non è complesso, richiede solo un po’ di tempo dadedicargli. In questo periodo sono impegnato con la realizzazione di progetti personali eprofessionali almeno fino a fine ottobre, dopo tale data potrei dedicare qualchegiorno al tuo progetto. Ti chiedo la cortesia di scrivermi sulla casella info ( quella da cui ti arriva questarisposta ) in tale data.

enzo on 20 settembre 2015

ti ringrazio mi faro’ risentire a fine ottobre,buon lavoro

mirko zanellato on 26 settembre 2015

ciao ho provato a copiare e incollare il primo programma di esempio, riguardo al led del pin13, però nel test mi da questo errore: Arduino:1.7.7 (Windows 8.1), Scheda:”Arduino Uno”

sketch_sep26a.ino: In function ‘void setup()’:

sketch_sep26a.ino:21:6: error: redefinition of ‘void setup()’

sketch_sep26a.ino:1:6: error: ‘void setup()’ previously defined here

sketch_sep26a.ino: In function ‘void loop()’:

sketch_sep26a.ino:26:6: error: redefinition of ‘void loop()’

sketch_sep26a.ino:6:6: error: ‘void loop()’ previously defined here

Errore durante la compilazione

Page 17: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Questo report potrebbe essere più ricco di informazioni con “Mostra un output dettagliato durante la compilazione” abilitato in “File > Impostazioni”

Mauro Alfieri (http://www.mauroalfieri.it) on 28 settembre 2015 Author

Ciao Mirko, hai incollato il codice in uno sketch che già possiede la definizione delle funzionisetup() e loop(), per ogni sketch queste funzioni devono essere uniche. Lo puoi facilmente capire dal messaggio di errore:

sketch_sep26a.ino:21:6: error: redefinition of ‘void setup()’ sketch_sep26a.ino:1:6: error: ‘void setup()’ previously defined here

e dal medesimo per la loop():

sketch_sep26a.ino:26:6: error: redefinition of ‘void loop()’ sketch_sep26a.ino:6:6: error: ‘void loop()’ previously defined here

Marco on 24 novembre 2015

Buonasera, sono alle prime armi con arduino uno, vorrei creare dei blocchi di programmacioè mi spiego voglio che si accenda un led avendo però due ingressi alti cioè due pulsantipremuti in due porte d’ingresso separate. Come faccio? Spero in una risposta Saluti

Mauro Alfieri (http://www.mauroalfieri.it) on 25 novembre 2015 Author

Ciao Marco, nel blog ci sono numerosi articoli in cui la doppia condizione è utilizzata. Continua a leggere il corso base e imparerai a farlo.

antonio on 8 gennaio 2016

Ciao Marco, grazie per il tutorial che hai prodotto, molto semplice da capire. Utilizzo un arduino mega2560 collegato usb ad un mac, il programma viene caricato ma il led non esegue icomandi, non si accende né si spegne, da cosa può dipendere? Grazie

Page 18: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Mauro Alfieri (http://www.mauroalfieri.it) on 10 gennaio 2016 Author

Ciao Antonio, mi chiamo Mauro, ma va bene lo stesso. Le ultime versioni Arduino Uno, dalla R3 in poi, non hanno bisogno di driver suMac. Controlla nelle proprietà del mac se la scheda è stata riconosciuta tra leperiferiche USB.

Leonardo Menegatti on 23 aprile 2016

Buongiorno, le righe 01 a 08 e vanno tolte prima di caricare il codice da far eseguire allascheda ?

Mauro Alfieri (http://www.mauroalfieri.it) on 26 aprile 2016 Author

Ciao Leonardo, assolutamente no, i commenti sono ignorati dal compilatore.

Toni Ficarra on 1 maggio 2016

Buongiorno, complimenti, veramente interessante. Ho da sempre avuto una tendenza perla domotica ma, mai messa in pratica. Per essere conciso, come comincio? Compro da subito un kit? se si quale? Grazie e ancora complimenti.

Mauro Alfieri (http://www.mauroalfieri.it) on 2 maggio 2016 Author

Ciao Tony, non mi hai scritto che tipo di preparazione tu abbia, ti consiglio di iniziare dal miocorso on-line e successivamente potresti partecipare ad un percorso formativo inaula per approfondire le tue conoscenze su arduino.

Toni Ficarra on 5 maggio 2016

Page 19: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Ciao Mauro, scusa la carenza della presentazione; più che una preparazione, sono dasempre stato affascinato dall’elettronica, quindi, se non per un impianto elettrico (anche sefatto bene), sono digiuno. Per il corso online, sicuramente, appena trovo un po di tempo dapoterci dedicare, lo farò con estremo piacere (intendo un po di tempo senza averedistrazioni). Per il corso in aula credo che sia improbabile, vista la mia residenza in Sicilia in prov. diCaltanissetta. Lo frequenterei molto volentieri, nel caso ti decida a farlo nelle mie zone. Per quanto riguarda il kit, ti chiedevo informazioni circa il materiale che serve per metteresubito in pratica quello che si spiega, già da subito nelle lezioni. Credo che leggere esubito provare, sia il migliore metodo per assimilare meglio la teoria. Ti sarei grato se miindicassi un kit o, una lista di quello che occorre per le prime lezioni. Grazie e, con piacere, rinnovo i complimenti Toni Ficarra

Mauro Alfieri (http://www.mauroalfieri.it) on 6 maggio 2016 Author

Ciao Toni, puoi provare con il kit base arduino.cc ufficiale. Lo puoi acquistare sul sito ufficiale arduino.cc

marco on 16 settembre 2016

Ciao Mauro, sono ai primi passi nell’elettronica ma leggendo questo blog mi ha affascinatoe mi ha fatto pensare a tanti piccoli progetti da mettere in atto. il primo progetto nasce da una mia grande passione, la pesca, vorrei realizzare uncontapesci a batteria. l’oggetto dovrebbe avere una fotocellula che al passaggio di un pesce/oggetto incrementadi 1 il display, mi sembra che arduino sia proprio adatto a questo progetto, mi sapresti direquali componenti servirebbero per poter costruire questo fish counter?

grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 18 settembre 2016 Author

Ciao Marco, mi fa piacere leggere che ti sia appassionato leggendo il blog. Di sensori ne esistono moltissimi e tanti li ho descritti proprio in questo blog. Non essendo un esperto di pesca e non conoscendo il tuo progetto possosuggerirti di cercare nel blog il sensore più adatto, leggere e comprendere comecontrollarlo ed utilizzarlo per il tuo progetto.

Page 20: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

carlo on 19 settembre 2016

Salve, innanzitutto ci tengo a dirti che ritengo doveroso farti i complimenti per la bellissimaed utilissima tua iniziativa. Non so se riuscirò a spiegare bene quello che voglio ottenere, in pratica vorrei saperecome si può fare per controllare a video i valori assunti dalle variabili del programma chesta girando su arduino, in modo da controllare quello che succede. Resto in attesa della tua risposta e ti ringrazio anticipatamente.

Mauro Alfieri (http://www.mauroalfieri.it) on 21 settembre 2016 Author

Ciao Carlo, procedendo nella lettura del mio corso on-line gratuito arduino e genuino troveraila descrizione del monitor seriale e la descrizione di come usarla per leggere ivalori che ti interessano dello sketch.

Ezio on 13 novembre 2016

ciao Mauro complimenti per il tuo sito grazie ai tuoi insegnamenti ho compreso molto su arduino e dopo solo una qundicina digiorni partendo da un piccolo progetto di base lo stò ingrandendo per il mio scopopersonale una serra automatizzata tante cose ho imparato la più importante è >che non troverai mai un progetto ottimizzatopersonale, se non sei tu che lo crei

Mauro Alfieri (http://www.mauroalfieri.it) on 14 novembre 2016 Author

Grande Ezio !!! Spirito giusto e concordo con la tua massima “non troverai mai un progettoottimizzato personale, se non sei tu che lo crei”

Bruno (http://WWW.danyfilm2001.it) on 7 marzo 2017

Salve Mauro, come d’accordo scrivo in pbl così da dare anche agli altri la possibilità diconoscere. Da tempo appassionato di simulazione volo, ho iniziato ad armeggiare conarduino nell’intento realizzare delle periferiche.

Page 21: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Premetto che di elettronica ne mastico poco ma non mi scoraggio. Primo lavoro fatto:controllo volume liquidi. ora vorrei realizzare alcune parti del cockpit del cessna 172 e conesso poter interagire con il programma di simulazione. Io ho X-Plane vers 10 e di recentela Vers. 11 regolarmente acquistati. Seguendo le indicazioni trovate, ho provato adinstallare i plugins di ArdSimX sia in X-Plane e sia in arduino ma quando cerco di accederealla periferica, X-Plane 10 o 11 mi dicono che deve essere installata la libreria. Ho provatoe riprovato ma il risultato è sempre lo stesso… nulla. Dove sbaglio? Grazie infinite

Mauro Alfieri (http://www.mauroalfieri.it) on 9 marzo 2017 Author

Ciao Bruno, non conosco l’X-Plane, è basata su arduino? Che errore ricevi dall’IDE arduino?

Calla on 17 marzo 2017

Ciao, complimenti davvero per il tuo blog: finalmente ho capito com’è fatto Arduino e, purse in minima parte, cosa può fare. Grazie! Io non so nulla di elettronica. Le mie domande tipotranno sembrare stupide, ma ti prego di portare pazienza. Attualmente i miei studentielaborano (con excel) dati meteo scaricati in formato csv dal sito Arpa. Vorrei utilizzareArduino per rilevare IN PROPRIO temperatura e umidità in ESTERNO (campo aperto, percapirci). 1° problema: ho capito che si può fare, ma non so esattamente quali sensori miservono. 2° problema: come gestisco l’aggiornamento dei dati? provo a spiegarmi meglio:se la rilevazione dei dati avviene senza soluzione di continuità, come funziona dal punto divista temporale la registrazione degli stessi dati in formato csv? 3° problema: posso inviarefile csv da Arduino al server della scuola via wifi? Perdona la stupidità, ma ho bisogno dicapire. Grazie anticipatamente!!!

Mauro Alfieri (http://www.mauroalfieri.it) on 18 marzo 2017 Author

Ciao Calla, nessuna domanda è stupida a mio avviso, magari complessa per il livello diconoscenze posseduto, ma studiando tutto può essere colmato. Cerco di rispondere:

1° i sensori sono milioni nel mondo dipende da ciò che desideri monitorare e conquali tolleranze oltre, ovviamente, a quanto vuoi spendere. In un FabLab dimilano che frequento c’è un fisico che sperimenta sensori meteo specifici, adesempio, e costosi o autocostruiti. Nel blog trovi tanti sensori che puoi usare etanti esempi su come usarli: ad esempio i DHT11..22..ecc..

2° non so se ho capito: vuoi segnare data ed ora per ogni rilevazione? userai unRTC, prova a leggere i miei articoli sulle centraline meteo;

Page 22: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

3° questa è una cosa più complessa che necessita di conoscenze non solo diarduino, ma anche di networking, server, database e interfacce. Si può fare inmoltissimi modi ma devi definire bene quello che devi/puoi/vuoi fare e poi cerchinel blog tutti gli articoli che ti possono aiutare.

aldo papalini on 27 marzo 2017

ciao mauro ho l’esigenza di utilizzare delle librerie e vorrei avere delle indicazioni su come poterleinserire negli sketch. sarebbe gradita una modalità per non tralasciare nulla di quanto necessario per lainstallazione. ho ad esempio, un sensore ds18b20 per consentire la misura delle temperature su liquidima mi resta difficile caricare la libreria necessaria al suo funzionamento. mi sono permesso di disturbarti sull’argomento in quanto ritengo che sia un problemaabbastanza generale. ringrazio anticipatamente per l’attenzione. aldo

Mauro Alfieri (http://www.mauroalfieri.it) on 27 marzo 2017 Author

Ciao Aldo, trovi molti miei articoli in cui spiego come caricare ed utilizzare le librerie nell’IDE. Esistono almeno 3 modi di farlo e sono tutti descritti negli articoli che ho scritto.

Paolo C. on 25 gennaio 2018

Ciao Mauro dopo aver acquistato arduino uno ho installato l’IDE e seguendo le istruzioni sono riuscitoa caricare “blink” . Quando collego arduino alla usb il led interno L si accende e si spegne con il ritardoimpostato, perciò fin quì tutto bene. Mi accingo a caricare un nuovo sketch preso dagliesempi e viene compilato poi inizia un lungo periodo di caricamento di parecchi secondiche termina con un messaggio in rosso che in inglese dice: avrdude:stk500_getsync () attempt 10 of 10 : not in sync. Ho letto qualche tutorial ma il mio inglese non è il massimo, ho reinstallato l’IDE ma noncambia nulla. Cosa sta succedendo? Grazie per la tua disponibilità. Paolo

Page 23: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Mauro Alfieri (http://www.mauroalfieri.it) on 26 gennaio 2018 Author

Ciao Paolo, che modello di Arduino hai acquistato ? E’ un prodotto originale ?

Paolo C. on 26 gennaio 2018

Ciao Mauro Non è un prodotto originale Arduino unio R3 REV3 compatibile

Mauro Alfieri (http://www.mauroalfieri.it) on 27 gennaio2018

Author

Ciao Paolo, potrebbe dipendere da come è stata realizzata l’interfacciausb-seriale. Prova a verificare che tipo di interfaccia è stata utilizzata edeventualmente chiedi al produttore delle specifiche sui driverda utilizzare

francesco on 10 febbraio 2018

ciao! ma non esiste un programma per programmare in modo grafico arduino??

Mauro Alfieri (http://www.mauroalfieri.it) on 12 febbraio 2018 Author

Ciao Francesco, si ne esistono diversi, il più usato è scratch, ma non è l’unico.

Mauro Alfieri » Blog Archive » Programmare con Arduino – leggere un segnale diditale(http://www.mauroalfieri.it/informatica/programmare-con-arduino-%e2%80%93-leggere-un-segnale-diditale.html) on 13 luglio 2011

[…] linea 14: dichiaro la funzione loop(), che questa una vecchia conoscenza, vedi tutorialprecedenti […]

Page 24: Programmare con Arduino – le basi · 2018. 11. 5. · Inizio, con questo primo articolo, a scrivere sulla programmazione di Arduino, molto semplici e che possano aiutare chi ha

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati(https://akismet.com/privacy/).

Programmare con Arduino - leggere un segnale analogico - Mauro Alfieri Elettronica(http://www.mauroalfieri.it/elettronica/programmare-con-arduino-leggere-un-segnale-analogico.html) on 19 febbraio 2013

[…] 10: definisce le operazioni di impostazione della scheda arduino (in un precedentearticolo ho definito meglio a cosa serve la funzione setup() ), NOTA: in questo esempionon abbiamo definito […]