Мазмуну:

Bluetooth аркылуу DIY Control RGB LED түсү: 5 кадам
Bluetooth аркылуу DIY Control RGB LED түсү: 5 кадам

Video: Bluetooth аркылуу DIY Control RGB LED түсү: 5 кадам

Video: Bluetooth аркылуу DIY Control RGB LED түсү: 5 кадам
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Ноябрь
Anonim
Bluetooth аркылуу DIY Control RGB LED түсү
Bluetooth аркылуу DIY Control RGB LED түсү

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

Бул Инструкция эки бөлүмдөн турат; GreenPAK ™ дизайны жана Android колдонмосунун дизайны. GreenPAK дизайны байланыш үчүн UART интерфейсин колдонууга негизделген. UART көпчүлүк Bluetooth модулдары, ошондой эле WIFI модулдары сыяктуу башка перифериялык түзүлүштөр тарабынан колдоого алынгандыктан тандалып алынган. Демек, GreenPAK дизайны көптөгөн туташуу түрлөрүндө колдонулушу мүмкүн.

Бул долбоорду куруу үчүн биз SLG46620 CMICти, Bluetooth модулун жана RGB LEDди колдонобуз. GreenPAK IC бул долбоордун көзөмөл өзөгү болуп калат; ал Bluetooth модулунан жана/же тышкы баскычтардан маалыматтарды алат, андан кийин туура жарыкты көрсөтүү үчүн керектүү процедураны баштайт. Ал ошондой эле PWM сигналын жаратат жана аны LEDге чыгарат. Төмөндөгү 1 -сүрөттө блок -схема көрсөтүлгөн.

Бул долбоордо колдонулган GreenPAK түзмөгүндө SPI туташуу интерфейси, PWM блоктору, FSM жана башка көптөгөн пайдалуу кошумча блоктор бар. Ошондой эле кичине өлчөмү жана аз энергия керектөөсү менен айырмаланат. Бул өндүрүүчүлөргө бир ICди колдонуу менен чакан практикалык схеманы курууга мүмкүндүк берет, ошону менен окшош системаларга салыштырмалуу өндүрүш чыгымдары минималдаштырылат.

Бул долбоордо биз бир RGB LEDди башкарабыз. Долбоорду коммерциялык жактан ишке ашыруу үчүн, система, сыягы, көптөгөн светодиоддорду параллель туташтыруу жана тиешелүү транзисторлорду колдонуу аркылуу жарыктын деңгээлин жогорулатышы керек; электр схемасы да эске алынышы керек.

GreenPAK чипи RGB LED түсүн Bluetooth аркылуу көзөмөлдөө үчүн кантип программаланганын түшүнүү үчүн бардык кадамдардан өтсөңүз болот. Бирок, эгер сиз бардык ички схеманы түшүнбөстөн ICди оңой программалоону кааласаңыз, GreenPAK программасын жүктөп алыңыз, буга чейин бүткөн GreenPAK Дизайн Файлын көрүңүз. GreenPAK Development Kitти компьютериңизге сайыңыз жана RGB LED түсүн Bluetooth аркылуу көзөмөлдөө үчүн атайын IC түзүү үчүн программаны басыңыз.

GreenPAK дизайны төмөнкү кадамдарда сүрөттөлгөн UART алуучусунан, PWM бирдигинен жана башкаруу блогунан турат.

1 -кадам: UART алуучу

UART алуучусу
UART алуучусу

Биринчиден, биз Bluetooth модулун орнотушубуз керек. Көпчүлүк Bluetooth ICлер байланыш үчүн UART протоколун колдойт. UART универсалдуу асинхрондук алуучу / өткөргүчтү билдирет. UART маалыматтарды параллелдүү жана сериялык форматтардын ортосунда алдыга жана артка алмаштыра алат. Ал параллелдүү кабыл алгычты жана сериалдык конвертерге параллелди камтыйт, экөө тең өзүнчө сааттык.

Bluetooth модулуна алынган маалыматтар GreenPAK түзмөгүбүзгө өткөрүлүп берилет. Pin10 үчүн бош турган абал БИЙИК. Жөнөтүлгөн ар бир символ логикалык LOW баштоо битинен башталат, андан кийин конфигурациялануучу маалымат биттери жана бир же бир нече логикалык HIGH stop биттери башталат.

