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

Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө: 5 алхам
Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө: 5 алхам

Видео: Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө: 5 алхам

Видео: Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө: 5 алхам
Видео: Объяснение прошивки Marlin 2.0.x 2024, Арваннэгдүгээр
Anonim
Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө
Bluetooth -ээр дамжуулан DIY хяналт RGB LED өнгө

Ухаалаг чийдэн нь сүүлийн үед түгээмэл болж байгаа бөгөөд ухаалаг гэрийн хэрэгслийн гол хэсэг болж байна. Ухаалаг чийдэн нь хэрэглэгчийн ухаалаг утсан дээрх тусгай програмаар дамжуулан гэрлээ хянах боломжийг хэрэглэгчдэд олгодог; чийдэнг асааж, унтрааж, өнгийг програмын интерфейсээс өөрчилж болно. Энэ төсөлд бид гарын товчлуур эсвэл гар утасны аппликэйшнээс Bluetooth ашиглан удирдах боломжтой ухаалаг чийдэн хянагчийг бүтээсэн. Энэхүү төсөлд илүү уян хатан хандахын тулд бид хэрэглэгчийн хэрэглээний интерфейсэд орсон өнгөний жагсаалтаас гэрэлтүүлгийн өнгийг сонгох боломжийг олгодог зарим онцлог шинж чанаруудыг нэмж оруулсан болно. Энэ нь мөн "авто хольц" -ыг идэвхжүүлж, өнгөний эффект үүсгэж, гэрэлтүүлгийг хагас секунд тутамд өөрчлөх боломжтой. Хэрэглэгч PWM функцийг ашиглан өөрийн өнгөт холимог үүсгэх боломжтой бөгөөд үүнийг гурван үндсэн өнгийг (улаан, ногоон, цэнхэр) тохируулагч болгон ашиглаж болно. Бид мөн гадаад товчлууруудыг хэлхээнд нэмсэн бөгөөд ингэснээр хэрэглэгч гарын горимд шилжиж, гадаад товчлуураас цайвар өнгийг өөрчилж болно.

Энэхүү зааварчилгаа нь хоёр хэсгээс бүрдэнэ; GreenPAK ™ дизайн ба Android програмын дизайн. GreenPAK -ийн загвар нь харилцаа холбооны UART интерфэйсийг ашиглахад суурилдаг. UART -ийг ихэнх Bluetooth модулиуд болон WIFI модуль гэх мэт бусад дагалдах төхөөрөмжүүд дэмждэг тул сонгосон. Тиймээс GreenPAK загварыг олон төрлийн холболтод ашиглаж болно.

Энэхүү төслийг бүтээхийн тулд бид SLG46620 CMIC, Bluetooth модуль, RGB LED ашиглах гэж байна. GreenPAK IC нь энэ төслийн хяналтын цөм байх болно; Энэ нь Bluetooth модуль ба/эсвэл гадаад товчлуураас өгөгдөл хүлээн авдаг бөгөөд дараа нь зөв гэрэлтүүлгийг харуулах шаардлагатай процедурыг эхлүүлдэг. Энэ нь мөн ХОУХ -ны дохиог үүсгэж, LED -д гаргадаг. Доорх 1 -р зурагт блок диаграммыг харуулав.

Энэхүү төсөлд ашигладаг GreenPAK төхөөрөмж нь SPI холболтын интерфейс, PWM блок, FSM болон бусад олон нэмэлт нэмэлт блокуудыг нэг IC дээр агуулдаг. Мөн жижиг хэмжээтэй, эрчим хүчний хэрэглээ багатай гэдгээрээ онцлог юм. Энэ нь үйлдвэрлэгчдэд нэг IC ашиглан жижиг практик хэлхээг бий болгох боломжийг олгодог бөгөөд үүнтэй ижил төстэй системтэй харьцуулахад үйлдвэрлэлийн зардлыг бууруулах болно.

Энэ төсөлд бид нэг RGB LED -ийг хянадаг. Төслийг арилжааны хувьд ашигтай болгохын тулд олон LED -ийг зэрэгцээ холбож, зохих транзисторыг ашиглан гэрэлтүүлгийн түвшинг нэмэгдүүлэх шаардлагатай болно. цахилгаан хэлхээг мөн анхаарч үзэх хэрэгтэй.

Та GreenPAK чипийг RGB LED өнгийг Bluetooth -ээр хянахын тулд хэрхэн програмчлагдсан болохыг ойлгохын тулд бүх алхамыг давж болно. Гэсэн хэдий ч хэрэв та бүх дотоод хэлхээг ойлголгүйгээр IC -ийг хялбархан програмчлахыг хүсч байвал GreenPAK програмыг татаж аваад аль хэдийн дууссан GreenPAK дизайны файлыг үзнэ үү. GreenPAK Development Kit -ийг компьютер дээрээ залгаж, RGB LED өнгийг Bluetooth -ээр удирдах тусгай IC -ийг бий болгох програмыг дарна уу.

