Facciamo lampeggiare un led

Documenti analoghi
Introduzione all'uso di Arduino lezione 1

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

Corso di programmazione Arduino DI MALVEZZI DAVIDE

PRIMI PASSI CON ARDUINO

Arduino - Tutorial #2 - Iniziamo a programmare

Configurazione di Visualino 01. Collegate la scheda Arduino alla porta USB del computer

FONDAMENTI DI ARDUINO

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

Realizzate il circuito come indicato nello schema seguente:

Questo sistema si è poi diffuso in tutto il mondo, soprattutto in ambito didattico e hobbistico. Arduino mette a disposizione:

I SENSORI DI PROSSIMITA

ACCENDERE E SPEGNERE UN DIODO LED

Strutture di controllo e cicli

Arduino: Programmazione

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Cos'è Arduino? rilasciata con licenza di tipo open source.

La Keyes 4 relay non è proprio una shield nel senso classico definito nel mondo arduino in quanto una shield dovrebbe essere concepita per essere

Introduzione alla Robo0ca

Far lampeggiare un led o forse un semaforo?

Relazione attività di laboratorio - Arduino

Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

Display numerico con i LED

Programma di simulazione per Arduino

CORSO ARDUINO. Jacopo Beli Giulio Fieramosca Luca Mati GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii 1

L'alfabeto di Arduino

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Corso Arduino Maggio Riccardo Binetti Lezione 2 - Il calore dell analogico

La piattaforma hardware e software Arduino Corso completo di autoapprendimento Aggiornato a Arduino Yun

Relazione progetto Arduino

Controllo di una soglia analogica

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Andrea Di Dato. e fu così che i maker misero le ali

Introduzione a Visual Studio 2005

perror: individuare l errore quando una system call restituisce -1

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

INTRODUZIONE ALLA PROGRAMMAZIONE

ELECTRONICS LAB [WITH ARDUINO]

IL PRIMO PROGRAMMA IN C

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Il Software programmabili programma algoritmo

Circuiti antirimbalzo

FC-51: IR Infrared Obstacle Detection Sensor Module 2-30cm

PER UTILIZZARE LCC IN LAB

Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE

Internetworking V a nno

STRUTTURE DI CONTROLLO DEL C++

Fortran in pillole : prima parte

Introduzione ad Arduino

Arduino Tutorial #7 - Nunchuk materiale utilizzato Arduino, cavi elettrici, breadboard, nunchuk, 3 led.

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Lezione 6 programmazione in Java

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

Per vedere tutti i tutorial:

Lab 01 Introduzione a Codelite

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Arduino MaxMSP Tutorial #3 - Arduino MaxMSP Play Sound Materiale utilizzato Arduino Uno, sensore (uno qualsiasi)

Creazione di funzioni utente (UDF)

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

Corso sul linguaggio Java

Corso Base Arduino ed Elettronica

Per vedere tutti i tutorial:

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Primi passi col linguaggio C

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

La piattaforma hardware e software Arduino: parte I. Corso di autoapprendimento

Progetti reali con ARDUINO

Cablaggio ponte H con integrato L293B

File binari e file di testo

Lezione 6 Introduzione al C++ Mauro Piccolo

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

8^ parte : Come pilotare i motori passo-passo unipolari. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

COSA CONTIENE LA CHIAVETTA

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Lezione 3 PWM e motori. Stefano Panichi e Giulio Fieramosca

