Arduino: Controllare 10 LED con un potenziometro

29 Marzo 2015
Arduino: Controllare 10 LED con un potenziometro

Ciao a tutti in questo articolo vi mostrerò come realizzare un progetto che ci permette attraverso l’uso di un potenziometro di accendere dei LED in sequenza.

Questo progetto si basa sulla lettura del valore del potenziometro e attraverso delle condizioni  permette di accendere i LED.

Abbiamo bisogno di:

– Arduino Uno

– Breadboard(basetta)

– 10 LED

– Un potenziometro

– Fili per i collegamenti (Jumpers)

Una volta procurati i componenti passiamo a montare il circuito come descritto nell’immagine seguente:

Cattura di schermata (24)

Una volta montato carichiamo lo sketch:

[c]

int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int led6 = 8;
int led7 = 7;
int led8 = 6;
int led9 = 5;
int led10 = 4;
int letpt = 0;
int potpin = 0;
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
letpt = analogRead(potpin);
if (letpt > 0 && letpt < 102)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 102 && letpt < 204)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 204 && letpt < 306)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 306 && letpt < 408)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 408 && letpt < 510)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 510 && letpt < 612)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 612 && letpt < 714)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 714 && letpt < 816)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 816 && letpt < 918)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
}
if (letpt > 918 && letpt < 1010)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, LOW);
}
if (letpt > 1010)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, HIGH);
}
}

[/c]

A seguire alcune immagini del progetto:

11086688_745014495596506_822329369_n 11084615_745014482263174_2126425494_n 11074663_745014408929848_195956339_n 10997109_745014448929844_57252741_n

Posted in ArduinoTags:
Related Posts

Hai mai sentito parlare di Olight? E’ una società cinese che si occupa di fornire i migliori prodotti di illuminazione. Negli ultimi anni, le loro vendite a livello mondiale sono aumentate tantissimo. Oggi, questo brand ha anche un negozio online ufficiale in Italia. Se…

Ciao a tutti, oggi andremo a vedere come creare un Rilevatore di Fiamma con Arduino. Tramite questo sensore, in grado di rilevare la presenza di fiamme attorno ad esso, potrai creare un sistema che ti avvisa in caso di fiamme, spendendo poco e con…

Ciao a tutti, oggi andremo a vedere come utilizzare il Sensore di Tocco, o Tap Sensor. Questo sensore permette di rilevare per esempio il battito di una mano su un tavolo o il bussare ad una porta e ci può tornare utile per alcuni…

Write a comment