Obsah:
- Krok 1: Vysielač s akcelerometrom
- Krok 2: Prijímač s RGB-LED
- Krok 3: C-programovanie
- Krok 4: Výsledok
Video: Bezdrôtový akcelerometer ovládaný RGB LED diódami: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Akcelerometre MEMS (mikroelektromechanické systémy) sa široko používajú ako snímače náklonu v mobilných telefónoch a fotoaparátoch. Jednoduché akcelerometre sú k dispozícii ako ic-chip a lacné vývojové dosky s plošnými spojmi.
Bezdrôtové čipy sú tiež cenovo dostupné a sú k dispozícii v zostavených obvodoch so zodpovedajúcou anténnou sieťou a odpojovacími krytmi na palube. Pripojte bezdrôtovú dosku a akcelerometer k mikrokontroléru prostredníctvom sériového rozhrania a máte bezdrôtový ovládač s funkciami nintendo-wii. Potom zostrojte prijímač s rovnakým typom bezdrôtového čipu a rwb-LED diódami riadenými pomocou PWM, voila, máte bezdrôtové, naklápaním ovládané farebné izbové osvetlenie. Dosku vysielača udržujte v rovine tak, aby doštička smerovala nahor a dióda LED bola studená modrá, aktívna je iba modrá dióda. Potom nakloňte vysielač v jednom smere a mixujete červenú alebo zelenú podľa toho, akým smerom ho nakloníte. Nakloňte ho úplne na 90 stupňov a prechádzate všetkými mixmi červenej a modrej alebo zelenej a modrej, kým pri 90 stupňovom náklone nie je aktívna iba červená alebo zelená. Nakloňte sa trochu v smere x aj y a získate mix všetkých farieb. Pri 45 stupňoch vo všetkých smeroch je svetlo rovnakou zmesou červeného, zeleného a modrého, inými slovami bieleho svetla. Použité diely sú dostupné v internetových obchodoch s elektronikou. Mali by byť identifikovateľné z niektorých obrázkov.
Krok 1: Vysielač s akcelerometrom
Vysielač je založený na mikrokontroléri Atmel avr168. Pohodlná červená doska so 168 je arduino doska s regulátorom napätia a resetovacím obvodom. Akcelerometer je pripojený k avr pomocou zbernice i2c s bitovým bangom a bezdrôtová doska je pripojená k hardvéru SPI (sériové periférne rozhranie).
Nepájivá doska je úplne bezdrôtová a zospodu je pripútaná 4, 8V batéria. Bezdrôtová doska a arduino wee prijíma až 9 V a má vstavaný lineárny regulátor napätia, ale akcelerometer potrebuje 3, 3 V z regulovanej koľajnice na útlom.
Krok 2: Prijímač s RGB-LED
Prijímač je založený na demoboarde atmel avr169 s názvom motýľ. Doska má mnoho funkcií, ktoré v tomto projekte nie sú použité. Bezdrôtový tranceiver je pripojený k PortB a LED riadená pwm je pripojená k PortD. Napájanie je dodávané na hlavičke ISP, stačí 4,5 V. Bezdrôtová doska môže tolerovať 5 V na i/o kolíkoch, ale potrebuje napájanie 3,3 V, ktoré dodáva integrovaný regulátor.
Upravený kábel záhlavia pre RF tranceiver je skutočne pohodlný a pripája bezdrôtovú dosku k napájaciemu a hardvérovému ovládaču spi na motýliku. Shiftbright je radič pulznej šírky vedený na RGB, ktorý prijíma 4 bajtový príkaz, ktorý je zaistený a potom zaistený na výstupných kolíkoch. Naozaj ľahké sériové pripojenie. Stačí posunúť mnoho príkazových slov a prvé posunuté von skončí v poslednej pripojenej dióde LED v reťazci.
Krok 3: C-programovanie
Kód je napísaný v jazyku C, pretože som sa nestaral o to, aby som sa naučil „jednoduchší“jazyk spracovania, na ktorom je arduino založené. Sám som napísal rozhranie SPI a RF tranceiver kvôli vzdelávaniu, ale požičal som si kód assembleru i2c z avrfreaks.net. Rozhranie shiftbright je v C-kóde bitbangované. Jeden problém, s ktorým som sa stretol, boli malé žiarivé odchýlky vo výstupe akcelerometra, čo spôsobilo, že LED blikalo veľa. Vyriešil som to softvérovým dolnopriepustným filtrom. Pohyblivý vážený priemer na hodnotách akcelerometra. RF-tranceiver podporuje hardvér CRC a Ack s automatickým retransmitom, ale pre tento projekt bola dôležitejšia hladká aktualizácia LED v reálnom čase. Každý paket s hodnotami akcelerometra nemusí prísť neporušený k prijímaču, pokiaľ sú poškodené pakety vyradené. Nemal som problémy so stratenými paketmi RF do vzdialenosti 20 metrov. Spojenie sa však stalo nestabilným a diódy sa neaktualizovali nepretržite. Hlavná slučka vysielača v pseudokóde: initialize (); while (true) {Values = abs (get x, y, z accelerometer values ()); RF_send (hodnoty); oneskorenie (20 ms);} Hlavná slučka prijímača v pseudokóde: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); napíšte rgbValues to shiftbrigth;}
Krok 4: Výsledok
Bol som prekvapený, aké hladké a presné bolo ovládanie. Skutočne máte kontrolu nad presnosťou farby prstom. Ovládač pwm-LED má 10-bitové rozlíšenie pre každú farbu, čo vytvára milióny možných farieb. Akcelerometer má bohužiaľ iba 8 -bitové rozlíšenie, čo znižuje počet teoretických farieb na tisíce. Ale stále nie je možné vnímať žiadne stupňovanie zmeny farby. Prijímač som vložil do žiarovky IKEA a nižšie som odfotil rôzne farby. K dispozícii je aj video (hrozná kvalita)
Odporúča:
Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky
Raspberry Pi-3-osový akcelerometer ADXL345 Python Výukový program: ADXL345 je malý, tenký, extrémne nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Bezdrôtový tank ovládaný Arduino (nRF24L01): 6 krokov (s obrázkami)
Bezdrôtový tank ovládaný Arduino (nRF24L01): Ahoj! Dnes vám ukážem, ako postaviť tank a diaľkové ovládanie pomocou Arduina. 3D tlačené časti nádrže (s výnimkou ovládača, vedenia koľaje a krytu nádrže) navrhol timmiclark a nájdete ich tu
Bezdrôtový robot Arduino ovládaný počítačom: 4 kroky
Bezdrôtový robot Arduino ovládaný počítačom: V tomto návode sa naučíte, ako nastaviť komunikačný kanál medzi počítačom a robotom založeným na Arduine. Robot, ktorého tu používame, používa na pohyb mechanizmus diferenciálneho riadenia. Používam namiesto MO motorový ovládač na báze relé
Bezdrôtový TTL prevodník ESP8266 ESP-12E UART Bezdrôtový WIFI štít TTL Nekomplikovaný: 5 krokov
Bezdrôtový prevodník TTL ESP8266 ESP-12E UART na bezdrôtový WIFI štít TTL Nekomplikovaný: Táto príručka je určená ľuďom, ktorí si kúpili bezdrôtový prevodník TTL štítu ESP8266 ESP-12E UART Wireless WIFI Shield a nevedia, ako ho používať s Arduino. Tento návod bol pôvodne napísaný v portugalčine tu v Brazílii. Snažil som sa zo všetkých síl zabaliť
Premeňte bezdrôtový smerovač na bezdrôtový predlžovač 2x prístupový bod: 5 krokov
Premeňte bezdrôtový smerovač na bezdrôtový predlžovač 2x prístupový bod: V dome som mal zlé bezdrôtové internetové pripojenie kvôli RSJ (kovový nosný lúč v strope) a chcel som zosilniť signál alebo pridať ďalší predlžovač pre zvyšok domu. Videl som predlžovače pre asi 50 libier v elektrickom