GreenPAK -ийн загвар нь доорх алхамуудад тайлбарласан UART хүлээн авагч, ХОУХШ, хяналтын хэсгээс бүрдэнэ.

Алхам 1: UART хүлээн авагч

UART хүлээн авагч
UART хүлээн авагч

Нэгдүгээрт, бид Bluetooth модулийг тохируулах хэрэгтэй. Ихэнх Bluetooth IC нь харилцаа холбооны UART протоколыг дэмждэг. UART нь бүх нийтийн асинхрон хүлээн авагч / дамжуулагч гэсэн утгатай. UART нь өгөгдлийг зэрэгцээ ба цуваа формат хооронд нааш цааш нь хөрвүүлэх боломжтой. Үүнд зэрэгцээ хүлээн авагч болон цуваа хөрвүүлэгчтэй зэрэгцээ оруулдаг бөгөөд хоёуланг нь тус тусад нь хянадаг.

Bluetooth модульд хүлээн авсан өгөгдлийг манай GreenPAK төхөөрөмжид дамжуулах болно. Pin10 -ийн идэвхгүй байдал нь өндөр байна. Илгээсэн тэмдэгт бүр нь LOW эхлэх битийн логикоор эхэлж, дараа нь тохируулагдах тооны өгөгдлийн битүүд болон нэг буюу хэд хэдэн логик HIGH stop bit -ээс эхэлнэ.

UART дамжуулагч нь 1 START бит, 8 өгөгдлийн бит, нэг STOP бит илгээдэг. Ихэвчлэн UART Bluetooth модулийн өгөгдмөл дамжуулах хурд нь 9600 байдаг. Бид өгөгдлийн байтыг Bluetooth IC -ээс GreenPAK ™ SLG46620 -ийн SPI блок руу илгээх болно.

GreenPAK SPI блок нь START эсвэл STOP битийн удирдлагагүй тул бид эдгээр битүүдийг ашиглан SPI цагийн дохиог (SCLK) идэвхжүүлэх, идэвхгүй болгох болно. Pin10 нь ХААДРАХ үед бид START бит хүлээн авснаа мэддэг тул харилцаа холбооны эхлэлийг тодорхойлохын тулд PDLY уналтын ирмэгийн детекторыг ашигладаг. Энэхүү унаж буй ирмэг илрүүлэгч нь DFF0 цагийг ашигладаг бөгөөд энэ нь SCLK дохиог SPI блокыг хянах боломжийг олгодог.

Бидний дамжуулах хурд нь секундэд 9600 бит байдаг тул бидний SCLK хугацаа 1/9600 = 104 μs байх шаардлагатай. Тиймээс бид OSC давтамжийг 2MHz болгож, CNT0 -ийг давтамж хуваагч болгон ашигласан.

2 МГц-1 = 0.5 микс

(104 μs / 0.5 μs) - 1 = 207

Тиймээс бид CNT0 тоолуурын утгыг 207 болгохыг хүсч байна. Мэдээллийг алдахгүй байхын тулд бид SPI -ийн цагийг хагас цагийн мөчлөгөөр хойшлуулах хэрэгтэй бөгөөд ингэснээр SPI блокыг цаг тухайд нь цаглаж байна. Бид үүнийг CNT6, 2 битийн LUT1 болон OSC блокийн гадаад цаг ашиглан гүйцэтгэсэн. CNT6 -ийн гаралт нь DFF0 -ийг цагжуулсны дараа 52 μs хүртэл өндөрт гарахгүй бөгөөд энэ нь бидний SCLK -ийн 104 μs хугацааны хагас юм. CNT6 өндөр байх үед 2 битийн LUT1 AND хаалга нь 2MHz OSC дохиог EXT руу дамжуулах боломжийг олгодог. CLK0 оролт, гаралт нь CNT0 -тэй холбогдсон байна.

Алхам 2: ХБХ -ийн нэгж

ХБХ -ийн нэгж
ХБХ -ийн нэгж

ХОУХД -ийн дохиог PWM0 болон холбогдох импульсийн генератор (CNT8/DLY8) ашиглан үүсгэдэг. Импульсийн өргөнийг хэрэглэгчид хянадаг тул хэрэглэгчийн өгөгдлийг тоолохын тулд бид FSM0 (үүнийг PWM0-тэй холбох боломжтой) ашигладаг.

SLG46620-д 8 битийн FSM1-ийг PWM1 ба PWM2-тэй ашиглаж болно. Bluetooth модулийг холбох ёстой бөгөөд энэ нь SPI зэрэгцээ гаралтыг ашиглах ёстой гэсэн үг юм. 0 -ээс 7 хүртэлх SPI зэрэгцээ гаралтын битүүдийг DCMP1, DMCP2, мөн LF OSC CLK -ийн OUT1 ба OUT0 -тэй хослуулдаг. PWM0 нь гаралтыг 16 битийн FSM0-ээс авдаг. Өөрчлөгдөөгүй тохиолдолд энэ нь импульсийн өргөнийг хэт ачаалахад хүргэдэг. Тоолуурын утгыг 8 битээр хязгаарлахын тулд өөр FSM нэмж оруулсан болно; FSM1 нь тоолуур 0 эсвэл 255 -ийн аль нэгэнд хүрч байгааг мэдэхийн тулд заагч болгон ашигладаг. FSM0 нь ХОУХ -ны импульс үүсгэхэд ашиглагддаг. FSM0 ба FSM1 синхрончлогдсон байх ёстой. FSM хоёулаа урьдчилан тохируулсан цагийн сонголттой байдаг тул CNT1 ба CNT3 нь CLK -ийг хоёуланд нь дамжуулахад зуучлагч болгон ашигладаг. Хоёр тоолуурыг ижил утгаар тохируулсан бөгөөд энэ зааварчилгааны хувьд 25 байна. Бид эдгээр тоолуурын утгыг өөрчилснөөр ХОУХ -ны утгын өөрчлөлтийн хурдыг өөрчилж болно.

FSM-ийн үнэ цэнэ нь SPI-ийн зэрэгцээ гаралтаас үүдэлтэй '+' ба '-' дохиогоор нэмэгдэж, буурдаг.

Алхам 3: Хяналтын хэсэг

Хяналтын нэгж
Хяналтын нэгж

Хяналтын нэгжийн дотор хүлээн авсан байтыг Bluetooth модулиас SPI -ийн зэрэгцээ гаралт руу авч дараа нь холбогдох функцүүдэд дамжуулдаг. Эхлээд PWM CS1 ба PWM CS2 гаралтыг шалгаж, ХОУХ -ны загвар идэвхжсэн эсэхийг шалгана. Хэрэв энэ нь идэвхжсэн бол LUT4, LUT6, LUT7 -ээр дамжуулан ХОУХ -ийг аль сувгаар гаргахыг тодорхойлох болно.

LUT9, LUT11, LUT14 нь бусад хоёр LED -ийн төлөв байдлыг шалгах үүрэгтэй. LUT10, LUT12, LUT13 нь гарын авлагын товчлуур идэвхжсэн эсэхийг шалгадаг. Хэрэв гарын авлагын горим идэвхжсэн бол RGB гаралт нь D0, D1, D2 гаралтын төлөвийн дагуу ажилладаг бөгөөд өнгөний товчлуур дарагдах бүрт өөрчлөгддөг. Энэ нь өсөн нэмэгдэж буй зах зээлдэгч болгон ашигладаг CNT9 -ээс гарч ирэх тусам өөрчлөгддөг.

Pin 20 нь оролт хэлбэрээр тохируулагдсан бөгөөд гар болон Bluetooth удирдлагын хооронд шилжихэд ашиглагддаг.

Хэрэв гарын авлагын горим идэвхгүй болж, авто холигч горим идэвхжсэн бол өнгө нь 500м тутамд өөрчлөгдөж, ирмэг нь CNT7 -ээс ирдэг. 4 битийн LUT1 нь D0 D1 D2-ийн '000' төлөвөөс урьдчилан сэргийлэхэд ашиглагддаг, учир нь энэ төлөв нь Авто холигч горимд гэрэл унтрах шалтгаан болдог.

Хэрэв гарын авлага, ХОУХ -ны горим, Автомат холигч горим идэвхжээгүй бол улаан, ногоон, цэнхэр өнгийн SPI командууд нь гаралт хэлбэрээр тохируулагдсан бөгөөд гадаад RGB LED -тэй холбогдсон 12, 13, 14 -р зүү рүү урсана.

DFF1, DFF2 ба DFF3 нь 3 битийн хоёртын тоолуур бүтээхэд ашиглагддаг. Тоолуурын утга нь Автомат холигч горимд P14 -ээр дамжих CNT7 импульс эсвэл гар горимд Өнгө товчлуур (PIN3) -аас ирэх дохиогоор нэмэгддэг.

Алхам 4: Андройд програм

Android програм
Android програм
Android програм
Android програм
Android програм
Android програм
Android програм
Android програм

