ACCENDERE E SPEGNERE UN DIODO LED

Похожие документы
CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

PRIMI PASSI CON ARDUINO

Arduino: Programmazione

Facciamo lampeggiare un led

ELECTRONICS LAB [WITH ARDUINO]

FONDAMENTI DI ARDUINO

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

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

Far lampeggiare un led o forse un semaforo?

Corso Base Arduino ed Elettronica

Cablaggio ponte H con integrato L293B

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

Corso Base Arduino ed Elettronica

Arduino. Led, pulsanti, PWM, tastierino, display sette segmenti, display LCD

SENSORI OTTICI - FOTORESISTENZE

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

Per vedere tutti i tutorial:

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

Corso di programmazione Arduino DI MALVEZZI DAVIDE

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

ELECTRONICS LAB [WITH ARDUINO]

5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

Display numerico con i LED

Controllo di una soglia analogica

Relazione Tecnica Sensore di Temperatura con interfacciamento microcontroller Arduino 1.3

I SENSORI DI PROSSIMITA

Corso Base Arduino ed Elettronica

Introduzione alla Robo0ca

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

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

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

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

Circuiti antirimbalzo

L'alfabeto di Arduino

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

17^ parte : Bluetooth Shield SLD63030P. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

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

D sistema d allarme con sensori magnetici

Introduzione a Arduino

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

Arduino& Potenziometro

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

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

SVOLGIMENTO SECONDA PROVA 2017 SISTEMI AUTOMATICI: PARTE 1

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

Controllare un nastro trasportatore fischertechnik con Arduino

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

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

Progetti reali con ARDUINO

Arduino - Tutorial #2 - Iniziamo a programmare

L abc di Arduino. Rocco Pelosi, Gianluca Palù, Davide Lodi Rizzini 24 febbraio 2016

Tesina di Maturità. Gianfriddo Giuseppe Classe: 5^B I.T.I.S Indirizzo: Elettronica ed elettrotecnica Anno: 2014/15. Autore: Gianfriddo Giuseppe

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

Esercitazione Controllo di un motore DC mediante Arduino YUN

Arduino. Sezione di Misure e Tecniche Sperimentali

void setup() // funzione di configurazione dei Input/Output { pinmode(pin, OUTPUT); // setta il 'pin' come uscita (output) } 1

Corso base su arduino Seconda parte

Alunna: Gennuso Ylenia classe VB a.s. 2014/2015

IZ1MHN e IW1ALX. Prima di iniziare. Domande sulla lezione scorsa? Come è andato il compito a casa?

Per vedere tutti i tutorial:

Relazione progetto Arduino

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

Arduino Uno INTRODUZIONE CONOSCENZE NECESSARIE

12 - timer da cucina display a 4 cifre

L'alfabeto di Arduino

ELECTRONICS LAB [WITH ARDUINO]

IZ1MHN e IW1ALX. Agenda. Introduzione ad Arduino Arduino l hardware Arduino il software Alcune idee realizzabili con Arduino E se facessimo un corso?

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

Genere DATA Generalità Note Distribuzione

Gestione dell'interrupt con il microcontrollore ATMega328 (scheda Arduino)

Corso Arduino Maggio Matteo Michele Piazzolla Lezione 2 - Sensori

E labirinto cronaca di un fallimento

Il Theremin con il microcontrollore

L'alfabeto di Arduino

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Corso base su arduino Terza parte

Piattaforma Arduino/microcontrollori Atmel. Ing. Cozzolino Francesco.

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

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

Robot Beginner Kit con Arduino l elettronica

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

Relazione attività di laboratorio - Arduino

Programma di simulazione per Arduino

Esercitazione Monitoraggio temperatura via WEB mediante Arduino YUN

Metronomo. Realizzato da Andrea Corda

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

Introduzione all'uso di Arduino lezione 1

ARDUINO. Prof.ssa Lucia Tattoli Prof.ssa Maria Teresa Tattoli

TM1638 LED controller

Progetto Esami Di Stato Anno 2014/2015

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Radar con Arduino. da Emanuele Lovera - Blogger

Introduzione ad Arduino

TM1638 BOARD con ARDUINO

Progetti reali con ARDUINO

Транскрипт:

ACCENDERE E SPEGNERE UN DIODO LED

ACCENDERE E SPEGNERE UN DIODO LED

ACCENDERE E SPEGNERE UN DIODO LED

ACCENDERE E SPEGNERE UN DIODO LED CON UN PULSANTE

ACCENDERE E SPEGNERE UN DIODO LED CON UN PULSANTE

ACCENDERE E SPEGNERE UN DIODO LED CON UN PULSANTE int led = 9; // # define led 9 int pul = 3; // # define pul 3 // impostiamo i due pin digitali come output e input void setup() { pinmode(led, OUTPUT); pinmode(pul, INPUT); void loop() { If (digitalread(pul)== LOW) // se è premuto il pulsante { digitalwrite(led, HIGH); // accende il LED else { digitalwrite(led, LOW); // altrimenti spegne il LED Il programma legge a ogni ciclo lo stato del pulsante e, se questo è a livello basso vuol dire che è stato pigiato e accende il led altrimenti lo spegne

VARIANTE: COMMUTAZIONE CON IL PULSANTE E' possibile accendere e spegnere alternativamente il LED ad ogni pressione del tasto. Per far questo occorre modificare lo sketch in questo modo: int led = 9; int pul = 3; int stato_pul=1; Int stato_led=1; void setup() { pinmode(led, OUTPUT); pinmode(pul, INPUT); Il programma a ogni ciclo legge lo stato del pulsante e se questo è attivo, inverte lo stato del led. Il ritardo introdotto alla fine consente che i rimbalzi del pulsante possano esaurirsi. Però, se si tiene premuto il tasto oltre il mezzo secondo, il led continua a cambiare stato ogni mezzo secondo. void loop() { stato_pul= digitalread(pul); If (stato_pul==low) // se è premuto il pulsante { stato_led=1-stato_led; if (stato_led ==1) { digitalwrite(led, HIGH); // accende il LED else { digitalwrite(led, LOW); // altrimenti spegne il LED delay(500);

