Innehållsförteckning:
- Steg 1: Sändare med accelerometer
- Steg 2: Mottagare med RGB-LED
- Steg 3: C-programmering
- Steg 4: Resultatet
Video: Trådlös accelerometerstyrda Rgb-LED: er 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
MEMS (mikroelektromekaniska system) Accelerometrar används i stor utsträckning som lutningssensorer i mobiltelefoner och kameror. Enkla accelerometrar finns både som IC-chips och billiga utvecklings-PCB-kort.
Trådlösa chips är också prisvärda och tillgängliga i monterade kretsar, med matchande antenn-nätverk och avkopplingskåpor ombord. Anslut både trådlöst kort och accelerometer till en mikrokontroller via seriellt gränssnitt och du har en trådlös handkontroll med nintendo-wii-funktioner. Bygg sedan en mottagare med samma typ av trådlöst chip och pwm-styrda rgb-lysdioder, voila, du har trådlösa, lutningsstyrda färgade rumsblixten. Håll sändarkortet i nivå med brödbrädet uppåt och lysdioden är svalblå, bara blå lysdiod är aktiv. Luta sedan sändaren i en riktning och du blandar i rött eller grönt beroende på vilken riktning du lutar den. Luta hela vägen till 90 grader, och du går genom alla blandningar av rött och blått eller grönt och blått tills bara rött eller grönt är aktivt vid 90 graders lutning. Luta lite åt både x- och y -riktning så får du en blandning av alla färger. Vid 45 grader i alla riktningar är ljuset en lika blandning av rött, grönt och blått, med andra ord, vitt ljus. Delarna som används är tillgängliga från internet-hobby-elektroniska butiker. Bör identifieras på några av bilderna.
Steg 1: Sändare med accelerometer
Sändaren är baserad på Atmel avr168 mikrokontroller. Den praktiska röda kortet med 168 är ett arduino-kort med spänningsregulator och återställningskrets. Acceleratorn är ansluten till avr med bit-banged i2c-buss, och det trådlösa kortet är anslutet med hårdvaruspi (Serial Peripheral Interface).
Brödbrädan är helt trådlös med 4, 8V batteripaketet spänt under. Det trådlösa kortet och arduino wee accepterar upp till 9 V och har inbyggd linjär spänningsregulator, men accelerometern behöver 3, 3V från den reglerade skenan på wee.
Steg 2: Mottagare med RGB-LED
Mottagaren är baserad på atmel avr169 demoboard som heter butterfly. Styrelsen har många funktioner som inte används i detta projekt. Den trådlösa tranceivern är ansluten till PortB och den pwm-styrda lysdioden är ansluten till PortD. Strömförsörjning från ISP-header, 4,5V räcker. Det trådlösa kortet tål 5V på i/o -stift, men behöver 3,3V -matning som levereras av den inbyggda regulatorn.
Den modifierade header-kabeln för rf tranceiver är riktigt bekväm och ansluter trådlöst kort med power- och hardware spi-controller på fjärilen. Shiftbright är en rgb-ledd pulsbreddsmoduleringskontroll som accepterar ett 4 byte kommando som låses in och sedan låses ut på utgångsstiften. Riktigt enkelt att ansluta i serie. Växla bara ut många kommandoord, och det första utskjutna kommer att hamna i den senast anslutna lysdioden i daisy-chain.
Steg 3: C-programmering
Koden är skriven i C eftersom jag inte brydde mig om att lära mig det "enklare" bearbetningsspråket som arduino bygger på. Jag skrev själv SPI och rf tranceiver-gränssnittet för inlärningsupplevelsen, men lånade i2c assembler-koden från avrfreaks.net. Shiftbright-gränssnittet är bitbanged i C-kod. Ett problem som jag stötte på var små irradiska variationer i accelerometerutgång, vilket gjorde att LED: n flimrade mycket. Jag löste detta med ett program för lågpassfilter. Ett rörligt vägt genomsnitt på accelerometervärdena. Rf-tranceiver stöder hårdvara crc och ack med automatisk sändning, men för detta projekt var realtid, smidig uppdatering av lysdioderna viktigare. Varje paket med accelerometervärden behöver inte komma intakt till mottagaren, så länge skadade paket kasseras. Jag hade inga problem med förlorade RF -paket inom 20 meters sikt. Men längre bort blev länken instabil och lysdioderna uppdaterades inte kontinuerligt. Sändarens huvudslinga i pseudokod: initiera (); medan (sant) {Värden = abs (få x, y, z accelerometervärden ()); RF_send (Värden); delay (20ms);} Mottagarens huvudslinga i pseudokod: initiera (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); skriv rgbValues till shiftbrigth;}
Steg 4: Resultatet
Jag blev förvånad över hur smidig och exakt kontrollen var. Du har verkligen fingertoppens noggrannhetskontroll av färgen. Pwm-LED-styrenheten har 10 bitars upplösning för varje färg, vilket ger miljontals möjliga färger. Tyvärr har accelerometern bara 8 -bitars upplösning vilket ger antalet teoretiska färger ner till tusentals. Men det är fortfarande inte möjligt att uppfatta några steg i färgförändringar. Jag satte mottagaren i en IKEA-lampa och tog en bild av olika färger nedan. Det finns också en video, (hemsk kvalitet dock)
Rekommenderad:
Hur man gör en trådlös burk-telefon! (Arduino Walkie Talkie): 7 steg (med bilder)
Hur man gör en trådlös burk telefon! (Arduino Walkie Talkie): Precis häromdagen var jag mitt i ett mycket viktigt telefonsamtal när min banantelefon slutade fungera! Jag var så frustrerad. Det är sista gången jag missar ett samtal på grund av den dumma telefonen! (I efterhand kan jag ha blivit lite för arg i
Bult - DIY trådlös laddningsklocka (6 steg): 6 steg (med bilder)
Bult - DIY trådlös laddningsklocka (6 steg): Induktiva laddningar (även känd som trådlös laddning eller trådlös laddning) är en typ av trådlös kraftöverföring. Den använder elektromagnetisk induktion för att tillhandahålla el till bärbara enheter. Den vanligaste applikationen är Qi trådlös laddningsstation
Trådlös Arduino -robot med HC12 trådlös modul: 7 steg
Trådlös Arduino -robot som använder HC12 trådlös modul: Hej killar, välkommen tillbaka. I mitt förra inlägg förklarade jag vad en H Bridge Circuit är, L293D motorförare IC, piggybacking L293D Motorförare IC för att köra högströmsmotordrivrutiner och hur du kan designa och göra din egen L293D -motorförarkort,
Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian -stretch: 6 steg
Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian Stretch: Raspberry Pi är bra att skapa säkra trådlösa åtkomstpunkter men det har inte ett bra utbud, jag använde en TP Link WN7200ND trådlös adapter för att förlänga den. Jag vill dela hur jag gör det Varför vill jag använda en hallon pi istället för en router? T
Hacka en trådlös dörrklocka till en trådlös larmströmbrytare eller strömbrytare: 4 steg
Hacka en trådlös dörrklocka till en trådlös larmströmbrytare eller strömbrytare: Jag byggde nyligen ett larmsystem och installerade det i mitt hus. Jag använde magnetbrytare på dörrarna och kopplade dem via vinden. Fönstren var en annan historia och hårda kablar var inte ett alternativ. Jag behövde en trådlös lösning och det här är