Агуулгын хүснэгт:

Утасгүй акселерометрийн хяналттай Rgb-LED: 4 алхам
Утасгүй акселерометрийн хяналттай Rgb-LED: 4 алхам

Видео: Утасгүй акселерометрийн хяналттай Rgb-LED: 4 алхам

Видео: Утасгүй акселерометрийн хяналттай Rgb-LED: 4 алхам
Видео: Видео ПРОЕКТОР ДЛЯ ИГР!!! VIVICINE K3 на базе ANDROID 9.0 #vivicine 2024, Долдугаар сарын
Anonim
Утасгүй акселерометрийн хяналттай Rgb-LED
Утасгүй акселерометрийн хяналттай Rgb-LED
Утасгүй акселерометрийн хяналттай Rgb-LED
Утасгүй акселерометрийн хяналттай Rgb-LED

MEMS (Micro-Electro-Mechanical Systems) Акселерометрийг гар утас, камерт хазайлтын мэдрэгч болгон өргөн ашигладаг. Энгийн акселерометрийг ic-chip болон pcb-ийн хямд хөгжүүлэлтийн аль алинд нь ашиглах боломжтой.

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

Алхам 1: Акселерометр бүхий дамжуулагч

Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч
Акселерометр бүхий дамжуулагч

Дамжуулагч нь Atmel avr168 микроконтроллер дээр суурилдаг. 168-тай тохиромжтой улаан самбар бол хүчдэлийн зохицуулагч, дахин тохируулах хэлхээ бүхий ардуино самбар юм. Акселерометр нь avr-т i2c автобусаар холбогдсон бөгөөд утасгүй самбар нь SPI техник хангамжтай холбогддог (Цуваа захын интерфейс).

Талхны самбар нь утасгүй бөгөөд 4, 8В батерейны савыг доор нь бэхэлсэн байна. Утасгүй самбар ба arduino wee нь 9 В хүртэлх хүчийг хүлээн авдаг бөгөөд хүчдэлийн шугаман тогтворжуулагчтай боловч хурд хэмжигч нь зохицуулалттай төмөр замаас 3, 3В шаардлагатай байдаг.

Алхам 2: RGB-LED хүлээн авагч

RGB-LED хүлээн авагч
RGB-LED хүлээн авагч
RGB-LED хүлээн авагч
RGB-LED хүлээн авагч
RGB-LED хүлээн авагч
RGB-LED хүлээн авагч

Хүлээн авагч нь эрвээхэй нэртэй atmel avr169 demoboard дээр суурилсан болно. Самбар нь энэ төсөлд ашиглагдаагүй маш олон онцлог шинж чанартай байдаг. Утасгүй дамжуулагч нь PortB-д холбогдсон бөгөөд pwm удирдлагатай LED нь PortD-т холбогдсон байна. ISP-ийн толгой дээр тэжээл өгдөг, 4.5V хангалттай. Утасгүй самбар нь оролтын 5V -ийг тэсвэрлэх чадвартай боловч самбар дээрх зохицуулагчаар хангадаг 3.3V тэжээл шаардлагатай.

RF трансфериверийн өөрчлөгдсөн толгой-кабель нь үнэхээр тохиромжтой бөгөөд эрвээхэй дээрх утасгүй самбарыг цахилгаан хангамж, тоног төхөөрөмжийн spi хянагчтай холбодог. Shiftbright нь rgb-ээр удирддаг импульсийн өргөн модуляцийн хянагч бөгөөд 4 байтын тушаалыг хүлээн авдаг бөгөөд дараа нь гаралтын тээглүүр дээр түгждэг. Цувралаар холбоход үнэхээр хялбар. Тушаалын олон үгсийг зүгээр л соль, тэгээд эхний ээлжинд гарсан нь Daisy-гинжин хэлхээний сүүлчийн холбогдсон LED-д дуусах болно.

Алхам 3: C програмчлал

Ардуино хэл дээр суурилсан боловсруулалтын "хялбар" хэлийг сурахад надад огт хамаагүй байсан тул кодыг С үсгээр бичсэн болно. Би SPI болон rf tranceiver интерфэйсийг өөрөө сурах туршлагад зориулж бичсэн боловч avrfreaks.net-ээс i2c ассемблер кодыг зээлж авсан. Shiftbright интерфэйсийг C-кодоор bitbanged хийдэг. Надад тулгарч байсан нэг асуудал бол акселерометрийн гаралтын бага зэргийн гажуудал байсан бөгөөд энэ нь чийдэнг маш ихээр анивчиж байв. Би үүнийг програм хангамжийн бага нэвтрүүлэх шүүлтүүрээр шийдсэн. Акселерометрийн утгуудын хөдөлгөөнт жигнэсэн дундаж үзүүлэлт. Гэмтсэн пакетуудыг хаясан тохиолдолд акселерометрийн утга бүхий пакет бүр хүлээн авагч дээр бүрэн бүтэн ирэх шаардлагагүй болно. Би 20 метрийн зайд алдсан RF пакетуудтай ямар ч асуудалгүй байсан. Гэсэн хэдий ч холбоос тогтворгүй болж, leds тасралтгүй шинэчлэгдээгүй байна. Псевдо код дахь дамжуулагчийн гол давталт: initialize (); while (true) {Values = abs (x, y, z accelerometer-ийн утгыг авах)); RF_send (Утга); delay (20ms);} Псевдо код дахь хүлээн авагчийн гол гогцоо: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); shiftbrigth руу rgbValues бичих;}

Алхам 4: Үр дүн

Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн

Хяналт хэрхэн жигд, үнэн зөв хийгдсэнийг би гайхаж байсан. Та өнгөний хурууны үзүүрийг нарийвчлалтай хянах боломжтой. Pwm-LED хянагч нь өнгө бүрийн хувьд 10 битийн нягтралтай бөгөөд энэ нь сая сая өнгийг бий болгодог. Харамсалтай нь хурдатгал хэмжигч нь ердөө 8 битийн нарийвчлалтай бөгөөд онолын өнгөний тоог хэдэн мянга болгож бууруулдаг. Гэхдээ өнгөний өөрчлөлтөд ямар нэгэн алхам хийж байгааг анзаарах боломжгүй хэвээр байна. Би хүлээн авагчаа IKEA-ийн чийдэн дээр тавиад доорх өөр өнгийн зургийг авав. Мөн видео байна, (гэхдээ аймшигтай чанар)

Зөвлөмж болгож буй: