Мазмуну:

Зымсыз акселерометр көзөмөлдөгөн Rgb-LED'лер: 4 кадам
Зымсыз акселерометр көзөмөлдөгөн Rgb-LED'лер: 4 кадам

Video: Зымсыз акселерометр көзөмөлдөгөн Rgb-LED'лер: 4 кадам

Video: Зымсыз акселерометр көзөмөлдөгөн Rgb-LED'лер: 4 кадам
Video: Мына сизге ! Арзан зымсыз кулакчын Xiaomi 2024, Ноябрь
Anonim
Зымсыз акселерометр башкарылган Rgb-LEDлер
Зымсыз акселерометр башкарылган Rgb-LEDлер
Зымсыз акселерометр башкарылган Rgb-LEDлер
Зымсыз акселерометр башкарылган Rgb-LEDлер

MEMS (Микроэлектро-механикалык системалар) Акселерометрлер уюлдук телефондордо жана камераларда эңкейиш сенсорлору катары кеңири колдонулат. Жөнөкөй акселерометрлер ic-chipтин жана арзан өнүгүү pcb-board катары да жеткиликтүү.

Зымсыз чиптер дагы антенна тармагы жана борттогу ажыратуучу капкактары бар, чогултулган схемаларда жеткиликтүү жана жеткиликтүү. Зымсыз тактаны да, акселерометрди да сериялык интерфейс аркылуу микроконтроллерге илип коюңуз жана сизде nintendo-wii функциялары бар зымсыз контроллер бар. Андан кийин ошол эле типтеги зымсыз чип жана pwm көзөмөлдөгөн rgb-LED диапазону бар ресиверди куруңуз, сизде зымсыз, эңкейиш менен башкарылган түстүү бөлмө чагылган бар. Бергичти тактайдын деңгээлин нан панелин өйдө караңыз жана LED муздак көк, бир гана көк лед активдүү. Андан кийин өткөргүчтү бир жакка кыйшайтыңыз жана кайсы тарапка кыйшайтып жатканыңызга жараша кызыл же жашыл түстө аралаштырасыз. 90 градуска чейин эңкейиңиз, ошондо сиз кызыл же көк же жашыл жана көк түстөрдүн аралашмасынан өтөсүз. X жана y багытында бир аз кыйшайтыңыз жана бардык түстөрдүн аралашмасын аласыз. Бардык багыттар боюнча 45 градуста жарык кызыл, жашыл жана көк түстөрдүн бирдей аралашуусу, башкача айтканда, ак жарык. Колдонулган тетиктер интернет хобби-электрондук дүкөндөрдө бар. Кээ бир сүрөттөрдөн таанылышы керек.

1 -кадам: Акселерометр менен өткөргүч

Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч
Акселерометр менен өткөргүч

Бергич Atmel avr168 микроконтроллерине негизделген. 168 менен ыңгайлуу кызыл такта-бул чыңалуу жөнгө салуучу жана баштапкы схемасы бар ардуино-такта. Акселерометр avrга i2c шинасы менен, ал эми зымсыз такта SPI, (Serial Perifheral Interface) менен туташкан.

Нан тактасы толугу менен зымсыз, анын астына 4, 8В батарейка салынган. Зымсыз такта жана arduino wee 9 В чейин кабыл алат жана борттогу сызыктуу чыңалуу жөндөгүчүнө ээ, бирок акселерометрге жөнгө салынуучу темир жолдон 3, 3В керек.

2-кадам: RGB-LED менен алуучу

RGB-LED менен алуучу
RGB-LED менен алуучу
RGB-LED менен алуучу
RGB-LED менен алуучу
RGB-LED менен алуучу
RGB-LED менен алуучу

Алуучу көпөлөк аттуу atmel avr169 демобоардына негизделген. Такта бул долбоордо колдонулбаган көптөгөн өзгөчөлүктөргө ээ. Зымсыз трансивер PortB менен туташкан жана pwm башкарган LED PortD менен туташкан. Электр провайдеринин башына берилет, 4.5В жетиштүү. Зымсыз такта i/o казыктарында 5В чыдай алат, бирок борттогу жөнгө салуучу 3.3V камсыздоого муктаж.

RF трансферери үчүн өзгөртүлгөн баш кабель чындыгында ыңгайлуу жана көпөлөктөгү зымсыз тактаны күч жана аппараттык SPI контроллери менен байланыштырат. Shiftbright-бул rgb жетектеген импульстун тууралоо контроллери, ал 4 байттык буйрукту кабыл алат, андан кийин чыккычтарга илинет. Чындап эле серияга туташуу оңой. Жөн гана көптөгөн буйрук сөздөрүн жылдырыңыз, жана биринчи жылдырылган ромашка чынжырындагы акыркы туташкан LEDге жетет.

3-кадам: C-программалоо

Код C тилинде жазылган, анткени arduino негизделген "оңой" иштетүү тилин үйрөнүүгө кам көргөн жокмун. Мен SPI жана rf transanceiver интерфейсин үйрөнүү тажрыйбасы үчүн өзүм жазгам, бирок avrfreaks.net сайтынан i2c assembler-кодун карызга алдым. Shiftbright интерфейси C-коддо битбанг кылынат. Мен туш болгон бир көйгөй акселерометрдин өндүрүшүндөгү анча чоң эмес иррадициялык вариациялар болчу, бул LEDдин көп жылтылдашына алып келди. Мен муну программалык камсыздоонун төмөн өтүү чыпкасы менен чечтим. Акселерометрдин баалуулугу боюнча орточо салмактуу кыймыл. РФ-трансивер автоматтык түрдө кайра жөнөтүү менен crc жана ack аппараттык колдоосун колдойт, бирок бул долбоор үчүн реалдуу убакытта, леддердин жылмакай жаңыртылышы маанилүү болгон. Бузулган пакеттер жарактан чыгарылганда акселерометрдин мааниси бар ар бир пакеттин алуучуга бүтүн бойдон келүүсүнүн кажети жок. Мен көргөн 20 метр аралыкта жоголгон RF пакеттери менен эч кандай көйгөй болгон жок. Бирок андан ары шилтеме туруксуз болуп калды, жана ледтер дайыма жаңыртылган жок. Псевдо-коддогу өткөргүчтүн негизги цикли: initialize (); while (true) {Values = abs (x, y, z accelerometer баалуулуктарын алуу ()); RF_send (баалуулуктар); кечигүү (20ms);} Псевдо-коддогу алуучунун негизги цикли: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); shiftbrigth үчүн rgbValues жазуу;}

4 -кадам: Жыйынтык

Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык

Мен көзөмөлдүн канчалык жылмакай жана так болгонуна таң калдым. Сиз чынында эле түстүн манжаларынын тактыгын көзөмөлдөй аласыз. Pwm-LED контроллери ар бир түс үчүн 10 биттик чечимге ээ, бул миллиондогон түстөрдү түзөт. Тилекке каршы, акселерометрдин 8 биттик чечими бар, бул теориялык түстөрдүн санын миңдегенге чейин түшүрөт. Бирок түс өзгөртүү боюнча кандайдыр бир кадамды кабыл алуу азырынча мүмкүн эмес. Мен ресиверди IKEA-лампага салып, төмөндө ар кандай түстөгү сүрөткө түштүм. Ошондой эле видео бар, (коркунучтуу сапат)

Сунушталууда: