Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Системийг ойлгох
- Алхам 2: WebSocketServer бичих
- Алхам 3: Цуваа командуудын протокол байгуулах
Видео: LightMeUp! Бодит цагийн хөндлөн платформ бүхий LED зурвасын хяналт: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
LightMeUp! Энэ бол миний зохион бүтээсэн систем бөгөөд RGB LED-Strip-ийг бодит цаг хугацаанд хянаж, өртөг багатай, гүйцэтгэлийг өндөр байлгадаг.
Серверийг Node.js дээр бичсэн бөгөөд ингэснээр хөндлөн платформ хийх боломжтой.
Миний жишээн дээр би Raspberry Pi 3B -ийг удаан хугацаагаар ашиглахад ашигладаг, гэхдээ миний Windows PC -ийг жагсаал, дибаг хийхэд ашигладаг.
4pin туузыг Arduino Nano төрлийн самбар хянадаг бөгөөд энэ нь дараалсан өгөгдсөн тушаалуудыг гүйцэтгэж, PWM дохиог +12VDC-ийг харгалзах өнгөний зүү болгон хувиргадаг гурван транзистор руу илгээдэг.
LightMeUp! Систем нь мөн өөрийн температурыг шалгадаг бөгөөд 60 ° C (140 ° F) -ээс дээш байх үед хэлхээний ашиглалтын хугацааг сайжруулахын тулд хөргөхийн тулд бүрхүүлд суулгасан 12VDC компьютерийн хоёр фенийг асаадаг.
LightMeUp -ийн өөр нэг онцлог шинж чанар! нь Bombay-Sapphire Gin лонхыг гэрэлтүүлэх боловч энэ зааврын гол зорилго нь энэ биш юм.
Уншихад таатай байна:)
Хангамж
- Arduino Nano (эсвэл бусад ATmega328 / түүнээс дээш суурилсан микроконтроллер)
- Node.js суулгасан Raspberry Pi 3 Model B (эсвэл өөр компьютер)
- 12V RGB 4 зүү LED зурвас
- 12V 3A Цахилгаан хангамж
- Холбогч кабель (хэрэв та талхны самбар ашигладаг бол эрэгтэй, эрэгтэй)
- Breadboard (заавал биш)
- 12V DC компьютерийн 2 сэнс (заавал биш)
- 3х TIP120 Дарлингтон транзистор/ халаагчтай (хэрэв та хөргөх сэнс оруулахыг хүсвэл 4 ширхэг)
- Улаан ба ногоон гэсэн 2 статусын LED (заавал биш)
- 6, 7K NTC температурт суурилсан эсэргүүцэл + 6, 7K эсэргүүцэл (заавал биш)
- USB-Mini-аас USB 2.0 өгөгдлийн кабель (Raspberry Pi-ийн хувьд Arduino-той холбогдох боломжтой)
- Гаднаас тэжээгддэг USB-Hub (заавал биш, зөвхөн Raspberry Pi-д зориулагдсан)
Алхам 1: Системийг ойлгох
LightMeUp! Энэ нь маш энгийн электрон хэлхээнд суурилдаг.
Бидэнд микроконтроллерийн самбартай цуваа холбодог ямар нэгэн компьютер (энэ тохиолдолд Raspberry Pi) байдаг. Энэ самбар нь "RGB (255, 255, 255)" гэх мэт тусгай цуваа тушаалуудыг гүйцэтгэдэг бөгөөд энэ нь бидний LED зурвасыг цагаан болгож хувиргадаг.
LED-Strip-ийн 4pin-д шаардлагатай RED, GREEN, BLUE гэсэн гурван утгыг олж авсны дараа бид TIP120 транзистороо PWM дохиогоор хангахын тулд analogWrite (pin, value) гүйцэтгэдэг.
Энэхүү ХОУХД -ийн дохио нь транзисторыг коллекторт холбогдсон өнгөний зүүг тодорхой түвшинд, бүрэн асаах / унтраах боломжийг олгодог. Тийм ээ, маш их "to" гэсэн үг:)
Гурван транзисторын гаралтыг LED туузны өнгөний тээглүүртэй хольсноор бид үндсэндээ хүссэн өнгөө бий болгож чадна!
Энэхүү ойлголттой болсноор бид энэ төслийн хамгийн том сорилт болох Webocketserver болон түүний Arduino -той цуваа холболтыг даван туулж чадна.
Алхам 2: WebSocketServer бичих
Одоо бид LED зурвасын хяналтыг бодитоор хангахын тулд өгөгдлийг нэг удаа шинэчлэхгүйгээр нааш цааш нь дамжуулах боломжийг олгодог тодорхой төрлийн вэб сервер үүсгэх ёстой.
Мэдээжийн хэрэг, бодит цагийн харилцаа холбоо боломжгүй, ядаж л хэдэн секундын саатал үргэлжлэх болно, гэхдээ хүний нүдээр харахад энэ нь бодит цаг хугацаатай адил юм.
Хэрэв та Node.js -ийг над шиг ашигладаг бол socket.io номын санг ашиглан үүнийг хялбархан хийж болно. Гэсэн хэдий ч та дуртай програмчлалын хэлээ үргэлж дагаж мөрдөх боломжтой.
Бид вэб зурвасын холболттой ажиллах бөгөөд энэ нь LED зурвасыг ямар өнгөөр тохируулах, эсвэл "LED ON" гэх мэт статусын өгөгдлийг сэргээхгүйгээр хоёр чиглэлд шилжүүлэх боломжийг олгодог.
Серверт байх ёстой, гэхдээ шаардлагагүй өөр нэг чухал онцлог бол энгийн нэвтрэлт юм. Би нэвтрэх үгээ энгийн хэрэглэгчийн нэр, нууц үгийн талбар дээр үндэслэв. Эдгээр мэдээллийг дараа нь серверийн /нэвтрэх маршрутад байрлуулдаг бөгөөд хэрэглэгчийн нэрийг хэрэглэгчийн жагсаалт (.txt файл) болон холбогдох нууц үгийг SHA256 шифрлэгдсэн хэлбэрээр харьцуулдаг. Та хамгийн тухтай суудал дээрээ дуртай ундаагаа ууж байхдаа хөршүүдээ LED зурвасаа хутгахыг хүсэхгүй байна, тийм үү?
Одоо серверийн зүрх, цуваа харилцаа холбоо ирдэг.
Таны сервер цувралаар харилцах боломжтой байх ёстой - Node.js дээр үүнийг "serialport" номын санг ашиглан портыг нээх замаар олж авах боломжтой. Гэхдээ эхлээд сервер байршуулж буй компьютер дээрх arduino портынхоо нэрийг тодорхойл. Таны үйлдлийн системээс хамааран портууд өөр өөр нэртэй байх болно. Windows дээр эдгээр портуудыг "COMx" порт гэж нэрлэдэг бол линукс дээр "/dev/ttyUSBx" гэж нэрлэдэг бөгөөд энд x нь USB портын дугаар юм.
Алхам 3: Цуваа командуудын протокол байгуулах
Дээрх зурган дээр та RGB хяналтыг хариуцдаг жинхэнэ Arduino IDE кодыг харж байна. Энэ алхам нь таны бичсэн сервер болон Arduino самбарыг бие биетэйгээ амжилттай ярилцах явдал юм.
Цуваа портоо амжилттай нээсний дараа та өөрийн хүслийг хангадаг самбар руу тушаал илгээх боломжтой байх ёстой. Жишээлбэл, хэрэв бид HTML вэб хуудсан дээрх өнгө сонгогчийн дээр хуруугаа зурвал RGB кодыг сервер рүү илгээж, дараа нь Arduino руу илгээж, тогтоосон утгыг боловсруулдаг.
Би jscolor -ийг ашигласан бөгөөд тэдгээр нь "onFineChange" нэртэй үйл явдлыг эзэмшдэг өндөр чанартай өнгө сонгох элементийг маш сайн хэрэгжүүлдэг бөгөөд энэ нь таны өгөгдлийг өнгө сонгогчоос үнэ цэнийг нь өөрчлөхөд шууд өгөх боломжийг олгодог.
Зөвлөмж болгож буй:
Бодит цагийн цагийн модулийг (DS3231) хэрхэн ашиглах вэ: 5 алхам
Бодит цагийн цагны модулийг (DS3231) хэрхэн ашиглах вэ: DS3231 бол өртөг багатай, туйлын нарийвчлалтай I2C бодит цаг (RTC) бөгөөд температурыг нөхсөн болор осциллятор (TCXO), болортой. Төхөөрөмж нь батерейны оролттой бөгөөд үндсэн хүчдэлийн үед цагийг зөв хэмждэг
Бодит цагийн худгийн усны түвшин хэмжигч: 6 алхам (зурагтай)
Бодит цагийн худгийн усны түвшин хэмжигч: Эдгээр заавар нь ухсан худагт ашиглахын тулд хямд үнэтэй, бодит цагийн усны түвшний тоолуурыг хэрхэн бүтээх талаар тайлбарласан болно. Усны түвшин хэмжигч нь ухсан худгийн дотор өлгөх, усны түвшинг өдөрт нэг удаа хэмжих, WiFi эсвэл үүрэн холболтоор дамжуулан өгөгдлийг илгээх зориулалттай
Бодит цагийн гүйдлийн хэмжилт бүхий автомат залгуур: 6 алхам
Бодит цагийн гүйдлийн хэмжилттэй автомат залгуур: Би автоматжуулалт, ямар нэгэн зүйл тохиолдох ёстойг хянах чадвартай. Энэ бол намайг өөрийн гараар хийсэн автомат залгуур гэсэн санааг гаргахад хүргэсэн зүйл юм. Үүнийг гэрэл асаах, утас цэнэглэх шаардлагатай үед төлөвлөхөд ашиглаж болно
RaspberryPi, WIZ850io бүхий IoT үндсэн платформ: Платформ төхөөрөмжийн драйвер: 5 алхам (зурагтай)
RaspberryPi, WIZ850io бүхий IoT үндсэн платформ: Платформ төхөөрөмжийн драйвер: IoT -д зориулсан RaspberryPi платформыг би мэднэ. Саяхан WIZ850io -ийг WIZnet зарлаж байна. Тиймээс би эх кодыг хялбархан зохицуулж чаддаг тул Ethernet SW өөрчлөлтөөр RaspberryPi програмыг хэрэгжүүлсэн. Та платформ төхөөрөмжийн драйверийг RaspberryPi -ээр туршиж үзэх боломжтой
ESP8266 RGB LED зурвасын WIFI хяналт - NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. - RGB LED STRIP ухаалаг гар утасны хяналт: 4 алхам
ESP8266 RGB LED зурвасын WIFI хяналт | NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. | RGB LED STRIP ухаалаг гар утасны хяналт: Сайн байна уу залуусаа, энэ заавар дээр бид nodemcu эсвэл esp8266 -ийг IR алсын удирдлага болгон RGB LED зурвасыг хэрхэн ашиглах талаар сурах болно, Nodemcu нь ухаалаг гар утсаар wifi -ээр хянагдах болно. Үндсэндээ та ухаалаг гар утсаараа RGB LED STRIP -ийг удирдах боломжтой