Энэ хэсэгт бид хэрэглэгчийн хяналтын сонголтыг хянаж, харуулах Андройд програмыг бүтээх гэж байна. Интерфэйс нь хоёр хэсгээс бүрдэнэ: эхний хэсэгт өнгө нь урьдчилан тодорхойлогдсон товчлуурууд багтдаг тул эдгээр товчлууруудын аль нэгийг дарахад ижил өнгийн LED гэрэл асдаг. Хоёрдахь хэсэг (MIX дөрвөлжин) нь хэрэглэгчийн хувьд холимог өнгө үүсгэдэг.

Эхний хэсэгт хэрэглэгч ХОУХД -ийн дохиог дамжуулахыг хүсч буй LED зүүг сонгоно; ХОУХ -ны дохиог нэг удаад зөвхөн нэг зүү рүү дамжуулж болно. Доод жагсаалт нь ХОУХ -ны горимд бусад хоёр өнгийг логикоор асаах/унтраахыг хянадаг.

Автомат холигч товчлуур нь гэрэл хагас секунд тутамд өөрчлөгдөж байдаг гэрэл солих загварыг ажиллуулах үүрэгтэй. MIX хэсэг нь хоёр шалгах хайрцгийн жагсаалтыг агуулдаг бөгөөд ингэснээр хэрэглэгч аль хоёр өнгийг холихыг шийдэх боломжтой болно.

Бид MIT апп зохион бүтээгчийн вэбсайтыг ашиглан уг програмыг бүтээсэн. Энэ бол график програм хангамжийн блок ашиглан програм хангамжийн туршлагагүйгээр Андройд аппликейшн үүсгэх боломжийг олгодог сайт юм.

Эхлээд бид график интерфэйсийг урьдчилан тодорхойлсон өнгийг харуулах үүрэгтэй товчлууруудыг нэмж хийснээр хоёр шалгах хайрцагны жагсаалтыг нэмж оруулсан бөгөөд жагсаалт бүр 3 элементтэй; элемент бүрийг Зураг 5 -т үзүүлсэн шиг тус тусдаа хайрцагт тусгасан болно.

Хэрэглэгчийн интерфэйс доторх товчлуурууд нь програм хангамжийн командтай холбоотой байдаг: апп -аас Bluetooth -ээр дамжуулах бүх командууд байт форматтай байх бөгөөд бит бүр нь тодорхой функцийг хариуцдаг. Хүснэгт 1 -д GreenPAK руу илгээсэн тушаалын хүрээний хэлбэрийг харуулав.

Эхний гурван бит, B0, B1 ба B2 нь RGB LED -ийн төлөвийг шууд хянах горимд урьдчилан тодорхойлсон өнгөний товчлуураар дарах болно. Тиймээс, тэдгээрийн аль нэг дээр дарахад 2 -р хүснэгтэд үзүүлсэн шиг товчлуурын харгалзах утгыг илгээх болно.

B3 ба B4 битүүд нь импульсийн өргөнийг нэмэгдүүлэх, бууруулах үүрэгтэй '+' ба '-' тушаалуудыг агуулдаг. Товчлуурыг дарахад битийн утга 1, товчлуурыг суллахад битийн утга 0 болно.

B5 ба B6 битүүд нь ХОУХ -ны дохиог дамжуулах зүү (өнгө) -ийг сонгох үүрэгтэй: эдгээр битүүдийн өнгөний тэмдэглэгээг 3 -р хүснэгтэд үзүүлэв. Сүүлийн бит болох В7 нь авто холигчийг идэвхжүүлэх үүрэгтэй.

Зураг 6 ба Зураг 7 нь өмнөх утгуудыг илгээх үүрэгтэй програмчлалын блокуудтай товчлууруудыг холбох үйл явцыг харуулав.

Аппликешны бүрэн загварыг үзэхийн тулд хавсаргасан ".aia" файлыг төслийн файлуудтай хамт татаж аваад үндсэн сайт дотор нээх боломжтой.

Доорх 8 -р зурагт дээд түвшний хэлхээний диаграммыг харуулав.

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

Хянагчийг амжилттай туршиж үзээд өнгө холилтыг бусад функцүүдийн хамт зохих ёсоор ажиллаж байгааг харуулав.

Дүгнэлт

Энэхүү зааварчилгааны хэсэгт ухаалаг чийдэнгийн хэлхээг Android програмаар утасгүй удирдахаар бүтээсэн болно. Энэхүү төсөлд ашигласан GreenPAK CMIC нь гэрлийг хянах хэд хэдэн чухал бүрэлдэхүүн хэсгүүдийг нэг жижиг IC -д богиносгож, оруулахад тусалсан.

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