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



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

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

SENSORI OTTICI - FOTORESISTENZE

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

PRIMI PASSI CON ARDUINO

Controllo di una soglia analogica

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

ACCENDERE E SPEGNERE UN DIODO LED

MOTORE PASSO-PASSO CON VELOCITÀ REGOLABILE

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

CODIFICA E RICETRASMISSIONE DI UN SEGNALE

ARDUINO. workshop base

ELETTRONICA CON ARDUINO

( ) V è la tensione dell alimentatore. Da questa si ricava (con la condizione iniziale ( ) q t = CV e τ. fem ( 1 t

Arduino & Oltre corso di coding ed elettronica maker

SCHEDA SPERIMENTALE ARDUINO UNO

D.A.M. Bros Robotics - Scheda Riassuntiva Lezione 6 Output digitali

Arduino& Potenziometro

ELECTRONICS LAB [WITH ARDUINO]

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

Corso Base Arduino ed Elettronica

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

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

Figura 1. Figura 2 Schema del circuito e collegamenti con Arduino (i fili a disposizione hanno colori diversi)

ARDUINO UNO. Raccolta esercitazioni guidate 1 Led & Pulsati. IIS Aldini Valeriani Sirani - ROBOTS project Scheda 1 # 1 Materiale didattico

Far lampeggiare un led o forse un semaforo?

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

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

ARDUINO COLOR SENSOR TCS230 / TCS3200

8^ parte : Motor shield FE e motore passo-passo bipolare. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

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

Prime applicazioni hardware. G. De Nunzio - G. Marsella

Uno scenario IoT Maker Faire Rome, ott Internet of Things Duilio Peroni Alessandro Saracino

14^ parte : Sensore a ultrasuoni HC SR04 e Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Robot Beginner Kit con Arduino l elettronica

Display numerico con i LED

FONDAMENTI DI ARDUINO

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

COME UTILIZZARE IL SENSORE DI TEMPERATURA TMP36

Salvare i dati rilevati dai sensori di Arduino

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

Corso Arduino Maggio Nicola Corna Lezione 2 - segnali analogici, audio e video

17^ parte : Utilizzare il modulo Bluetooth JY-MCU. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

Non solo Uatsap. Andrea Garattini 1

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore MALNATE (VA) P.I REA VA

Arduino in connessione Bluetooth

Relazione progetto Arduino

Corso di programmazione Arduino DI MALVEZZI DAVIDE

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

ARDUINO Course.

INTERAZIONE ELETTRONICA

INSEGUITORE SOLARE CON ARDUINO. Dispositivo che insegue il movimento solare realizzato con: 1. Arduino 2. 2 foto resistenze 3.

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

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

Robot Beginner Kit 4WD

Relazione attività di laboratorio - Arduino

Calcolatori Elettronici T Ingegneria Informatica A2 - Gestione di una matrice di LED (8x8)

IL NUOVO ORIZZONTE: ARDUINO 1

I SENSORI DI PROSSIMITA

Per vedere tutti i tutorial:

D.A.M. Bros Robotics -

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

9^ parte : Come pilotare motori dc utilizzando il motor shield. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

ESERCIZI CON PULSANTI

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

Progetti reali con ARDUINO

15. Verifica delle tabelle della verità di alcune porte logiche

Arduino, terza esercitazione

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

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

Per vedere tutti i tutorial:

SLAVE MODBUS 6DI 4DO 2AI


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

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

Lezione 6 su Arduino: I sensori di presenza PIR

paolo macchi ARDUINO primi calci paolo macchi - Arduino primi calci - rel

Relazione progetto Arduino

Arduino/Raspberry Board and GSM Library

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

L'alfabeto di Arduino

Familiarizzazione con arduino

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

A r c h i t e t t u r a d e g l i E l a b o r a t o r i - UNICA. Laura Ordile. Paper Piano

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

Come utilizzare il modulo ESP8266 per comodare Arduino da Smartphone

L'alfabeto di Arduino

Preparazione del programma Arduino per gestire il LED RGB. Aprire Arduino IDE e creare un nuovo file.

Progetto n 2: Sistema prototipale di monitoraggio termico

Quindi dopo aver collegato tutto avremo qualcosa di simile:


Arduino: Programmazione

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

Nella parte sx dello schema abbiamo gli input del microcontrollore il quale ha la funzione di elaborare dei dati che acquisisce in tempo reale.

Introduzione a Arduino

Transcript:

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

Esperienzan 3 Lo scopo è riuscire a controllare i tre canali di un led RGB attraverso dei potenziometri connessi alle porte analogiche del nostro Arduino. Occorrente: 1. Arduino Uno 2. Breadboard 3. Un led RGB 4. Resistenze 5. 3 potenziometri (uno per ogni colore emesso dal led) cavi di collegamento

R K G B Soluzione Un led RGB ha quattro pin: il più lungo è come al solito il catodo, mentre gli altri tre sono per i rispettivi colori. Sfruttando la PWM (modulazione di larghezza di impulso) è possibile controllare l intensità di ogni singolo canale, in modo da poter creare tutti i colori possibili mischiando tra di loro rosso, verde e blu. Anche in questo caso vale lo stesso discorso per il potenziometro fatto nella guida precedente. I pin analogici leggono valori da 0 a 1023, mentre la funzione analogwrite (LED,val) con cui impostiamo la PWM, assume come secondo parametro un numero da 0 a 255. Bisogna dunque rapportare questi due intervalli in modo che girando il potenziometro il valore di fondo scala combacia con il valore massimo o minimo di intensità del colore. Costruiamo il circuito!

Schema e Circuito elettrico su breadboard Schema creato con

Collegate i potenziometri ai +5V del vostro Arduino e alla GND (terra) e poi a tre pin analogici a vostra scelta. Come si può vedere dallo schema i pin dei colori del led RGB sono collegati alle porte digitali inserendo in serie resistenze da 100Ω per il blu e per il verde, mentre per il rosso sono state inserite 3 resistenze in serie per un totale di 180Ω = 100Ω + 47Ω + 33Ω (la resistenza singola da 180Ω è poco comune).

Il codice // dichiariamo la posizione dei pin digitali per il led RGB #define RED 11 #define GREEN 10 #define BLUE 9 // e anche di quelli analogici per i potenziometri #define POT1 1 #define POT2 3 #define POT3 5 // inizializziamo tre variabili intere che conterranno i valori // letti sui potenziometri int val1 = 0; int val2 = 0; int val3 = 0;

Il codice void setup() { // rendiamo i pin digitali degli output pinmode(red, OUTPUT); pinmode(green, OUTPUT); pinmode(blue, OUTPUT); }

Il codice void loop() { // leggiamo la posizione attuale di ogni potenziometro val1 = analogread(pot1); val2 = analogread(pot2); val3 = analogread(pot3); // dividiamo il valore letto sui potenziometri per 4.01176 = 1023 / 255 //(int) serve per troncare il risultato della divisione e considerare solo la //parte intera senza arrotondamento, questo tipo di operazione si //chiama CAST val1 = (int) (val1/4.01176); val2 = (int) (val2/4.01176); val3 = (int) (val3/4.01176); // impostiamo l'intensità dei tre colori del led RGB sfruttando la PWM analogwrite(red, val1); analogwrite(green, val2); analogwrite(blue, val3); }

A partire da questo semplice schema è ora possibile trasformare la scheda Arduino in una lampada, costruendo magari un struttura in carta, tipo origami, per diffondere meglio la luce del led RGB, che come potete vedere dal video è molto luminoso. Oppure è possibile implementare degli algoritmi nel codice per cambiare il colore della luce seguendo un pattern o modulare la luce in base alla temperatura o qualsiasi altra cosa vi passi per la mente. Guardare il video su Youtube

Esperienzan 4 Dal seguente sketch ricavare il circuito per pilotare un led RGB avente al catodo un resistore di 330 Ω int a = 1000; //tempo millisecondi di //mantenimento colore int red = 11; //pin per il led rosso int green = 12; //pin per il led verde int blue = 13; //pin per il led blu void setup() { //impostazione pin come uscita pinmode(red, OUTPUT); pinmode(green, OUTPUT); pinmode(blue, OUTPUT); } void loop() { //ciclo loop analogwrite(blue, random(255)); //la funzione random genera dei numeri casuali in modo da creare dei colori casuali analogwrite(red, random(255)); analogwrite(green, random(255)); delay(a); }

Soluzione

Esperienzan 5 Provare il programma per pilotare un led RGB con 2 potenziometri

Codice int ledr = 9; int ledg = 10; int ledb = 11; definisci 3 variabili di tipo integer per indicare i pin di OUTPUT con cui piloterai i 3 colori del led distintamente; int pota = A5; int potb = A4; void setup() { pinmode(ledr,output); pinmode(ledg,output); pinmode(ledb,output); definisci altre due variabili di tipo integer per indicare i pin di INPUT analogico A5 e A4 a cui sono collegati i due potenziometri; Si indica ad arduino che i tre pin assegnati alle variabili ledr, ledg e ledb sono da utilizzare come OUTPUT; Serial.begin(9600); } imposta la comunicazione seriale tra Arduino e il tuo computer o mac a 9600 baud, userai questa connessione per vedere a video i valori letti dai potenziometri e tradotti in scala 0-255 per i led;

Codice Con il comando analogread(pin), leggi il valore dal potenziometro.come sai il valore letto varia da 0 a 1023, ossia 1024 step, tuttavia al led questa informazioni sarebbe superflua perchè il valore in OUTPUT possibile sui pin PWM di arduino è 0-255, se non facessi nulla otterresti che nel primo quarto, void loop() { int vala = map(analogread(pota),0,1023,0,255); int valb = map(analogread(potb),0,1023,0,255); Serial.print(" Potenziometro A: "); Serial.print( vala ); Serial.print(" Potenziometro B: "); Serial.println( valb ); analogwrite(ledr,vala); analogwrite(ledg,valb); analogwrite(ledb,valb); } circa, di rotazione il led varia la sua luminosità e dal valore 255 in poi resterebbe sempre alla massima intensità luminosa.; Per correggere questa differenta tra INPUT ed OUTPUT arduino ti mette a disposizione la funzione map(valore,mininput,maxinput,minoutput,maxou tput) con cui traslare, più o meno in modo lineare, i valori letti su un pin analogico dalla scala 0-1023 alla scala 0-255; potresti fare questa proporzione con dei calcoli e crearti tu una funzione, ma arduino ti semplifica la vita e te ne da una già fatta e collaudata; Con la funzione analogwrite() scrivi il vaore del potenziometro A sul led Rosso ed il valore del potenziometro B sui led Green e Blu.