UART өткөргүч 1 START битти, 8 маалымат битин жана бир STOP битти жөнөтөт. Адатта, UART Bluetooth модулу үчүн демейки берүү ылдамдыгы 9600. Биз Bluetooth ICден GreenPAK ™ SLG46620дун SPI блогуна маалыматтын байтын жөнөтөбүз.

GreenPAK SPI блогунда START же STOP бит көзөмөлү жок болгондуктан, анын ордуна SPI саат сигналын (SCLK) иштетүү жана өчүрүү үчүн ошол биттерди колдонобуз. Pin10 ТӨМӨН болгондо, биз START бит алгандыгыбызды билебиз, андыктан байланыштын башталышын аныктоо үчүн PDLY түшүп жаткан детекторун колдонобуз. Бул түшүп жаткан жээк детектору SCLK сигналын SPI блогун иштетүүгө мүмкүндүк берген DFF0 сааттары.

Биздин baud ылдамдыгы секундасына 9600 битти түзөт, андыктан SCLK мезгилибиз 1/9600 = 104 мкс болушу керек. Ошондуктан, биз OSC жыштыгын 2МГцке койдук жана CNT0ду жыштык бөлүштүрүүчү катары колдондук.

2 МГц-1 = 0,5 микс

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

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

2 -кадам: PWM бирдиги

PWM бирдиги
PWM бирдиги

PWM сигналы 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 кошулат; Эсептегич 0 же 255ке жеткенде FSM1 көрсөткүч катары колдонулат. FSM0 PWM импульсун түзүү үчүн колдонулат. FSM0 жана FSM1 синхрондоштурулушу керек. Эки FSMде тең алдын ала коюлган саат параметрлери болгондуктан, CNT1 жана CNT3 CLKти эки FSMге өткөрүп берүү үчүн медиатор катары колдонулат. Эки эсептегич бирдей мааниге коюлган, бул инструкция үчүн 25. Биз бул эсептегич баалуулуктарды өзгөртүү менен PWM наркынын өзгөрүү ылдамдыгын өзгөртө алабыз.

FSMлердин мааниси SPI параллелдүү чыгарылышынан келип чыккан '+' жана '-' сигналдары менен көбөйөт жана төмөндөйт.

3 -кадам: Control Unit

Control Unit
Control Unit

Башкаруу блогунун ичинде алынган байт Bluetooth модулунан SPI Parallel Outputка алынат жана андан кийин байланышкан функцияларга өткөрүлүп берилет. Башында, PWM CS1 жана PWM CS2 чыгуулары PWM үлгүсү иштетилгенби же жокпу текшерилет. Эгер ал жандырылган болсо, ал LUT4, LUT6 жана LUT7 аркылуу PWMди кайсы канал чыгарарын аныктайт.

LUT9, LUT11 жана LUT14 башка эки LEDдин абалын текшерүү үчүн жооптуу. LUT10, LUT12 жана LUT13 Кол баскычы иштетилгенин же иштетилбегенин текшерет. Эгерде кол режими активдүү болсо, анда RGB чыгуулары Түс баскычы басылган сайын өзгөрүлүп турган D0, D1, D2 чыгуу абалына ылайык иштейт. Бул өсүп келе жаткан четинен дебютор катары колдонулган CNT9дан келип чыгышы менен өзгөрөт.

Pin 20 кириш катары конфигурацияланган жана Кол менен Bluetooth көзөмөлүнүн ортосунда которулуу үчүн колдонулат.

Эгерде Кол режими өчүрүлсө жана Авто миксер режими иштетилсе, анда түс 500NT сайын өзгөрөт, CNT7ден келе жаткан чети менен. 4-бит LUT1 D0 D1 D2 үчүн "000" абалын алдын алуу үчүн колдонулат, анткени бул абал Авто аралаштыруу режиминде жарыкты өчүрүүгө себеп болот.

Эгерде Кол режими, PWM режими жана Авто аралаштыргыч режими иштетилбесе, анда кызыл, жашыл жана көк SPI буйруктары 12, 13 жана 14 -пиндерге агып чыгат, алар сырткы RGB LEDине туташкан.