VARIANTE: COMMUTAZIONE CON IL PULSANTE Per risolvere questo inconveniente occorre affidare il controllo del led alla transizione negativa del pulsante dallo stato alto a quello basso e non al permanere del pulsante allo stato basso. Per stabilire se è avvenuta la transizione occorre confrontare lo stato corrente del pulsante con quello precedente. In tal modo solo se lo stato attuale è bassoe lo stato precedente è alto allora si è verificata una transizione negativa e deve cambiare lo stato del led. int led = 9; int pul = 3; int stato_att=1; int stato_pre=1; Int stato_led=0; void setup() {pinmode(pul, INPUT); pinmode(led, OUTPUT); void loop() { stato_att= digitalread(pul); If ((stato_att==low) &&(stato_pre==high)) { stato_led=1-stato_led; if (stato_led ==1) { digitalwrite(led, HIGH); else { digitalwrite(led, LOW); stato_pre=stato_att; delay(50);

VARIARE LUMINOSITÀ DI UN LED TENENDO PREMUTO UN PULSANTE int led = 9; int pul = 3; int stato_pul=1; int lum=0; Int durata=0; void setup() {pinmode(pul, INPUT); pinmode(led, OUTPUT); void loop() { stato_pul= digitalread(pul); If (stato_pul==low) { lum++; If (lum>255) { lum=0; durata=1000; else { durata=20; analogwrite(led,lum); delay(durata);

LEGGERE UN SEGNALE ANALOGICO Acquisire un segnale analogico ti permette di utilizzare Arduino per interagire con il mondo esterno non più in bianco o nero (0 e 1) ma con 1024 sfumature di grigio. Ecco come si fa a leggere un segnale analogico e dove potrai leggere quei valori, partiamo con lo schema: Come si vede in figura il collegamento del potenziometro è molto semplice e richiede: una scheda Arduino un potenziometro da 10K hom Occorre collegare gli estremi del potenziometro (quelli su cui è sempre presente una resistenza di 10K ohm indipendentemente dalla posizione della manopola) rispettivamente al +5V e Gnd di arduino, non è importante quale va al +5v e quale al pin Gnd. Collegare, quindi, il terminale centrale del potenziometro al pin A0 (ossia il pin 0 analogico).

LEGGERE UN SEGNALE ANALOGICO

LEGGERE UN SEGNALE ANALOGICO Il codice che utilizzeremo per i nostri esperimenti è il seguente: /* Commento AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor */ void setup() { Serial.begin(9600); /* indico ad Arduino che utilizzerò la comunicazione seriale a 9600 baud*/ void loop() { int sensorvalue = analogread(0); Serial.println(sensorValue, DEC);

LEGGERE UN SEGNALE ANALOGICO Osservazioni: Utilizzando una sintassi compressa dichiaro la variabile sensorvalue e ne imposto il valore con il risultato letto sul pin 0 analogico, per leggere il valore del pin 0 analogico utilizziamo il comando analogread(0), In questo comando per riferirci al pin 0 analogico (A0), il comando analogread leggerà ad ogni ciclo della funzione loop il valore analogico rilevato sul pin 0. Tale valore varia tra 0 e 1023.

Variare la luminosità di un led con un potenziometro

Variare la luminosità di un led con un potenziometro

VARIARE LA LUMINOSITÀ DI UN LED CON UN POTENZIOMETRO Il codice che utilizzeremo per i nostri esperimenti è il seguente: int valore = 0; int POT = 0; // #define POT 0 int LED = 3; // #define LED 3 void setup() { pinmode(led, OUTPUT); // pin led Serial.begin(9600); // inizializza il collegamento seriale void loop() { valore= analogread(pot); Serial.println(valore/4, DEC); analogwrite(led,valore/4); delay(100);

VARIARE IL RITMO DI LAMPEGGIO DI UN LED CON UN POTENZIOMETRO Il codice che utilizzeremo per i nostri esperimenti è il seguente: int valore = 0; int POT = 0; // #define POT 0 int LED = 3; // #define LED 3 void setup() { pinmode(led, OUTPUT); // pin led Serial.begin(9600); // inizializza il collegamento seriale void loop() { valore= analogread(pot); digitalwrite(led,high); delay(valore); digitalwrite(led,low); delay(valore);

DIFFERENZE TRA SPI E I2C SPI supporta la comunicazione full-duplex con un throughput molto più alto rispetto ad I2C. non è limitato a parole di 8 bit, in modo da poter inviare messaggi di ogni genere e con contenuti e scopi arbitrari. L interfaccia SPI non richiede resistenze di pull-up, il che si traduce in un minore consumo di energia. Tuttavia, I2C è più semplice avendo meno linee il che significa che meno piedini sono richiesti per interfacciarsi ad un circuito intergrato. Quando si comunica con più di un dispositivo slave, I2c possiede il vantaggio di un indirizzamento in banda, al posto di avere una linea chip select per ogni slave. I2c supporta inoltre lo slave acknowledgment che significa che si è certi del dispositivo con cui si sta comunicando. Con SPI, un master può inviare dati a vuoto e non saperlo. In generale SPI è consigliato per applicazioni che comunicano lunghi flussi di dati e non solo parole come locazioni di memoria. Approfondimenti