Мазмуну:
- 1 -кадам: Долбоордун өзгөчөлүктөрү жана интерфейси
- 2 -кадам: GreenPAK Дизайн
- 3 -кадам: UART алуучу
- 4 -кадам: Control Unit
- 5 -кадам: CLK генераторлору жана мультиплексор
- 6 -кадам: PWM
- 7 -кадам: Android колдонмосу
Video: DIY Smart LED Dimmer Bluetooth аркылуу башкарылат: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Бул Инструкция акылдуу санариптик диммерди кантип курууну сүрөттөйт. Диммер - бул үйлөрдө, мейманканаларда жана башка көптөгөн имараттарда колдонулуучу жалпы жарык өчүрүүчү. Диммер өчүргүчтөрүнүн эски версиялары кол менен жасалган жана адатта жарыктын деңгээлин көзөмөлдөө үчүн айлануучу алмаштыргычты (потенциометрди) же баскычтарды камтыйт. Бул Нускамада жарыктын интенсивдүүлүгүн башкаруунун эки жолу бар санариптик диммерди кантип куруу керектиги сүрөттөлөт; смартфон жана физикалык баскычтар. Колдонуучу баскычтан да, смартфондон да жарыктыгын көбөйтүп же азайта алышы үчүн эки режим бирдей иштей алат. Долбоор SLG46620V CMIC, HC-06 Bluetooth модулун, баскычтарды жана LEDди колдонуу менен ишке ашат.
Биз SLG46620V CMICти колдонобуз, анткени ал долбоордун дискреттик компоненттерин азайтууга жардам берет. GreenPAK ™ ICлери кичинекей жана көп колдонуучу компоненттерге ээ, бул дизайнерге компоненттерди азайтууга жана жаңы функцияларды кошууга мүмкүнчүлүк берет. Андан тышкары, долбоордун наркы кийин төмөндөйт.
SLG46620V SPI туташуу интерфейсин, PWM блокторун, FSMди жана бир кичинекей чипте көптөгөн пайдалуу кошумча блокторду камтыйт. Бул компоненттер колдонуучуга Bluetooth түзмөгү же дубал баскычтары аркылуу башкарыла турган практикалык акылдуу диммерди курууга мүмкүндүк берет, узартылган убакытты өчүрүүнү колдойт жана микроконтроллерди же кымбат компоненттерди колдонбостон тандалуучу функцияларды кошот.
Төмөндө биз чечүүнүн Bluetooth аркылуу башкарылган акылдуу LED диммерин түзүү үчүн кантип программаланганын түшүнүү үчүн керектүү кадамдарды сүрөттөдүк. Бирок, эгер сиз программалоонун жыйынтыгын алууну кааласаңыз, GreenPAK программасын жүктөп алыңыз, буга чейин бүткөн GreenPAK Дизайн Файлын көрүңүз. GreenPAK Development Kitти компьютериңизге сайыңыз жана Bluetooth аркылуу башкарылган акылдуу LED диммерди түзүү үчүн программаны басыңыз.
1 -кадам: Долбоордун өзгөчөлүктөрү жана интерфейси
Долбоордун өзгөчөлүктөрү:
1. Көзөмөлдүн эки ыкмасы; мобилдик колдонмо жана чыныгы баскычтар.
2. Smooth on-off өткөөл жарык үчүн. Бул керектөөчүнүн көзү үчүн ден соолукка пайдалуу. Ошондой эле мейманканаларга жана башка тейлөө тармактарына жагымдуу болгон люкс сезимин берет.
3. Уйку режими өзгөчөлүгү. Бул колдонмо үчүн кошумча нарк болот. Колдонуучу бул режимди иштеткенде жарыктын жарыктыгы 10 мүнөттө акырындык менен азаят. Бул уйкусуздуктан жабыркаган адамдарга жардам берет. Бул балдардын уктоочу бөлмөлөрү жана чекене дүкөндөрү үчүн да пайдалуу (жабылуу убактысы).
Долбоордун интерфейси
Долбоордун интерфейсинде GreenPAK киргизүү катары колдонулган төрт баскыч бар:
ON / OFF: жарыкты ON / OFF (жумшак баштоо / токтотуу) күйгүзүү.
UP: жарык деңгээлин жогорулатуу.
Төмөн: жарык деңгээлин төмөндөтүү.
Уйку режими: уйку режимин иштетүү менен жарыктын жарыгы 10 мүнөттүн ичинде акырындык менен төмөндөйт. Бул колдонуучуга уктаар алдында убакыт берет жана жарык түнү бою күйбөйт деп кепилдик берет.
Система PWM сигналын чыгарат, ал тышкы LED жана уйку режими LED индикаторуна өтөт.
GreenPAK дизайны 4 негизги блоктон турат. Биринчиси, UART кабылдагычы, ал Bluetooth модулунан маалыматтарды алат, заказдарды чыгарат жана аларды башкаруу блогуна жөнөтөт. Экинчи блок - UART алуучусунан же тышкы баскычтардан буйрутмаларды кабыл алуучу башкаруу блогу. Башкаруу блогу керектүү иш -аракеттерди чечет (КҮЙГҮЗҮҮ/ӨЧҮРҮҮ, Көбөйтүү, Азайтуу, Уйку режимин иштетүү). Бул бирдик LUTs аркылуу ишке ашырылат.
Үчүнчү блок CLK генераторлорун камсыздайт. Бул долбоордо PWMди башкаруу үчүн FSM эсептегич колдонулат. FSMдин баасы 3 жыштык (жогорку, орто жана төмөн) тарабынан берилген буйруктарга ылайык өзгөрөт (өйдө, ылдый). Бул бөлүмдө үч жыштык түзүлөт жана керектүү CLK керектүү тартипке ылайык FSMге өтөт; Күйгүзүү/өчүрүү операциясында жогорку жыштык FSMге жумшак баштоого/токтотууга өтөт. Караңгылатуу учурунда орто жыштык өтөт. Төмөн жыштык FSM маанисин жайыраак азайтуу үчүн уйку режиминде өтөт. Андан кийин жарыктын жарыгы акырындык менен азаят. Төртүнчү блок - бул PWM бирдиги, ал тышкы диоддорго импульс жаратат.
2 -кадам: GreenPAK Дизайн
GreenPAKти колдонуу менен диммерди куруунун эң жакшы жолу-8-бит FSM жана PWM. SLG46620до FSM1 8 битти камтыйт жана аларды PWM1 жана PWM2 менен колдонсо болот. Bluetooth модулу туташышы керек, демек SPI параллелдүү чыгарылышы колдонулушу керек. SPI параллель чыгаруу биттери 7ден 7ге чейин туташуулар DCMP1, DMCP2 жана LF OSC CLK, OUT1, OUT0 OSC жыйынтыктары менен коштолот. PWM0 FSM0 (16 бит) өндүрүшүн алат. FSM0 255те токтобойт; ал 16383кө чейин көбөйөт. Эсептегичтин маанисин 8 битке чектөө үчүн башка FSM кошулат; Эсептегич 0 же 255ке жеткенде FSM1 көрсөткүч катары колдонулат. FSM0 PWM импульсун түзүү үчүн колдонулган. Эки FSMдин баалуулуктары бир эле мааниде болушу үчүн бир эле убакта өзгөртүлүшү керек болгондуктан, дизайн бир аз татаал болуп калат, анда эки FSMде тең алдын ала аныкталган, чектелген, тандалма CLK бар. CNT1 жана CNT3 CLKти эки FSMге өткөрүп берүү үчүн медиатор катары колдонулат.
Дизайн төмөнкү бөлүмдөрдөн турат:
- UART алуучу
- башкаруу бирдиги
- CLK генераторлору жана мультиплексор
- PWM
3 -кадам: UART алуучу
Биринчиден, HC06 Bluetooth модулун орнотушубуз керек. HC06 байланыш үчүн UART протоколун колдонот. UART универсалдуу асинхрондук алуучу / өткөргүчтү билдирет. UART маалыматтарды параллелдүү жана сериялык форматтардын ортосунда алдыга жана артка алмаштыра алат. Ал параллелдүү кабыл алгычты жана сериалдык конвертерге параллелди камтыйт, экөө тең өзүнчө сааттык. HC06да алынган маалыматтар GreenPAK түзмөгүбүзгө өткөрүлүп берилет. Pin 10 үчүн иштебеген абал БИЙИК. Жөнөтүлгөн ар бир белги логикалык LOW баштоо битинен башталат, андан кийин конфигурацияланган маалымат биттери жана бир же бир нече логикалык HIGH stop биттери менен башталат.
HC06 1 START битти, 8 маалымат битин жана бир STOP битти жөнөтөт. Анын демейки берилүү ылдамдыгы 9600. Биз HC06дан GreenPAK SLG46620Vнын SPI блогуна маалыматтын байтын жөнөтөбүз.
SPI блогунда START же STOP бит көзөмөлү жок болгондуктан, ал биттер SPI саат сигналын (SCLK) иштетүү жана өчүрүү үчүн колдонулат. Качан Pin 10 ТӨМӨН болгондо, IC СТАРТ битин алды, андыктан биз байланыштын башталышын аныктоо үчүн PDLY түшкөн жээк детекторун колдонобуз. Бул түшүп жаткан жээк детектору SCLK сигналын SPI блогун иштетүүгө мүмкүндүк берген DFF0 сааттары.
Биздин берүү ылдамдыгы секундасына 9600 битти түзөт, андыктан SCLK мезгилибиз 1/9600 = 104 микс болушу керек. Ошондуктан, биз OSC жыштыгын 2 МГцке койдук жана жыштыктарды бөлүштүрүүчү катары CNT0 колдондук.
2 МГц - 1 = 0,5 микс
(104 мик / 0,5 мкс) - 1 = 207
Ошондуктан, биз CNT0 эсептегичтин мааниси 207 болушун каалайбыз. Маалыматтардын өткөрүлбөшүн камсыз кылуу үчүн, SPI саатына жарым сааттык циклдин кечигүүсү кошулат, ошондо SPI блогу өз убагында такталат. Бул CNT6, 2-бит LUT1 жана OSC блогунун тышкы саатын колдонуу менен ишке ашат. CNT6 өндүрүмү DFF0 сааттан кийин 52 микске чейин көтөрүлбөйт, бул биздин SCLK мезгилибиздин 104 мкс так жарымы. Ал жогору кеткенде, 2-бит LUT1 AND дарбазасы 2 MHz OSC сигналынын EXTке өтүшүнө мүмкүнчүлүк берет. CLK0 киргизүү, анын чыгышы CNT0 менен туташкан.
4 -кадам: Control Unit
Бул бөлүмдө, буйруктар UART алуучудан алынган байтка же тышкы кнопкалардын сигналдарына ылайык аткарылат. 12, 13, 14, 15 -пинтер кириш катары инициализацияланып, тышкы баскычтарга туташтырылган.
Ар бир пин ички OR OR дарбазасынын киришине туташтырылган, ал эми дарбазанын экинчи кириши смартфондон Bluetooth аркылуу келген SPI Parallel чыгарылышында пайда боло турган тиешелүү сигнал менен байланышкан.
DFF6 уйку режимин активдештирүү үчүн колдонулат, анын чыгышы 2 биттик LUT4тен келе жаткан чеги менен өзгөрөт, ал эми DFF10 жарыктын статусун сактоо үчүн колдонулат, жана анын чыгышы төмөндөн жогоруга жана тескерисинче ар бир көтөрүлүп жаткан четине келет 3-бит LUT10 чыгаруу.
FSM1-бул 8 биттик эсептегич; анын мааниси 0 же 255ке жеткенде анын өндүрүшүнө жогорку импульс берет. Демек, бул FSM0 (16-бит) 255тен ашпашын алдын алуу үчүн колдонулат, анткени анын чыгышы DFFтерди баштапкы абалга келтирет жана DFF10 статусун күйгүзүүдөн өчүрөт жана тескерисинче, эгер жарык +, - баскычтары аркылуу башкарылса жана максималдуу/минималдуу деңгээлге жеткен болсо.
FSM1 кирүүлөрүнө туташкан сигналдар P11 жана P12 аркылуу синхрондоштуруу жана эки эсептегичте бирдей маанини сактоо үчүн FSM0го жетет.
5 -кадам: CLK генераторлору жана мультиплексор
Бул бөлүмдө үч жыштык түзүлөт, бирок бирөө гана FSMлерди каалаган убакта иштетет. Биринчи жыштык RC OSC болуп саналат, ал 0ден P0 матрицасынан алынат. Экинчи жыштык - бул LF OSC, ал 0 матрицасынан P1ге чейин алынат; үчүнчү жыштык - CNT7 чыгаруу.
3-бит LUT9 жана 3-бит LUT11 3-бит LUT14 чыгуусуна ылайык, бир жыштыкты өткөрүүгө мүмкүндүк берет. Андан кийин, тандалган саат FSM0 жана FSM1ге CNT1 жана CNT3 аркылуу өтөт.
6 -кадам: PWM
Акыр -аягы, FSM0 мааниси PWM сигналына айланат, ал 20 -пин аркылуу пайда болот жана ал тышкы LEDлерге туташкан.
7 -кадам: Android колдонмосу
Android колдонмосунда чыныгы интерфейске окшош виртуалдык башкаруу интерфейси бар. Анын беш баскычы бар; КҮЙГҮЗҮҮ / ӨЧҮРҮҮ, ӨЙДӨ, ТӨМӨН, Уйку режими жана Туташуу. Бул Android тиркемеси баскычты басууну буйрукка айландыра алат жана буйруктарды Bluetooth модулуна жөнөтөт.
Бул колдонмо эч кандай программалоо тажрыйбасын талап кылбаган MIT App Inventor менен жасалган. Колдонмо ойлоп табуучу программалоочу блокторду туташтыруу менен веб -браузерди колдонуп, Android OS түзмөктөрү үчүн колдонмо түзүүгө мүмкүндүк берет. Сиз биздин тиркемени MIT App Inventor программасына импорттой аласыз, Проекттер -> Импорттоо долбоорун (.aia) менин компьютеримден жана ушул Колдонмо Эскертүүсүндө камтылган.aia файлын тандап.
Android тиркемесин түзүү үчүн жаңы долбоорду баштоо керек. Беш баскыч талап кылынат: бири Bluetooth түзмөктөрү үчүн тизме тандоочу, ал эми калгандары башкаруу баскычтары. Биз ошондой эле Bluetooth кардарын кошушубуз керек. Figure 6 - бул биздин Android тиркемесинин колдонуучу интерфейсинин экраны.
Биз баскычтарды кошкондон кийин, биз ар бир баскыч үчүн программалык камсыздоону дайындайбыз. Биз баскычтардын абалын көрсөтүү үчүн 4 битти колдонобуз. Ар бир баскыч үчүн бир бит, андыктан баскычты басканыңызда, белгилүү бир сан Bluetooth аркылуу физикалык схемага жөнөтүлөт.
Бул сандар 1 -таблицада көрсөтүлгөн.
Жыйынтык
Бул Instructable эки жол менен башкарыла турган акылдуу диммерди сүрөттөйт; Android колдонмосу жана чыныгы баскычтар. GreenPAK SLG46620V ичинде төрт өзүнчө блок көрсөтүлгөн, алар жарыктын PWMин жогорулатуу же азайтуу процессинин агымын көзөмөлдөйт. Кошумча катары, Уйку режими өзгөчөлүгү колдонмо үчүн жеткиликтүү кошумча модуляциянын мисалы катары көрсөтүлгөн. Көрсөтүлгөн мисал төмөн чыңалуу, бирок жогорку чыңалуу үчүн ишке ашырылышы мүмкүн.
Сунушталууда:
Glass Stone LED Tube (WiFi Smartphone App аркылуу башкарылат): 6 кадам (Сүрөттөр менен)
Glass Stone LED Tube (WiFi Smartphone тиркемеси аркылуу көзөмөлдөнөт): Саламатсыздарбы достор! Бул көрсөтмөдө мен сизге жакшы диффузия эффекти үчүн айнек таштар менен толтурулган WiFi көзөмөлдөгөн LED түтүктү кантип курууну көрсөтөм. Светодиоддор жеке түрдө чечилет, ошондуктан кээ бир жакшы эффекттер мүмкүн
DIY аз вольттуу тышкы жарыктандыруу Raspberry Pi аркылуу башкарылат: 11 кадам (сүрөттөр менен)
Төмөн вольттогу тышкы жарыктандыруу Raspberry Pi аркылуу башкарылат: Эмне үчүн? Мен дагы эле чарчаганымды, бардык лампаларымды, шаймандарымды, алдыңкы эшигимди, гараждын эшигин илип жатам жана ачык интернетке дагы эмне керек экенин ким билет. Өзгөчө мындай окуялар менен
Neopixel Ws 2812 LED тилкеси Arduino менен Android же iPhone'дон Bluetooth аркылуу башкарылат: 4 кадам
Neopixel Ws 2812 LED Strip Arduino менен Android же Iphone'дон Bluetooth аркылуу башкарылат: Саламатсыздарбы, мен бул көрсөтмөлөрдө мен Bluetooth туташуусун колдонуп, Android телефонуңуздан же iPhone'уңуздан неопикселдүү LED тилкесин же ws2812 LED тилкесин кантип башкаруу керектигин талкууладык. үйүңүзгө неопикселдүү LED тилкесин кошуңуз, Arduino менен
ESP 8266 Nodemcu Ws 2812 Neopixel негизиндеги LED MOOD лампасы Webserver аркылуу башкарылат: 6 кадам
ESP 8266 Nodemcu Ws 2812 Neopixel негизиндеги LED MOOD лампасы вебсервердин жардамы менен башкарылат: Бул долбоордо биз nodemcu & MOOD лампасын жасайбыз. неопиксел жана жергиликтүү веб -серверди колдонуп каалаган браузер тарабынан көзөмөлдөнөт
RC Car Hack - Bluetooth Android App аркылуу башкарылат: 3 кадам (Сүрөттөр менен)
RC Car Hack - Bluetooth аркылуу Android колдонмосу аркылуу башкарылат: Мен ишенем, ар бириңер үйдө колдонулбаган RC машинасын таба аласыңар. Бул көрсөтмө эски RC машинаңызды оригиналдуу белекке алмаштырууга жардам берет :) Менде болгон RC машинасынын көлөмү кичинекей болгондуктан, мен Arduino Pro Miniди башкы контроллер катары тандап алдым. Башка