Мазмұны:

Сымсыз акселерометр басқарылатын Rgb-LED: 4 қадам
Сымсыз акселерометр басқарылатын Rgb-LED: 4 қадам

Бейне: Сымсыз акселерометр басқарылатын Rgb-LED: 4 қадам

Бейне: Сымсыз акселерометр басқарылатын Rgb-LED: 4 қадам
Бейне: 💦Blackview BV9200 АДАЛ соққыға төзімді шолу 2024, Шілде
Anonim
Сымсыз акселерометр басқарылатын Rgb-LED
Сымсыз акселерометр басқарылатын Rgb-LED
Сымсыз акселерометр басқарылатын Rgb-LED
Сымсыз акселерометр басқарылатын Rgb-LED

MEMS (микроэлектро-механикалық жүйелер) акселерометрлер ұялы телефондар мен камераларда көлбеу сенсор ретінде кеңінен қолданылады. Қарапайым акселерометрлер ic-чипті де, арзан компьютерлік тақталар ретінде де қол жетімді.

Сымсыз чиптер сонымен қатар қол жетімді және антенналық желі мен бортында ажыратқыш қақпақтары бар жинақталған схемаларда қол жетімді. Сымсыз тақтаны да, акселерометрді де сериялық интерфейс арқылы микроконтроллерге жалғаңыз, сонда сізде nintendo-wii функциялары бар сымсыз контроллер бар. Содан кейін бір типті сымсыз чипі мен pwm басқарылатын rgb-светодиодтары бар қабылдағышты жасаңыз, voila, сізде сымсыз, көлбеу басқарылатын түсті бөлме найзағайы бар. Таратқыш тақтаны жоғары қаратып, светодиодты көк түспен ашық күйде ұстаңыз, тек көк жарық қосулы. Содан кейін таратқышты бір бағытқа еңкейтіңіз, сіз оны қай бағытқа қарай бұрғаныңызға қарай қызыл немесе жасыл түспен араластырасыз. 90 градусқа дейін еңкейтіңіз, сонда сіз қызыл мен көк немесе жасыл мен көк түстердің барлық қоспаларынан 90 градусқа еңкейту кезінде тек қызыл немесе жасыл белсенді болғанша өтесіз. X және y бағытында сәл қисайтыңыз, сонда сіз барлық түстердің қоспасын аласыз. Барлық бағыттар бойынша 45 градуста жарық - қызыл, жасыл және көк түстің, басқаша айтқанда, ақ жарықтың қоспасы. Қолданылатын бөлшектерді интернет-хобби-электронды дүкендерден алуға болады. Кейбір суреттерден анықталуы керек.

1 -қадам: Акселерометрі бар таратқыш

Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш
Акселерометрі бар таратқыш

Таратқыш Atmel avr168 микроконтроллеріне негізделген. 168 бар ыңғайлы қызыл тақта-кернеу реттегіші мен қалпына келтіру схемасы бар ардуино-тақта. Акселерометр авр-ға i2c шинасы арқылы қосылған, ал сымсыз тақта SPI аппараттық құралына қосылған (сериялық перифериялық интерфейс).

Нан тақтасы толық сымсыз, оның астына 4, 8В батареясы салынған. Сымсыз тақта мен arduino wee 9 В дейін қабылдайды және борттық желілік кернеу реттегіші бар, бірақ акселерометрге арадағы реттелетін рельстен 3, 3В қажет.

2-қадам: RGB-светодиодты қабылдағыш

RGB-светодиодты қабылдағыш
RGB-светодиодты қабылдағыш
RGB-светодиодты қабылдағыш
RGB-светодиодты қабылдағыш
RGB-светодиодты қабылдағыш
RGB-светодиодты қабылдағыш

Қабылдағыш көбелек деп аталатын atmel avr169 демобоардына негізделген. Тақтада бұл жобада қолданылмайтын көптеген мүмкіндіктер бар. Сымсыз трансивер PortB-ке қосылған, ал pwm басқарылатын светодиод PortD-ге қосылған. Қуат провайдер провайдерінде беріледі, 4,5В жеткілікті. Сымсыз тақта кіріс -шығыс 5В кернеуіне шыдай алады, бірақ борттық реттегіш жеткізетін 3.3В кернеуі қажет.

RF трансиверіне арналған модификацияланған үстіңгі кабель шынымен ыңғайлы және көбелектегі спи контроллері бар сымсыз тақтаны қосады. Shiftbright-бұл 4 байтты пәрменді қабылдайтын, содан кейін шығыс түйреуіштерінде бекітілген rgb басқаратын импульстік енді модулятор. Серияға қосылу өте оңай. Көптеген командалық сөздерді алып тастаңыз, және бірінші ауысу ромашка тізбегіндегі соңғы қосылған жарық диодында болады.

3-қадам: С-бағдарламалау

Код C түрінде жазылған, себебі мен arduino негізделген «жеңіл» өңдеу тілін үйренуге мән бермедім. Мен SPI мен rf transanceiver интерфейсін оқу тәжірибесі үшін жаздым, бірақ avrfreaks.net сайтынан i2c ассемблер-кодын алдым. Shiftbright интерфейсі C-кодында разрядталған. Мен тапқан бір мәселе-акселерометрдің шығысындағы кішігірім иррационалды ауытқулар болды, бұл жарықдиодты қатты жыпылықтады. Мен мұны бағдарламалық қамтамасыз етудің төмен өту сүзгісімен шештім. Акселерометр мәндері бойынша жылжымалы орташа салмақ. Rf-трансивер автоматты түрде қайта жіберу арқылы crc және ack аппараттық құралдарын қолдайды, бірақ бұл жоба үшін светодиоды нақты уақытта, біркелкі жаңарту маңызды болды. Зақымдалған пакеттер жойылған кезде акселерометр мәндері бар әрбір пакетке ресивердің толық келуін қажет етпейді. Мен 20 метр қашықтықта жоғалған радиожиілік пакеттерімен ешқандай проблемалар болған жоқ. Бірақ одан әрі сілтеме тұрақсыз болды, ал светодиодтар үнемі жаңартылмады. Псевдо-кодтағы таратқыштың негізгі циклы: initialize (); while (true) {Values = abs (x, y, z акселерометр мәндерін алу ()); RF_send (мәндер); кешіктіру (20ms);} жалған кодтағы ресивердің негізгі циклы: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); shiftbrigth үшін rgbValues жазыңыз;}

4 -қадам: Нәтиже

Нәтиже
Нәтиже
Нәтиже
Нәтиже
Нәтиже
Нәтиже
Нәтиже
Нәтиже

Мен бақылаудың қаншалықты тегіс және дәл екеніне таң қалдым. Сізде шын мәнінде түс саусақтарының дәлдігін бақылау бар. Pwm-LED-контроллері әр түс үшін 10 биттік ажыратымдылыққа ие, бұл миллиондаған түстерге мүмкіндік береді. Өкінішке орай, акселерометрдің тек 8 биттік ажыратымдылығы бар, бұл теориялық түстердің санын мыңға дейін төмендетеді. Бірақ түс өзгерісінің кез келген қадамын қабылдау әлі мүмкін емес. Мен ресиверді IKEA-шамға салып, төменде түрлі түсті суретке түсірдім. Сондай -ақ, бейне бар (бірақ қорқынышты сапа)

Ұсынылған: