Sadržaj:

Rgb-LED upravljani bežični akcelerometar: 4 koraka
Rgb-LED upravljani bežični akcelerometar: 4 koraka

Video: Rgb-LED upravljani bežični akcelerometar: 4 koraka

Video: Rgb-LED upravljani bežični akcelerometar: 4 koraka
Video: SPEAKER + WIRELESS CHARGING + 6IN1 LAMP 🔥🔥🔥 2024, Studeni
Anonim
Rgb-LED upravljani bežičnim akcelerometrom
Rgb-LED upravljani bežičnim akcelerometrom
Rgb-LED upravljani bežičnim akcelerometrom
Rgb-LED upravljani bežičnim akcelerometrom

MEMS (mikro-elektro-mehanički sustavi) akcelerometri su u širokoj upotrebi kao senzori nagiba u mobilnim telefonima i kamerama. Jednostavni akcelerometri dostupni su i kao ic-chip i kao jeftine razvojne pcb ploče.

Bežični čipovi su također pristupačni i dostupni u sklopljenim krugovima, s usklađenom antenskom mrežom i poklopcima za odvajanje. Priključite bežičnu ploču i mjerač ubrzanja na mikrokontroler putem serijskog sučelja i dobit ćete bežični kontroler s funkcijama nintendo-wii. Zatim napravite prijemnik s istom vrstom bežičnog čipa i pwm-upravljanim rgb-LED diodama, voila, imate bežičnu sobnu rasvjetu s kontroliranim nagibom. Ploču odašiljača držite u ravnini s pločom prema gore, a LED je hladno plava, aktivna je samo plava LED dioda. Zatim nagnite odašiljač u jednom smjeru i umiješajte crvenu ili zelenu boju, ovisno o smjeru naginjanja. Nagnite se do 90 stupnjeva i prolazite kroz sve mješavine crvene i plave ili zelene i plave boje sve dok samo crvena ili zelena ne budu aktivne pri nagibu od 90 stupnjeva. Nagnite malo u smjeru x i y i dobit ćete mješavinu svih boja. Na 45 stupnjeva u svim smjerovima svjetlost je jednaka mješavina crvene, zelene i plave, drugim riječima, bijele svjetlosti. Korišteni dijelovi dostupni su u internetskim trgovinama elektroničke hobije. Trebalo bi se prepoznati na nekim slikama.

Korak 1: Odašiljač s akcelerometrom

Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom
Odašiljač s akcelerometrom

Odašiljač se temelji na mikrokontroleru Atmel avr168. Prikladna crvena ploča sa 168 je arduino ploča s regulatorom napona i krugom za resetiranje. Akcelerometar je spojen na avr pomoću bit-banged i2c sabirnice, a bežična ploča je povezana s hardverskim SPI-jem (serijsko periferno sučelje).

Matična ploča je potpuno bežična s 4, 8V baterijskim paketom pričvršćenim ispod. Bežična ploča i arduino wee prihvaćaju do 9 V i imaju ugrađeni linearni regulator napona, ali akcelerometru je potrebno 3, 3V iz regulirane tračnice.

Korak 2: Prijemnik s RGB-LED

Prijemnik s RGB-LED
Prijemnik s RGB-LED
Prijemnik s RGB-LED
Prijemnik s RGB-LED
Prijemnik s RGB-LED
Prijemnik s RGB-LED

Prijemnik se temelji na demo ploči atmel avr169 nazvanoj leptir. Ploče imaju puno značajki koje se ne koriste u ovom projektu. Bežični primopredajnik spojen je na PortB, a LED koji kontrolira pwm spojen je na PortD. Napajanje se napaja iz ISP zaglavlja, dovoljno je 4,5V. Bežična ploča može podnijeti 5V na ulazno/izlaznim pinovima, ali joj je potrebno napajanje od 3.3 V koje napaja ugrađeni regulator.

Modificirani kabel zaglavlja za RF prijemnik vrlo je zgodan i povezuje bežičnu ploču s napajanjem i hardverskim spi kontrolerom na leptiru. Shiftbright je kontroler modulacije širine impulsa predvođen rgb-om koji prihvaća naredbu od 4 bajta koja je zaključana, a zatim zaključana na izlaznim pinovima. Zaista jednostavno povezivanje u seriju. Samo pomaknite mnoge naredbene riječi i prva pomaknuta van će završiti u posljednjoj spojenoj LED diodi u lancu tratinčice.

Korak 3: C-programiranje

Kôd je napisan na C jer me nije zanimalo učenje "lakšeg" jezika za obradu na kojem se temelji arduino. Sam sam napisao sučelje SPI i rf tranceiver za iskustvo učenja, ali posudio sam i2c asemblerski kod s avrfreaks.net. Shiftbright sučelje je bitbanged u C-kodu. Jedan problem na koji sam naišao bile su male iracionalne varijacije u izlazu akcelerometra, zbog čega je LED svjetlo jako treperilo. Riješio sam to softverskim niskopropusnim filterom. Pokretni ponderirani prosjek na vrijednostima akcelerometra. RF-tranceiver podržava hardverski crc i ack s automatskim ponovnim odašiljanjem, no za ovaj je projekt glatko ažuriranje LED dioda u stvarnom vremenu bilo važnije. Svaki paket s vrijednostima akcelerometra ne mora stići netaknut u prijemnik, sve dok se oštećeni paketi odbacuju. Nisam imao problema sa izgubljenim RF paketima u krugu od 20 metara od vidokruga. No dalje je veza postala nestabilna, a LED diode se nisu kontinuirano ažurirale. Glavna petlja odašiljača u pseudo kodu: initialize (); while (true) {Values = abs (get x, y, z accelerometer values ()); RF_send (Vrijednosti); delay (20ms);} Glavna petlja prijemnika u pseudo-kodu: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); upišite rgbValues za shiftbrigth;}

Korak 4: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat

Bio sam zapanjen koliko je kontrola bila glatka i točna. Zaista imate kontrolu točnosti boje prstima. Pwm-LED-kontroler ima 10-bitnu rezoluciju za svaku boju, što čini milijune mogućih boja. Nažalost, akcelerometar ima samo 8 -bitnu rezoluciju što dovodi do smanjenja broja teoretskih boja. No, još uvijek nije moguće opaziti bilo kakav korak u promjeni boje. Stavio sam prijemnik u IKEA-lampu i dolje slikao različite boje. Tu je i video zapis (ipak užasne kvalitete)

Preporučeni: