Visualizzazione post con etichetta LED. Mostra tutti i post
Visualizzazione post con etichetta LED. Mostra tutti i post

sabato 23 gennaio 2021

ESP32 gestione di striscia Led indirizzabile Neopixel WS2812

 I miei test sul sistema MicroPython ed ESP32 vanno avanti di gran lena, oggi ho completato il montaggio di un semplice circuito con un ESP32 ed una barretta di Led WS2812 molto comoda e facilmente inseribile nei vari circuiti che possiamo costruire "sulla scrivania".

Ho montato il circuito come da schema qui sotto, ma ho avuto dei problemi allo startup del ESP, che "sente" il GPIO basso, e si mette in Dounload mode, cioe' pronto a ricevere il firmware, e non entra in posizione lavoro. Quindi ho deciso di utilizzare un'altra porta (ce ne sono tante!) per evitare l'inconveniente


La verisone di ESP sulla quale sto lavorando, probabilmente ha dei problemi di circuito, infatti non funziona il Pin dei 5V (il Vin, cioe' il pin che e' collegato all'alimentazione proveniente  dalla USB, di conseguenza sono sato costretto a collegarmi alla 3,3V per alimentare la barretta di Led ( siamo un po' sotto il limite della minima tensione ammessa, che e' di 4V, ma dai testi funziona ugualmente!!). Con questa configurazione pero' devo stare attento ad accendere i Led mai alla massima potenza, in quanto assorbirebbero tropo per il componente stabilizzatore di tensione installato sulla scheda (infatti , se funzionasse!, sarebbe certamente meglio usare l'alimentazione diretta dalla USB per alimentare la barretta di LED, questo modo che ho scelto io, passa attraverso lo stabilizzatore di tensione che si occupa di alimentare il microcontrollore ed il wifi, quindi ha gia' il suo bel da fare!)

Di seguito il codice uploadato sull ESP che fa accendere i led di un colorino arancione uno per volta fino ad accendere tutta la barretta, poi fa il percorso inverso e spenge tutti uno alla volta. Fa' questo di continuo, fino a che non riceve un break (Ctrl-C) da terminale.

from machine import Pin
from neopixel import NeoPixel
import time

pin = Pin(16, Pin.OUT)   # set GPIO16 to output to drive NeoPixels
np = NeoPixel(pin, 8)   # create NeoPixel driver on GPIO0 for 8 pixels
while True:
    for i in range(8):
        np[i] = (2555)      # set the first pixel to orange
        np.write()              # write data to all pixels
        time.sleep_ms(500)
    for i in range(80, -1):
        np[i-1] = (000)      # set the first pixel to orange
        np.write()              # write data to all pixels
        time.sleep_ms(500)


Buon divertimento 

TecnoGeppetto




venerdì 22 gennaio 2021

ESP32Cam gestione dei Led della scheda

 Continua la serie di articoli sulla scheda ESP32Cam che inquesto periodo e' sotto i miei riflettori; Con questo articolo parliamo della attivazione e della gestione del LED principale e del Led di servizio. Infatti la scheda ha un bel Led 5050 sulla parte frontale, molto luminoso, che risponde al GPIO 4 ed un Led Rosso sulla scheda interna, vicino al modulo ESP vero e proprio, che viene utilizzato anche dal sistema per messaggi di stato.

Il MicroPython ci consente di gestire piuttosto facilmente questi due led semplicemente alzando o abbassando il livello dei Pin relativi. Bisogna comunque fare attenzione al fatto che il GPIO 4 al quale e' collegato il Led principale Bianco, e' anche utilizzato per la gestione della scheda MicroSD, infatti sul GPIO 4 e' collegata anche il segnale DATA1 della comunicazione tra il microcontrollore e la MicroSD, quindi non e' possibile utilizzare le due periferiche contemporaneamente.


Per il LED Bianco

from machine import Pin
import time

LEDb = Pin(4, Pin.OUT) 
while True:
    LEDb.value(1)
    time.sleep_ms(500)
    LEDb.value(0)
    time.sleep_ms(500)


Per il LED Rosso

#gestione del LED di servizio Rosso della scheda sul GPIO33
LEDr = Pin(33, Pin.OUT) 
while True:
    LEDr.value(1)
    time.sleep_ms(500)
    LEDr.value(0)
    time.sleep_ms(500)

Nota che il LED Rosso funziona alla rovescia rispetto all'altro quindi si accendera' con il Pin 33 basso, mentre si spengera' con il Pin 33 tenuto alto.


Buoni esperimenti

TecnoGeppetto



venerdì 13 settembre 2013

Gestire il Led Rosso della Raspberry Cam

Girellando per la rete ho trovato questo utile programmetto per la gestione del Led Rosso della Cam della Raspberry.
Di per se sembra inutile, ci sono tanti altri pin da utilizzare, che senso puo' avere di accendere o spengere a piacimento proprio quello della Cam?
Un senso lo ha per me che sto costruendo una stazionciana di monitoraggio esterna, da affiancare ad una stazione meteo, per esempio, o da utilizzare per la costruzione di filmatini in time lapse con immagini all'esterno. Naturalmente per questo scopo. la RaspiCam deve avere il Led spento, per evitare diversi effetti collaterali non richiesti, quali per es. non fìdare nell'occhio, non ottenere dei riflessi strani sulla ripresa, ecc.... ecc.....
Ma quando il circuito e' nella sua scatolina, bello chiuso e sigillato, e' difficile capire dall'esterno se tutto e' ok e tutto funziona regolarmente, quindi puo' essere utile un segnale da parte della Raspberry, quale migliore occasione di utilizzare il nostro Led del tutto inusato fino a questo momento?
Quindi il programmino che lo fa lampeggiare poprio mentre lo sto monitorando e' un toccasana per questo scopo.
Ecco di seguito il programma, rimediato da questo link grazie Matt per la condivisione

#!/usr/bin/env python
import time
import RPi.GPIO as GPIO
 
# Use GPIO numbering
GPIO.setmode(GPIO.BCM)
 
# Set GPIO for camera LED
CAMLED = 5
 
# Set GPIO to output
GPIO.setup(CAMLED, GPIO.OUT, initial=False)
 
# Five iterations with half a second
# between on and off
for i in range(5):
  GPIO.output(CAMLED,True# On
  time.sleep(0.5)
  GPIO.output(CAMLED,False) # Off
  time.sleep(0.5)
 
Il programma e' gia' funzionante senza aggiunta di altro, io lo ho modificato soltanto per abbreviare i tempi di lampeggio, per evitare che faccia luce proprio quando la Cam sta scattando la foto, passando da 0,5 secondi a 0,15 secondi, sia il tempo di on che quello di off, in questo modo il lampeggìo dura meno dell'intervallo tra uno scatto e l'altro
 

Come spengere il Led rosso della RaspiCam

Quando lo cerco non lo trovo mai, ed e' gia' una diecina di volte che mi capita di doverlo utilizzare, Dunque: Raspberry Cam Come spengere il Led della Raspberry Cam? E' molto semplice, va modificato il file config.txt contenuto nella cartella di boot quindi: sudo vi /boot/config.txt e qui in fondo al file aggiungere ill comando: disable_camera_led=1 chiudere e rebootare FATTO Buon divertimento cn Raspberry Stay Tuned TecnoGeppetto

giovedì 20 giugno 2013

JamDuino

Ecco che finalmente il circuitino trova casa.
Ha le sembianze di un contatore dell'Enel, ma finalmente anche la nostra creazione ha la sua comoda casetta. Naturalmente è un beta test, cioè la prima realase del nostro.... JAMDuino, lo possiamo chiamare così?contatore

Al momento è solo un clone di Photoduino ( che ha gentilmente fornito in open source tutti i disegni e gli schemi da cui abbiamo tratto ispirazione per la nostra  creazioncina ), in futuro dovrebbe erudirsi e seguire un pò di più le idee del nostro Umberto, che non manca certo di inventiva e fantasia.contatore2

Vedremo, per adesso dobbiamo ancora concentrarci nella sperimentazione e taratura del nostro JAMDuino, la cui costruzione  deve ancora essere terminata, ma come mi succede sempre, per finire manca sempre qualcosa.
Al momento devo ancora fare i buchi per i bocchettoni delle sonde, collegare il jack per la camera e quelli per i due flash, l'interruttore e il cavetto di alimentazione. Per chiudere poi la fase di costruzione mancano ancora i sensori, che per il momento sono stati montati in mamiera "volante", invece dovranno  essere cablati per benino.dettagli Costruzione
La fase successiva sarà quella dell' analisi del  software, che per il momento non e' stato ancora controllato a fondo, cosa da fare prima di andare a concludere la fase di test collegando il JAMDuino ad una macchinetta fotografica, per poter scattare le prime immagini.
La notizia del giorno quindi è che per stanotte JAMDuino dormira' al caldo!
TecnoGeppetto
www.Tognozzi.net

Nuovi arrivi per i miei giochini

Rieccomi alle prese con un po' di tecnologia!
Oggi, finalmente, mi sono arrivati due bei pacchettini dalla Cina pieni di nuovi giocattolini tecnologici. Erano più di due mesi che li aspettavo, quindi immaginate la contentezza al rientro a casa, quando ho trovato la lieta novella.
Ho iniziato subito il pomeriggio di "giuoco" con il sistemare bene in bella mostra sulla mia scrivania, tutti i pezzetti, per poi sistemarli in ordine nelle cassettine, pronti per il successivo utilizzo. Ho ricevuto un display LCD per Arduino, gia' montato con una serie di pulsantini e la shield a misura, una serie di convertitori DC-DC down converter, che mi serviranno per alimentare i progetti con la Raspberry utilizzando un alimentatore a 12Volt (che sono piu' facili da trovare della potenza necessaria per Raspberry) e nello stesso tempo possono essere utilizzati per alimentare i progetti vari in macchina, attraverso la presa dell'accendisigari, per esempio. Poi ho ricevuto dei connettori seriali femmina DB9 che ho richiesto per ripristinare la mia dotazione, in quanto in uno degli ultimi progetti che ho concluso (si perche' qualche volta riesco anche a concludere qualcosa  ! (smile) ) ne ho utilizzati parecchi ed ero rimasto senza. Stessa cosa per una serie di LED infrarossi, poi mi sono fatto arrivare anche una scheda ethernet compatibile Arduino, che servira' per continuare un progettino che sto lentamente portando avanti che prevede l'utilizzo della rete, Twitter ed naturalemnte il prode Arduino!
Dulcis in fundo mi sono arrivate anche due schede per la conversione dei segnali paralleli a I2C/IIC/TWI, questi pezzettini li aspettavo con ansia, perche mi consentiranno di utilizzare il display LCD 1602 attraverso la linea seriale I2C di Arduino, anziche' il collegamento tradizionale che comporta l utilizzo di un maggior numero di piedini.
Nel prossimo post che sto preparando vi segnalero' una serie di punti di attenzione da rispettare per l'utilizzo della scheda in questione.
Stay Tuned
TecnoGeppetto
anche su www.Tognozzi.net

mercoledì 19 giugno 2013

Tre LED, un potenziometro ed Arduino

Altro esperimento con la magnifica scheda ARDUINO, ho collegato all'ingresso analogico di Arduino un potenziometro lineare e alle uscite digitali 10 11 e 12 i LED di diversi colori. a seconda della lettura effettuata sulla porta analogica Arduino accende i LED in diverse composizioni.
qui il listato



TecnoGeppetto
www.tognozzi.net