DFF1, DFF2 жана DFF3 3-бит бинардык эсептегичти куруу үчүн колдонулат. Эсептегичтин мааниси Auto mixer режиминде P14 аркылуу өтүүчү CNT7 импульстарында же кол режиминде Түс баскычынан (PIN3) келген сигналдардан жогорулайт.

4 -кадам: Android тиркемеси

Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси
Android тиркемеси

Бул бөлүмдө биз колдонуучунун башкаруу тандоолорун көзөмөлдөп жана көрсөтө турган Android тиркемесин курабыз. Интерфейс эки бөлүмдөн турат: биринчи бөлүмдө түстөр алдын ала аныкталган баскычтардын топтому бар, ошондуктан бул баскычтардын бирөө басылганда, ошол эле түстөгү LED күйөт. Экинчи бөлүм (MIX чарчы) колдонуучу үчүн аралаш түстү түзөт.

Биринчи бөлүмдө колдонуучу PWM сигналынын өтүшүн каалаган LED пинди тандайт; PWM сигналы бир убакта бир пинге гана берилиши мүмкүн. Төмөнкү тизме PWM режиминде логикалык түрдө өчүрүү/өчүрүү боюнча калган эки түстү көзөмөлдөйт.

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

Биз тиркемени MIT колдонмо ойлоп табуучунун веб -сайтын колдонуу менен түздүк. Бул графикалык программалык блокторду колдонуу менен алдын ала программалык камсыздоосуз Android тиркемелерин түзүүгө мүмкүндүк берген сайт.

Башында, биз графикалык интерфейсти алдын ала аныкталган түстөрдү көрсөтүү үчүн жооптуу баскычтардын топтомун кошуу менен иштеп чыктык, биз дагы эки белгилөө кутучасынын тизмесин коштук жана ар бир тизмеде 3 элемент бар; 5 -сүрөттө көрсөтүлгөндөй, ар бир элемент өзүнүн жеке кутусунда көрсөтүлгөн.

Колдонуучу интерфейсиндеги баскычтар программалык камсыздоо буйруктары менен байланышкан: колдонмо Bluetooth аркылуу жөнөтө турган бардык буйруктар байт форматында болот жана ар бир бит белгилүү бир функция үчүн жооп берет. Таблица 1 GreenPAKка жөнөтүлгөн буйрук алкактарынын формасын көрсөтөт.

Биринчи үч бит, B0, B1 жана B2, RGB светодиоддорун түз башкаруу режиминде алдын ала белгиленген түстөрдүн баскычтары аркылуу кармап турат. Ошентип, алардын бирин басканда, 2 -таблицада көрсөтүлгөндөй, баскычтын тиешелүү мааниси жөнөтүлөт.

B3 жана B4 биттери импульс туурасын көбөйтүү жана азайтуу үчүн жооптуу болгон '+' жана '-' командаларын карманышат. Баскыч басылганда биттин мааниси 1 болот, ал эми баскычты кое бергенде биттин мааниси 0 болот.

B5 жана B6 биттери PWM сигналы өтө турган пинди (түстү) тандоо үчүн жооптуу: бул биттердин түс белгилери 3 -таблицада көрсөтүлгөн. Акыркы бит, B7, авто аралаштыргычты иштетүү үчүн жооптуу.

Figure 6 жана Figure 7 мурунку баалуулуктарды жөнөтүү үчүн жооптуу болгон программалоо блоктору менен баскычтарды байланыштыруу процессин көрсөтөт.

Колдонмонун толук дизайнын көрүү үчүн, ".aia" тиркелген файлын долбоордун файлдары менен жүктөп алып, аны негизги сайттын ичинде ача аласыз.

Төмөндөгү 8 -сүрөт жогорку деңгээлдеги схеманы көрсөтөт.

5 -кадам: Жыйынтыктар

Контроллер ийгиликтүү сыналды жана түстөрдүн аралашуусу, башка функциялар менен бирге, тийиштүү түрдө иштээри көрсөтүлдү.

Жыйынтык

Бул Нускамада акылдуу лампа схемасы Android тиркемеси менен зымсыз башкарыла турган кылып курулган. Бул долбоордо колдонулган GreenPAK CMIC да кичине ICге жарык көзөмөлдөө үчүн бир нече маанилүү компоненттерди кыскартууга жана киргизүүгө жардам берди.

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