| Anche
se quasi non ce ne accorgiamo più, i led sono ovunque nella
nostra vita: negli schermi televisivi, nei display dei pc e
dei cellulari, nelle lampadine nelle multicolori lucine di
Natale... Se di colpo sparissero dalla nostra vita, essa
sarebbe molto più grigia e priva di informazioni! Ma in questa sezione ci riferiamo a quei piccoli vecchi, familiari, umili , cilindretti colorati che vengono usati nei vari apparecchi elettronici. Nei progetti di base che verranno presentati qui, oltre che a essere delle semplici luci colorate, hanno anche lo scopo di sostituire nei test altri attuatori, come per esempio dei relè. |
![]() |
| Come
collegare i led alla BDS |
![]() |
![]() |
| I led
hanno ben cinque connettori dedicati (con una resistenza in
serie per evitare che vengano danneggiati): Le posizioni sono rispettivamente: Led1 - GPIO19 - collegato a DG1 Led2 - GPIO18 - collegato a DG2 Led3 - GPIO21 - collegato a DG3 Led4 - GPIO12 - collegato a DG4 Led5 - GPIO5 - collegato aDG5 "Led1 collegato aDG1" significa che condividono lo spesso GPIO; questo è stato studiato affinché si possa collegare per esempio un relè in parallelo al led. Nota: sui conettori DG1, DG2, DG3 può essere collegato direttamente un relè tipo KY-019; su DG4 e DG5 la connessione richiede un cavetto a tre fili, perchè la disposizione di pin è differente, per poter collegare anche altri tipi di periferiche. |
|
|
| La
creazione dell'ambiente virtuale e l'installazione delle
librerie |
Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "elmot" in cui creeremo l'ambiente virtuale (che chiameremo "led"), le librerie necessarie e i programmi. Nota: naturalmente i nomi dati alle sottocartelle possono essere variati a piacere. Postulando che si siano create le cartelle indicate, si può iniziare con la programmazione. Aprire un terminale (la quarta icona in alto a destra) e digitare quanto segue:cd Desktop/Projects/switch per spostarsi nella cartella "switch "; python3 -m venv swt per creare l'ambiente virtuale "swt "; source swt/bin/activate per attivare l'ambiente virtuale: apparirà (swt) all'inizio della nuova riga; A questo punto è possibile installare le librerie richieste, quali "RPi.GPIO" oppure "GPIOZERO"; ma cè ance un'altra soluzione, quella di rendere disponibile nell'ambiente virtuale le librerie "di base" installate con Python, digitando il comando "python -m venv --system-site-packages env" (al posto di "env" si può inserire il nome dell'ambiente virtuale preferito. In questo caso sarà poi sufficiente installare solo le librerie specifiche per i vari sensori, guadagnando in semplicità e risparmio di occupazione di scheda SD o di disco. |
| Dove
trovare altri programmi che utilizzano i led |
Su queste pagine potrai trovare dei programmi che utilizzano dei led: - Programmi con sensore BME280 - Programmi con sensore BME280 e SSD1306 - Programmi con sensore BME680 - Programmi con sensore BME680 e SSD1306 - Programmi con sensore DHT11 - Programmi con sensore DHT11 e SSD1306 |
|
|
| Il
primo programma: l'intramontabile blink! |
| Il primo programma, come indicato nel titolo è l'intramontabile blink, il programma forse più eseguito per Arduino, ESP32, ecc. Non fa altro che far lampeggiare un led con la frequenza di un secondo. Il led si inserisce sul connettore "Led1". |
| Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python blinlk.py" |
| |
|
|
| |
| ll
secondo programma: ancora blink,m ma
moltiplicato per cinque! |
| Ancora blink! Ma in questo caso, lampeggiano in sequenza i cinque led, da Led1 a Led5. Probabilmente inutile, ma aiuta a prendere confidenza con i connettori per i led. |
| Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python blink5.py" |
|
|
| |
| ll terzo programma: led fade |
Il terzo programma aiuta ad utilizzare la funzione PWM, e far "pulsare" il led, iniziando con una luminosità bassa per passare progressivamente alla massima, e viceversa. Il led si inserisce sul connettore "Led1". |
Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python ledfade.py" |
|
|
| Il
quarto programma: led pwm |
Questo programma fa esattamente la stessa cora del precedente, ma utilizza un'altra tecnica. Ho pensato di inserirlo per mostrare diversi approcci allo stesso problema. Per renderlo meno noioso, i cinque led "pulsano" in sequenza |
Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python ledpwm5.py" |
|
|
| Il
quinto programma: un led a tre colori |
I led RGB (red, green, blue) sono fondamentali, perche dosando le tre colorazioni di base si possono ottenere tutti i colori, compreso il bianco, e sono alla base dei display moderni, per televisori, computer, cellulari, tablet, ecc. Questo programma presenta aletrnativamente le settecolorazioni di base, da cui si possono, modulando i colori, ottenere ogni sfumatura. Ecco i colori che cicleranno: rosso, verde, blu, giallo, ciano, magenta, bianco. |
Ho
pensato di proporre due versioni dello stesso programma,
perfettamente identici, ma che usano dei GPIO diversi, per
poter essere utilizzato sia da:
1: led
RGB su scheda, quali KY-009 o KY-016;2: un led RGB "nudo". |
| Programma
in versione 1: |
| IL
programma varia i colori e propone sul terminale i colori
che sta utilizzando. I led RGB modelli KY-009 o KY-016 possono essere connessi sullo zoccolo I2C2, attivando anche il quinto pin (GPIO16) per poter visualizzare i 3 colori. I pin del led vanno collegati nel modo seguente: modulo led I2C2 "-" GND "G" SCL "R" SDA "B" P16 Enrambi i moduli usano la stessa piedinatura. A volte il pin di massa può avere la dicitura "-" oppure "Gnd". |
![]() KY-016 ![]() KY-009 |
Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python ledrgb1.py" |
| Programma
in versione 2: |
| La
seconda versione del programma è adatto ai led RGB "nudi",
ovvero senza una basetta a cui essere collegato.
Nell'immagine a destra è rappresentato un tipico led RGB.
Esso ha quattro terminali, ma con una disposizione diversa
da KY-009 o KY-016, e si riconoscono in base alla loro
lunghezza. Il reoforo più lungo eè quello di massa ("-" o
"GND"), Tovato quello, ifili relativi ai colori si
individuano facilmente. Per i test ho connesso il led RGBallo zoccolo RFID1, con la seguente piedinatura: Led RGB RFID1 Rosso P25-RST "-" GND BLU P9-MISO Verde P10-MOSI Come si vede, dallo zoccolo si è saltato "IRQ", perchè non è connesso ad alcun pin. Nota: il led dovrebbe essere connesso allo zoccolo con tre resistenze da 220 Ohm,(una per ogni terminale di colore), ma per un breve test può essere anche collegato direttamente. Non usarlo così per troppo tempo, altrimenti si potrebbe danenggiare per un eccesso di corrente. |
![]() Led RGB |
Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma in formato testo. Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella "Desktop/Projects/led" e lanciarlo con il seguente comando: "python ledrgb.py" |
|
|