Sommario:
- Passaggio 1: trasmettitore con accelerometro
- Passaggio 2: ricevitore con LED RGB
- Passaggio 3: programmazione C
- Passaggio 4: il risultato
Video: LED RGB controllati da accelerometro wireless: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:05
MEMS (Sistemi microelettromeccanici) Gli accelerometri sono ampiamente utilizzati come sensori di inclinazione nei telefoni cellulari e nelle fotocamere. Sono disponibili semplici accelerometri sia come ic-chip che come schede PCB di sviluppo economiche.
I chip wireless sono anche convenienti e disponibili in circuiti assemblati, con rete di antenne abbinate e cappucci di disaccoppiamento integrati. Collega sia la scheda wireless che l'accelerometro a un microcontrollore tramite interfaccia seriale e avrai un controller wireless con funzioni nintendo-wii. Quindi costruisci un ricevitore con lo stesso tipo di chip wireless e LED RGB controllati da pwm, voilà, hai un'illuminazione della stanza colorata wireless e controllata dall'inclinazione. Mantieni il livello della scheda del trasmettitore con la breadboard rivolta verso l'alto e il LED è blu freddo, solo il LED blu è attivo. Quindi inclina il trasmettitore in una direzione e mescoli in rosso o verde a seconda della direzione in cui lo inclini. Inclina fino a 90 gradi e attraversi tutti i mix di rosso e blu o verde e blu fino a quando solo il rosso o il verde è attivo con un'inclinazione di 90 gradi. Inclina leggermente in entrambe le direzioni x e y e ottieni un mix di tutti i colori. A 45 gradi in tutte le direzioni la luce è un mix uguale di rosso, verde e blu, in altre parole, luce bianca. Le parti utilizzate sono disponibili nei negozi di elettronica di hobby su Internet. Dovrebbe essere identificabile da alcune delle immagini.
Passaggio 1: trasmettitore con accelerometro
Il trasmettitore è basato sul microcontrollore Atmel avr168. La comoda scheda rossa con il 168 è una scheda arduino con regolatore di tensione e circuito di ripristino. L'accelerometro è collegato all'avr con bus i2c bit-banged e la scheda wireless è collegata con hardware SPI, (Serial Peripheral Interface).
La breadboard è completamente wireless con il pacco batteria da 4, 8 V legato sotto. La scheda wireless e l'arduino wee accettano fino a 9 V e hanno un regolatore di tensione lineare integrato, ma l'accelerometro necessita di 3, 3 V dalla guida regolata sul wee.
Passaggio 2: ricevitore con LED RGB
Il ricevitore si basa sulla demoboard atmel avr169 denominata butterfly. La scheda ha molte funzionalità non utilizzate in questo progetto. Il ricetrasmettitore wireless è collegato a PortB e il led controllato da pwm è collegato a PortD. L'alimentazione è fornita dall'intestazione dell'ISP, 4,5 V sono sufficienti. La scheda wireless può tollerare 5 V sui pin i/o, ma necessita di un'alimentazione di 3,3 V fornita dal regolatore di bordo.
Il cavo di intestazione modificato per il ricetrasmettitore rf è davvero conveniente e collega la scheda wireless con l'alimentazione e il controller spi hardware sulla farfalla. Lo shiftbright è un controller di modulazione di larghezza di impulso a led rgb che accetta un comando a 4 byte che viene agganciato e quindi agganciato sui pin di uscita. Davvero facile da collegare in serie. Basta spostare molte parole di comando e la prima spostata finirà nell'ultimo LED collegato nel collegamento a margherita.
Passaggio 3: programmazione C
Il codice è scritto in C poiché non mi interessava imparare il linguaggio di elaborazione "più semplice" su cui si basa arduino. Ho scritto io stesso l'interfaccia del tranceiver SPI e rf per l'esperienza di apprendimento, ma ho preso in prestito il codice assembler i2c da avrfreaks.net. L'interfaccia shiftbright è bitbanged in codice C. Un problema che ho riscontrato sono state le piccole variazioni irregolari nell'uscita dell'accelerometro, che hanno reso molto sfarfallio il led. Ho risolto questo problema con un filtro passa basso software. Una media pesata mobile sui valori dell'accelerometro. L'rf-tranceiver supporta hardware crc e ack con ritrasmissione automatica, ma per questo progetto l'aggiornamento in tempo reale e regolare dei led era più importante. Non è necessario che ogni pacchetto con valori dell'accelerometro arrivi intatto al destinatario, a condizione che i pacchetti corrotti vengano scartati. Non ho avuto problemi con i pacchetti RF persi entro una linea di vista di 20 metri. Ma più lontano il collegamento è diventato instabile e i led non si sono aggiornati continuamente. Il loop principale del trasmettitore in pseudo-code:initialize();while(true){ Values = abs(get x,y,z accelerometer values()); RF_send(Valori); delay(20ms);}Il ciclo principale del ricevitore in pseudo-code:initialize();while(true){ newValues = blocking_receiveRF()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); scrivi rgbValues su shiftbrigth;}
Passaggio 4: il risultato
Sono rimasto stupito da quanto fosse fluido e preciso il controllo. Hai davvero un controllo di precisione del colore con la punta delle dita. Il controller pwm-LED ha una risoluzione di 10 bit per ogni colore, il che rende possibili milioni di colori. Sfortunatamente l'accelerometro ha solo una risoluzione di 8 bit che porta il numero di colori teorici fino a migliaia. Ma non è ancora possibile percepire alcun passo nel cambiamento di colore. Ho messo il ricevitore in una lampada IKEA e ho scattato una foto di diversi colori qui sotto. C'è anche un video, (qualità orribile però)
Consigliato:
Portable Disco V2 - LED controllati dal suono: 11 passaggi (con immagini)
Disco portatile V2 - LED controllati dal suono: ho fatto molta strada nel mio viaggio nell'elettronica da quando ho realizzato la mia prima discoteca portatile. Nella build originale ho messo insieme un circuito su una scheda prototipo e sono riuscito a costruire una piccola discoteca tascabile. Questa volta ho progettato il mio PCB e
Neopixel controllati da smartphone (striscia LED) con app Blynk tramite WiFi: 6 passaggi
Neopixel controllati da smartphone (striscia LED) con app Blynk tramite WiFi: ho creato questo progetto dopo essermi ispirato dai neopixel controllati da smartphone in una casa di amici, ma i suoi sono stati acquistati in negozio. Ho pensato "quanto può essere difficile crearne uno mio, sarebbe anche molto più economico!"Ecco come. Nota: presumo che tu sia fa
LED Bluetooth controllati da smartphone (con Live Music Sync): 7 passaggi
LED Bluetooth controllati da smartphone (con Live Music Sync): mi è sempre piaciuto costruire cose, dopo aver scoperto che il mio nuovo dormitorio del college aveva un'illuminazione terribile, ho deciso di ravvivarlo un po'.***ATTENZIONE*** Se costruisci questo progetto sulla stessa scala della mia configurazione, lavorerai con una discreta quantità di ele
LED controllati da Google Home: 8 passaggi
LED controllati da Google Home: ultimamente ho avuto molto tempo libero a disposizione, quindi ho lavorato su un sacco di progetti. Questo progetto ti consentirà di controllare i LED RGB tramite Google Home utilizzando un Raspberry Pi. Ora ci sono 3 parti del progetto, impostare un Raspberry Pi, impostare
LED controllati dal suono - Pocket Disco: 11 passaggi (con immagini)
LED controllati dal suono - Pocket Disco: crea la tua discoteca tascabile con alcuni LED controllati dalla musica. Tutto ciò di cui hai bisogno è un po' di musica o suono e i LED balleranno al suono. Questo è un piccolo circuito davvero funzionante da costruire e ha bisogno solo di pochi componenti per realizzarlo. Il principale b