![LightMeUp! реалдуу убакытта кросс-платформалуу LED Strip Control: 5 кадам (сүрөттөр менен) LightMeUp! реалдуу убакытта кросс-платформалуу LED Strip Control: 5 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/006/image-16429-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-1-j.webp)
![LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-2-j.webp)
![LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control LightMeUp! реалдуу убакытта кайчылаш платформалуу LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-3-j.webp)
LightMeUp! Мен RGB LED-Stripти реалдуу убакытта көзөмөлдөө үчүн ойлоп тапкан система, ал эми чыгымдын төмөндүгүн жана иштин жогорку деңгээлин сактап турат.
Сервер Node.js тилинде жазылган жана ошол себептен кайчылаш платформа.
Менин мисалда, мен Raspberry Pi 3Bди узак мөөнөттүү колдонуу үчүн колдоном, бирок менин Windows компьютерим демонстрация жана мүчүлүштүктөрдү оңдоо үчүн.
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-Pin LED тилкеси
- 12V 3A Электр энергиясы менен камсыздоо
- Өткөргүч кабелдер (эркек-эркек, эгерде сиз нанды колдонсоңуз, албетте)
- Нан тактасы (милдеттүү эмес)
- 2 12V DC компьютер күйөрмандары (милдеттүү эмес)
- 3x TIP120 Дарлингтон транзистору/ радиатор (эгер сиз муздатуучу күйөрмандарды кошкуңуз келсе 4)
- 2 абалдын LEDлары кызыл жана жашыл (милдеттүү эмес)
- 6, 7K NTC температурага негизделген резистор + 6, 7K каршылыгы (милдеттүү эмес)
- USB-Miniден USB 2.0ге маалымат кабели (Raspberry Pi үчүн Arduino менен байланышуу үчүн)
- Сырттан иштетилген USB-хаб (милдеттүү эмес, Raspberry Pi үчүн гана)
1 -кадам: Системаны түшүнүңүз
![Системаны түшүнүү Системаны түшүнүү](https://i.howwhatproduce.com/images/006/image-16429-4-j.webp)
LightMeUp! абдан жөнөкөй электрондук схемага негизделген.
Бизде кандайдыр бир компьютер бар (бул учурда Raspberry Pi), ал биздин микроконтроллер тактасы менен сериялык түрдө байланышат. Бул такта анда "RGB (255, 255, 255)" сыяктуу конкреттүү сериялык буйруктарды аткарат, бул биздин LED-тилкебизди агартып коет.
Биз 4pin LED-Strip үчүн RED, GREEN жана BLUE үчүн үч маанибизди алгандан кийин, PWM сигналы менен TIP120 транзисторубузду камсыз кылуу үчүн analogWrite (pin, value) аткарабыз.
Бул PWM сигналы транзистордун коллектору жерге туташкан тиешелүү түстүү пинди белгилүү бир даражага же толугу менен күйгүзүү / өчүрүү мүмкүнчүлүгүн берет. Ооба, көп "to" лар:)
Үч транзистордун чыгышын LED тилкелеринин түстүү казыктарына аралаштыруу менен биз негизинен каалаган түстү түзө алабыз!
Эми бул түшүнүк менен, биз бул долбоордун эң чоң көйгөйүнө, вебсокеттердин жана анын Arduino менен сериялык байланышына кол сала алабыз.
2 -кадам: WebSocketServer жазуу
![WebSocketServer жазуу WebSocketServer жазуу](https://i.howwhatproduce.com/images/006/image-16429-5-j.webp)
Эми, биз реалдуу убакытта LED тилкесин башкарууга жетүү үчүн, бир жолу сергитпестен, маалыматтарды алдыга жана артка өткөрүүгө мүмкүндүк берген белгилүү бир веб -серверди түзүшүбүз керек.
Сураныч, реалдуу убакытта баарлашуу мүмкүн эмес экенин унутпаңыз, ар дайым эң аз дегенде бир нече миллисекунд кечигүү болот, бирок адамдын көз алдында бул реалдуу убакытка салыштырмалуу.
Буга мен сыяктуу Node.js колдонсоңуз, socket.io китепканасын колдонуу менен оңой эле жетүүгө болот. Бирок, албетте, сиз дайыма сүйүктүү программалоо тилин кармансаңыз болот.
Биз веб-сокет туташуусу менен иштейбиз, ал бизге LED тилкесин кайсы түскө орнотууну кааласаңыз, же "LED ON" сыяктуу статустук маалыматтарды жаңыртуусуз өткөрүп берүүгө мүмкүндүк берет.
Дагы бир абдан маанилүү өзгөчөлүк серверде болушу керек, бирок кереги жок - жөнөкөй кирүү. Мен логинимди жөнөкөй колдонуучу аты менен сырсөз талаасына негиздедим. Бул маалымат бөлүктөрү сервердин /кирүү маршрутуна жайгаштырылат, ал колдонуучунун атын колдонуучулардын тизмесине (.txt файлы) жана ага тиешелүү сырсөздү SHA256-шифрленген түрүндө салыштырат. Сиз эң ыңгайлуу отургучта сүйүктүү суусундукту ичип жатканда кошуналарыңыздын LED лентасы менен баш аламандыкты каалабайсыз, туурабы?
Эми сервердин жүрөгү, сериялык байланыш келет.
Сиздин сервер сериалдык байланышта болушу керек - Node.jsте "serialport" китепканасын колдонуп портту ачуу менен жетишүүгө болот. Бирок адегенде серверди жайгаштырган компьютериңиздеги arduino портуңуздун атын аныктаңыз. Иштетүү тутумуңузга жараша, порттордун башка аттары болот, б.а. Windowsто бул порттор "COMx" порттору деп аталат, ал эми Linuxто "/dev/ttyUSBx" деп аталат, мында x - USB порттун саны.
3 -кадам: Сериялык буйруктардын протоколун түзүү
![Сериялык буйруктардын протоколун түзүү Сериялык буйруктардын протоколун түзүү](https://i.howwhatproduce.com/images/006/image-16429-6-j.webp)
Жогорудагы сүрөттө сиз RGB көзөмөлү үчүн жооптуу болгон чыныгы Arduino IDE кодун көрөсүз. Бул кадамдын максаты-өз алдынча жазылган серверди жана Arduino тактасын бири-бири менен ийгиликтүү сүйлөшүү.
Сериялык портуңузду ийгиликтүү ачкандан кийин, каалоолоруңузга жооп берген тактага буйруктарды жөнөтө алышыңыз керек. Мисалы, эгер биз HTML веб -баракчасындагы түс тандагычтын үстүнө манжа тартсак, RGB коду серверге жөнөтүлүп, аны Arduinoго жөнөтөт, ошондо ал коюлган баалуулуктарды иштетет.
Мен jscolor колдондум, алар түстөрдү тандоочу элементтин эң сонун аткарылышына ээ, ал "onFineChange" аттуу иш -чарага ээ, ал процесстериңизди түс тандагычтан баалуулуктар өзгөрөөр замат берет.
Сунушталууда:
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен)
![Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен) Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-1588-28-j.webp)
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: Бул көрсөтмөлөр казылган кудуктарда колдонуу үчүн арзан баада, реалдуу убакытта суунун деңгээлин эсептегичти кантип курууну сүрөттөйт. Суунун деңгээли өлчөгүч казылган кудуктун ичине илинип, суунун деңгээлин күнүнө бир жолу өлчөп, маалыматтарды WiFi же уюлдук байланыш аркылуу жөнөтүү үчүн иштелип чыккан
MicroPython программасы: Коронавирус оорусунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: 10 кадам (сүрөттөр менен)
![MicroPython программасы: Коронавирус оорусунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: 10 кадам (сүрөттөр менен) MicroPython программасы: Коронавирус оорусунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: 10 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/005/image-14751-j.webp)
MicroPython программасы: Коронавирустук оорунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: Акыркы бир нече жумада дүйнө жүзү боюнча коронавирус оорусунун (COVID 19) тастыкталган учурларынын саны 100,000ден ашты, ал эми Дүйнөлүк саламаттыкты сактоо уюму (ДССУ) пневмониянын жаңы пандемиясы дүйнөлүк пандемияга айланды. Мен абдан
RaspberryPi-4те реалдуу убакытта бетти аныктоо: 6 кадам (сүрөттөр менен)
![RaspberryPi-4те реалдуу убакытта бетти аныктоо: 6 кадам (сүрөттөр менен) RaspberryPi-4те реалдуу убакытта бетти аныктоо: 6 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/002/image-4612-14-j.webp)
RaspberryPi-4те реалдуу убакытта бетти аныктоо: Бул Нускоодо биз Shunyaface китепканасынын жардамы менен Shunya O/S менен Raspberry Pi 4те реалдуу убакытта жүздү аныктоону жүргүзөбүз. Бул үйрөткүчтү аткаруу менен RaspberryPi-4те 15-17 детектордук ылдамдыкка жете аласыз
1980-жылдардын видеокамерасын реалдуу убакытта поляриметрикалык сүрөткө айландыруу: 14 кадам (сүрөттөр менен)
![1980-жылдардын видеокамерасын реалдуу убакытта поляриметрикалык сүрөткө айландыруу: 14 кадам (сүрөттөр менен) 1980-жылдардын видеокамерасын реалдуу убакытта поляриметрикалык сүрөткө айландыруу: 14 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/002/image-3049-43-j.webp)
1980-жылдардын видеокамерасын реалдуу убакыт режиминде поляриметрдик сүрөтчүгө айландыруу: поляриметриялык сүрөт иштетүү оюндарды өзгөртүүчү колдонмолорду кеңири чөйрөдө иштеп чыгуу жолун сунуштайт - айлана -чөйрөнүн мониторингинен жана медициналык диагностикадан коопсуздукка жана антитеррордук колдонмолорго чейин. Бирок, абдан
Реалдуу убакытта жүздү таануу: аягына чейин долбоор: 8 кадам (сүрөттөр менен)
![Реалдуу убакытта жүздү таануу: аягына чейин долбоор: 8 кадам (сүрөттөр менен) Реалдуу убакытта жүздү таануу: аягына чейин долбоор: 8 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/002/image-4873-66-j.webp)
Реалдуу убакытта жүздү таануу: аягына чейин долбоор: OpenCVди изилдөө боюнча менин акыркы үйрөткүчүмдө биз АВТОМАТТЫК КӨРҮНҮҮНҮН ОБJЕКТИН КӨЗДӨӨНҮ үйрөндүк. Эми биз PiCamды жүздөрдү реалдуу убакытта таануу үчүн колдонобуз, төмөндө көрүнүп тургандай: Бул долбоор фантастикалык " Ачык Булак Компьютер Көрүү Китепканасы " менен жасалган