8^ parte: Pilotare Motori passo-passo bipolari usando l integrato SN754410NE. Author: Ing. Sebastiano Giannitto (ITIS M.

Installazione e configurazione dell'ide. IZ1MHN e IW1ALX. L IDE Introduzione alla programmazione su Arduino Le librerie

I Circuiti combinatori: LOGISIM

Circuito logico AND / AND Gate

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

ARDUINO. Misurare e controllare. Riccardo Barberi. Dip. di Fisica Univ. Della Calabria Rende (CS), Italy

CIRCUITI RADDRIZZATORI

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Introduzione al C++ (continua)

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Definizione di classi. Walter Didimo

My First Robot. My First Robot. I m Learning Robotics. 1 Scarica l ultima versione della Arduino IDE (

Relazione finale del progetto Arduino - NIMT

Interaction Design? Parole chiavi!!! Arduino?

Corso sul PACCHETTO OFFICE. Modulo Access

PROGETTO E VERIFICA DI UNA RETE LOGICA SEQUENZIALE ASINCRONA CON PORTE LOGICHE. REALIZZAZIONE DELLA STESSA CON LATCH SR E D, ECON FLIP-FLOP JK.

Usare la posta elettronica ( )

Fisica, tecnologia, scienze applicate: ulab2, un laboratorio portatile basato su arduino e due piccoli robot, LEMU e MOMOLAB, vanno a scuola

8^ parte: Pilotare Motori passo-passo unipolari usando l integrato ULN2003A. Author: Ing. Sebastiano Giannitto (ITIS M.

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Transcript:

Facciamo lampeggiare un led Passiamo a fare qualche esercizio, il più semplice per iniziare a programmare con Arduino è il canonico esercizio blink, che trovate anche negli esempi del programma. Si tratta di far lampeggiare un diodo led all infinito con tempi prestabiliti. Prima di affrontare l argomento o le programmazione è opportuno che lo studente ripeti l argomento diodo led e resistenza di caduta. Per prima cosa dobbiamo collegare il diodo led,volendo potremmo anche utilizzare il famoso diodo led integrato sulla scheda e indicato con L, ma a noi non basta, così andremo a collegare all uscita 13 un diodo led collegando in serie una opportuna rd (A verso il pin 13 e K verso massa ), in alcuni testi troverete che la rd non viene utilizzata, ciò dipende dal diodo che utilizziamo e dall intensità (luminosa)che vogliamo ottenere. Passiamo alla programmazione Apriamo il programma Arduino, se è la prima volta che avviamo il programma verrà immediatamente aperto uno sketch vuoto, altrimenti dal menù File > New possiamo aprire un nuovo sketch e salvarlo con il nome che desideriamo nella cartella in cui archiviamo i vostri programmi. Il programma che ci accingiamo a realizzare è detto blink è possibile reperirlo sul sito Arduino.cc oppure come già accennato, direttamente sugli esempi del nostro programma: File > Examples > 1.Basics > Blink Prima di iniziare è opportuno ricordare che il programma (vedi lezione precedente) oltre ai blocchi commento è composto da due sezioni: setup() loop(). realizziamo il programma e analizziamolo anche con l aiuto dei commenti. // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() pinmode(led, OUTPUT); // imposta il pin digitale come output void loop() digitalwrite(led, HIGH); // accende il LED digitalwrite(led, LOW); // spegne il LED 1

Di seguito l immagine della schermata del nostro primo sketch Analizziamo passo passo il codice // Esempio 01: far lampeggiare un led Con le due barre // indichiamo l inizio di un commento e il testo che lo segue, in questo caso, identifica il titolo del nostro programma. Molto spesso è importante indicare subito dopo il titolo, la data dell ultima variazione e il nome dell autore, in modo che a distanza di tempo possiamo identificare le versioni di sviluppo ed il nome dell ultimo programmatore che ha eseguito modifiche: Ad esempio: // Esempio 01: far lampeggiare un led // Data ultima modifica: 16.01.2017 // Autore: Antonio È importante notare che ogni linea di commento deve essere preceduta da // Se vogliamo evitare di scrivere per ogni linea // possiamo far precedere il testo commento dai caratteri /* e farlo concludere con i caratteri */ Ad esempio: /* Esempio 01: far lampeggiare un led Data ultima modifica: 16.01.2017 Autore: Antonio */ Successivamente abbiamo: #define LED 13 // LED collegato al pin digitale 13 2

#define consente di sostituire, in fase di compilazione, all interno del nostro programma il valore 13 ogni volta che compare la parola LED. ( la compilazione avviene quando fate click su Verify oppure quando effettuate l upload sulla scheda.) in alternativa troviamo in alcuni programmi al posto di define LED 13 int led = 13 Col primo si crea un etichetta "LED" che verrà sostituita prima di compilare il programma col numero 13. Nel secondo caso si crea una variabile di nome "led" che vale 13. Di solito si usa il #define quando si deve indicare dei dati fissi, ovvero che non verranno cambiati durante l'esecuzione del programma. Poi troviamo : void setup() void indica ad Arduino che stiamo dichiarando una funzione di nome setup(), cioè un porzione di codice che esegue un operazione specifica La parentesi graffa aperta indica dove incomincia il codice. pinmode(led, OUTPUT); // imposta il pin digitale come output pinmode è un istruzione che dice ad Arduino come usare un determinato pin. Tra parentesi tonde vengono specificati gli argomenti che possono essere numeri e lettere. I pin digitali possono essere utilizzati sia come INPUT che come OUTPUT. Nel nostro caso poiché vogliamo far lampeggiare il diodo LED dobbiamo definire il pin di OUTPUT. Le parole INPUT e OUTPUT sono costanti definite, che non variano mai nel linguaggio di Arduino. La parentesi graffa chiusa indica la fine della funzione setup(). void loop() Indica la sezione di codice principale, il nucleo del vostro programma, che verrà ripetuto all infinito fino a quando non si spegne la scheda. digitalwrite(led, HIGH); // accende il LED L istruzione digitalwrite possiede due argomenti, il primo definisce il pin, il secondo indica lo stato. 3

digitalwrite è un istruzione in grado di impostare un pin definito come OUTPUT ad un valore HIGH o ad un valore LOW, in modo più semplice permette di accendere o spegnere un led connesso al pin specificato nel primo argomento, nel nostro caso LED. delay(1000); // aspetta un secondo delay() è un istruzione molto semplice che non fa altro che interrompere per un determinato tempo l esecuzione del programma. L istruzione ha un solo argomento numerico che indica il numero di millisecondi di attesa. Nel nostro caso con delay(1000) diciamo che il programma deve bloccarsi per 1000 millisecondi ovvero 1 secondo. Quindi guardando insieme le due istruzioni: digitalwrite(led, HIGH); // accende il LED delay(1000); // aspetta un secondo Diciamo ad Arduino di accendere il diodo led sul pin 13 per 1 secondo. digitalwrite(led, LOW); delay(1000); // spegne il LED // aspetta un secondo Ordiniamo al led sul pin 13 di spegnersi per 1 secondo Ora non ci resta che verificare il nostro programma facendo click su Verify e se tutto è corretto in basso all IDE compare il messaggio Done compiling ciò indica che l IDE Arduino ha tradotto il nostro sketch in un programma eseguibile sulla scheda Arduino. Il passo successivo è quello di caricare sulla scheda il nostro programma facendo click su Upload to I/O Board, in questo modo la scheda interrompe l esecuzione di ciò che stava eseguendo, carica il nuovo programma in memoria e lo esegue. 4

Durante la fase di trasferimento accadono due cose: Appare il messaggio: Uploading to I/O Board e la dimensione in byte del vostro sketch e alla fine compare il messaggio: Done uploading che indica che il trasferimento del programma alla scheda ha avuto termine; Sulla scheda i led identificati con RX e TX lampeggiano, ogni volta che viene inviato un byte e durante la fase di uploading del programma lampeggiano continuamente. 5

Dopo aver verificato il funzionamento non ci resta che esercitarci a: variare il tempo di accensione e spegnimento del diodo led, collegare un secondo diodo led, verificare il funzionamento del programma usando int led /* Esempio 02: far lampeggiare un led Data ultima modifica: 16.01.2017 Autore: Antonio */ int ledpin = 13; // LED connesso al pin digitale D13 void setup() // inizializza il pin del LED come uscita digitale: pinmode(ledpin, OUTPUT); // Viene dichiarato un loop senza uscita // Le istruzioni interne al loop vengono continuamente eseguite void loop() digitalwrite(ledpin, HIGH); // Accende il LED digitalwrite(ledpin, LOW); // spegne il LED 6