Мазмуну:

Wildfire: 7 кадам
Wildfire: 7 кадам

Video: Wildfire: 7 кадам

Video: Wildfire: 7 кадам
Video: Сброс пароля на андроид / Удаление Google аккаунт на Android / Сброс графического ключа на телефоне 2024, Ноябрь
Anonim
Image
Image

Бул долбоор Game of Thrones мистикалык токой отунан, жашыл түстөгү суюктуктан, шыктандырылган, ал күйгөндө жашыл жалын менен жарылган. Долбоор ылайыкташтырылган түс эффекттери үчүн RGB SMD5050 LED тилкелерин колдонууга багытталган. Үч айнек объектиси ар бири алты RGB LED диодунан турган тилке менен жабдылган. An Arduino Uno чырактар үчүн жаркыраган үлгү сыяктуу от жаратат. RGB светодиоддору кочкул жашылдан ачык жашылга чейин ачык ак түскө чейин градиент түс моделин түзүү үчүн керек. Жөнөкөй жашыл LED жетишсиз, ал ачык акты жаратуу үчүн кызыл жана көк компоненттерге муктаж. Бонус катары бул жабдык башка түстөрдү өндүрө алат. Айнек буюмдар жарыкты сындыруу жана чыныгы жарык булагын, б.а. кичинекей, абдан техникалык карап турган RGB SMD5050 LED тилкелерин жашыруу үчүн керек.

Идея сиз каалаган объекттерге жана каалаган динамикалык түс схемасына чейин жайылтылышы мүмкүн. Бул көрсөтмө мен төмөнкү түстөр схемасы менен үч айнек объект менен орнотууну кантип ишке ашырганымды сүрөттөйт. Токой өрттөрүнүн схемасы кириш видеодо көрүнүп турат. Калган схемалар бул көрсөтмөнүн 6 -кадамындагы видеодо көрүнүп турат.

  • Wildfire. Тактар оюну отту спектакль сыяктуу шыктандырды.
  • Unicorn Attractor. Асан -үсөн түстөрүнөн өчкөн спектакль.
  • Blink. Түстүн туш келди эки башка ылдамдыкта өзгөрүшү.
  • Fade. Кокус түстөрдүн эки башка ылдамдыкта жылмакай өзгөрүшү.
  • Жандуу түстөр. Объектилерди бир түстүн айланасында акырын термелүүчү жарык менен боёгула.
  • Шамдар. Светодиоддоруңуз табигый шамдын жалынын туурайт.

Орнотуу

Негизги орнотууда сиз бир баскычты басуу менен алты түстүү схемадан өтөсүз. Колдонулса, эки чыкылдатуу бир түстүү схеманын ичинде бир параметрден экинчисине өтөт. Түс орнотууларын Arduino программасын түзөтүү аркылуу кошсо болот.

Келечектеги кеңейтилген версияда, баскыч ESP8266 тактасы менен алмаштырылат, ал веб -баракчага интерфейс кылат, ал түс схемаларын башкарат. Өз кезегинде веб -баракчаны мобилдик түзмөктүн браузери менен башкарса болот. Бул нерселерди жөнгө салууда көп түрдүүлүктү берет:

  • өзгөртүү ылдамдыгын жана багытын белгилөө
  • шамдын түсүн коюңуз
  • түстөрдүн жарыктыгы менен каныктыгын коюңуз

Бул нускоочу колдонуучу интерфейси катары баскычты камтыган негизги орнотууга багытталган.

1 -кадам: Сизге эмне керек

Сизге эмне керек
Сизге эмне керек
Сизге эмне керек
Сизге эмне керек
  • Арзан RGB LED тилкеси, аны сиз кыска тилкелерге бөлө аласыз
  • Күч блогу, эң жакшысы 12 V 1.5 RGB LED тилкеси менен келген нерсе
  • An Arduino UNO же ушуга окшош
  • Эки ULN2803AP IC: s
  • Жөнөкөй баскыч
  • Perma-Proto нан тактасы
  • Зым
  • Электроника үчүн кутуча
  • Кээ бир айнек буюмдар RGB LED тилкелери менен жарыктандырылышы керек
  • Куралдар (зым сыйруучу, ширетүүчү, ширетүүчү …)

Жетектелген тилке

Мен 90 RGB SMD LEDлеринен турган арзан LED тилкесин сатып алдым. Кичинекей бирдик леддерди айдайт, түсүн өзгөртөт. Бирдик алыстан башкарылат жана тилке түстөрдү ар кандай жолдор менен өзгөртө алат. Бирок бүт тилкенин түсү бирдей. Кызыгы, тилкени ар бир тилкеде үч гана rgb ледди камтыган кичинекей тилкелерге кесип салсаңыз болот. Ар бир тилке, канчалык узун болбосун, 12 В менен кубатталууга тийиш, үч ргб леддин ар бир бөлүмүндө леддердин чыңалуусунун төмөндөшүнө кам көргөн резисторлордун өздүк топтому бар. Сиз болгону 12 В жана жетиштүү амперди, ошондой эле миллиамперди камсыз кылышыңыз керек. Бул долбоор үчүн мен ар биринде 6 бирдик болгон 12 тилкенин үч тилкесин жана 12 В 1.0 А күч блогун колдоном. Башкаруу блогу менен алыстан башкаруунун кереги жок.

ULN2803AP

Жалгыз ледке аз гана ток керек. Адатта, сиз Arduino маалымат түйүнүнөн түздөн -түз LEDди күйгүзө аласыз, эгерде сизде каршылыгы бар болсо, 5 В маалыматтык пинди 3 Вге чейин төмөндөтөт. Бирок бир RGB SMD5050 LED үч ледден турат, кызыл, грен жана көк. Жана бул долбоор үчүн мен 6 RGB SMD5050 LED диоддорун колдонуп жатам. Arduino Uno бир маалымат пин 6 LED башкарат. Леддерди күйгүзүү күчү маалымат төөнөгүчүнөн келип чыкса, бул маалымат төөнөгүчүн тост кылат. Бирок бардыгы болуп тогуз маалымат түйүнү болот жана бул Arduino үчүн өтө эле көп болот. Мына ошондуктан ULN2803AP ишке киришти. ULN2803AP - 8 дарлингтон транзистору бар интегралдык чип. Мага 9 керек, ошондуктан мен эки ULN2803AP чипин колдоном. Бул менде 7 запастык транзистор калды, эгер мен долбоорду беш объект деп айткым келсе.

RGB SMD5050 LEDинин ичиндеги бир LED 20 мА тартат. Алардын алтоо 120 мАны билдирет. ULN2803теги бир пин (бир дарлингтон транзистору) 500 мА батат. Бирок бүт чип ток тарабынан өндүрүлгөн 1,44 Вт жылуулукту көтөрө алат. 120 мА 0,144 Вт өндүрөт, мен ULN2803 чиптеринин бирине беш сапты, экинчисине төрт линияны коюп жатам. Бул бир чипте 0,72 Вт, башка чипте 0,58 Вт болот. Ошентип, мен жакшы болушум керек. Ар биринде 120 мА болгон ULN2803 бардык 8 линиясын колдонуу чипти 1.2 Вт менен жылытат.

Жөнөкөй түшүндүрүлгөндөй, RGB SMD LED тилкеси энергия булагынан 12 В алат. LED тилкесинен, үч түстүү LEDдин ар биринин току ULN2803APтагы өз казыгына жана андан ары GNDге барат. Район жабык жана LED күйөт. Бирок ULN2803AP Arduinoдон келген 5 В маалымат сигналдары аркылуу күйгүзүлөт/өчүрүлөт. Бул сигналдар Arduinoдон бир нече миллиамптарды тартат.

Айнек буюмдар жана LED тилкелери

Менде чай чырактары үчүн арналган бул кызыктай айнек буюмдар бар болчу. Мен кайыңдын жыгачынан плиталарды кесип, алар турушу үчүн жана LED тилкелерин чаптай турган бир нерсе болушу үчүн. Мен жеке шакектерди жасоо үчүн тилкелерде кээ бир бүктөмдөрдү жасадым, ал жерде жеке LED бирдиктери өйдө карады. Сызыктарды кыркпоо үчүн бүктөмдөргө этият болуңуз.

2 -кадам: Колдонуучунун көрсөтмөсү

Түзмөк жөнөкөй колдонуучу интерфейсине ээ болот. Ал электр булагын дубал розеткасына туташтырып күйгүзөт жана Wildfire деген биринчи түс схемасынан башталат. Ал розеткадан чыгаруу менен өчөт. Баскычты басуу кийинки түс схемасына өтөт. Эки жолу басуу ар бир түс схемасынын суб схемалары аркылуу өтөт. Мен төмөнкү түстөр схемасын ишке ашырам:

  1. Wildfire. Тактар оюну жашыл жалындар бир айнек нерседен экинчисине өтүүчү спектакль сыяктуу отко шыктандырды. Бул эффект айнек буюмдарды бири -бирине тигинен койгондо эң укмуштай көрүнөт. Үч башка субчемалар жалындын ар кандай темпи менен ишке ашырылат.
  2. Unicorn Attractor. Асан -үсөн түстөрүнөн өчкөн спектакль. Өчүү айлануу жолу менен болот, мисалы, ар бир түс бир айнек нерседен экинчисине өтөт. Көмөкчү схемалар ар кандай ылдамдыкка ээ болот.
  3. Blink. Түстүн туш келди эки башка ылдамдыкта өзгөрүшү. Жазылуулар ар кандай палитраларга ээ болот (бир гана толук каныккан түстөр, жарымы каныккан түстөр, түстөр чөйрөсүнүн жарымынан гана түстөр)
  4. Fade. Кокус түстөрдүн эки башка ылдамдыкта жылмакай өзгөрүшү. Окшош подкисемалар №3.
  5. Жандуу түстөр. Объектилерди бир түстүн айланасында акырын термелүүчү жарык менен боёгула. Кошумча схемалар түстөрдү кызыл, кызгылт сары, сары, жашыл, көк, индиго же кызгылт көккө коёт. Термелүү тандалган түстүн тегерегиндеги 10 градустук сектордун ичинде болот. Үч айнек объектинин түсү бирдей, бирок ар бир объекттин термелүү жандуу түсүн берүү үчүн термелүүнүн жыштыгы туш келди өзгөрөт.
  6. Шамдар. Светодиоддоруңуз табигый шамдын жалынын туурайт. Үч подстанция:

    1. "мүмкүн болушунча тынч"
    2. "бир жерде ачык терезе"
    3. "Бул караңгы жана бороондуу түн болду"

3 -кадам: RGB түстөр жөнүндө бир нече сөз

Бул бөлүмдө мен RGB түс мейкиндигине болгон көз карашымды талкуулайм. Сиз бул бөлүмдү жакшы өткөрүп жибере аласыз. Мен эмне үчүн RGB светодиоддорунун түстөрүнө мен сыяктуу мамиле кылаарым жөнүндө бир аз маалымат берем.

Ошентип, RGB LEDде кызыл, жашыл жана көк гана жарык бар. Буларды аралаштыруу адамдын көзү тааный турган түстөрдү түзөт (дээрлик). Ар бир бөлүктүн өлчөмү - кызыл, жашыл же көк - санариптик дүйнөдө адатта 0дон 255ке чейин сан менен аныкталат. Толук каныккан түс түстүү компоненттердин бири нөлгө, бир түстүү компонент 255ке чейин болушу керек. санариптик дүйнөбүздө бизде 1530 ар кандай толук каныккан түстөр бар.

RGB мейкиндигин моделдөөнүн бир жолу - бул куб. Кубдун бир чокусу кара. Ошол чокудан биз кызыл, көк же жашыл четин аралай алабыз. Кубдун каалаган чекити кызыл, жашыл жана көк координаттары менен аныкталган түс. Кара чокудан эң алыскы чокуга саякат кылып, биз ак чокуга келебиз. Кара менен акты эске албаганда алты чокуга токтолуп, биз четтерин ээрчүү менен бардык алты чокуларды кесип өтүүчү жолду түзө алабыз. Ар бир четинде 256 чекит же түстөр бар. Ар бир чоку эки четинен бөлүнөт, андыктан упайлардын жалпы саны 6 * 255 = 1530. Бул жолдун артынан түс спектриндеги 1530 толук каныккан түстөр өтөт. Же асан -үсөн. Чокулары кызыл, сары, жашыл, көк, көк жана кызгылт түстөрдү билдирет.

Кубдун башка чекиттери толугу менен каныкпаган түстү билдирет.

  • Же чекит кубдун ичинде, башкача айтканда, кызыл, жашыл жана көк координаттар нөлдөн айырмаланат. Кара чокудан ак чокуга чейинки диагоналды бардык боз түстөрдүн сызыгы катары элестетип көрүңүз. Ал эми кубдун ичиндеги "толук каныкпаган түстөр" четиндеги толук каныкуудан "нөл каныккандыктын" диагоналына карай өчүп баратат.
  • Же чекит кара чокуга тийген кубдун үч тегиз бетинин биринде жатат. Мындай түстү толугу менен каныккан, бирок караңгы деп эсептесе болот. Аны канчалык караңгылатсаңыз, ошончолук кабыл алынган түс каныктыгын жоготот.

Бардык толук каныккан түстөрдү сүрөттөгөн кубдун айланасында алты четки жолдун ордуна, биз бул 1530 түстү 60 градус сектордо 255 ар кандай түстөр бар тегерекке жайгаштыра алабыз - жашыл кошуу менен кызылдан сарыга чейин өчүп бараткандай.. Түстөр чөйрөсүндөгү бардык түстөр аркылуу чуркоо үч түстүү контроллерди жылдырууга окшош, бири кезеги менен, калган экөө карама -каршы позицияда. Мен кээ бир түс схемаларында түс чөйрөсүн же асан -үсөн спектрин колдоно тургандыктан, мен өзүмдүн 1530 масштабымды колдонуп, тегеректин чекити катары бир түстү (өңдү) аныктайм:

1530 масштабдуу стандарттык 360 шкаласы

============================ кызыл 0 0 апельсин 128 30 сары 256 60 жашыл 512 120 бирюза 768 180 көк 1024 240 индиго 1152 270 кызгылт 1280 300 кызгылт 1408 330

Бул 1530 шкаласы асан -үсөн түстөрүн RGB светодиоддоруна баалуулуктарга айландырууну жөнөкөйлөтөт.

Эмне үчүн ар бир бөлүмдө 255 түс бар? Эмнеге 256 эмес? Ооба, бир сектордун 256 -түсү кийинки сектордун 1 -түсү. Сиз бул түстү эки жолу эсептей албайсыз.

PWM жөнүндө дагы бир нече сөз

Кадимки LED берилген чыңалууда жаркырап жарык берүү үчүн иштелип чыккан. Бул чыңалууну төмөндөтүү жарыкты төмөндөтүшү мүмкүн, бирок диоддун өзү чыңалууну түшүрүү менен жөнгө салынган эмес. Жарым чыңалууда ал таптакыр күйбөй калышы мүмкүн. Анын ордуна, караңгылатуу толук чыңалуу менен нөлдүк чыңалууга өтүү аркылуу ишке ашат. Которуу канчалык тезирээк болсо, адамдын көзү ошончолук аз дирилдейт. Жарык диоддун жарымы күйүк болсо жана жарымы бош болсо, анда адамдын көзү жарыкты толугу менен жаркыраган LEDдин жарым эффектинде жарк эткендей кабыл алат. Толук эффект убактысы менен нөл эффектинин убактысынын ортосундагы катышты тууралоо - бул LEDди караңгылатуу. Бул PWM же импульстун туурасы модуляциясы.

Мен бул проекти үчүн сатып алган арзан RGB SMD LED тилкесине PWMге кам көргөн түзмөк кирет. Бул долбоордо мен анын ордуна Arduino UNO менен PWM түзөм. Адатта компьютер экранында ишке ашырылган RGB түс мейкиндиги теориялык структура болуп саналат, анда ар бир түстүү канал 0ден 255ке чейин мааниге ээ деп элестетилет жана каналдын жарыктуулугу линиялык түрдө мааниге ылайык келет. Компьютердин графикалык картасы бул сызыктуу күтүүдөгү кандайдыр бир кыскартууну ордун толтурушу мүмкүн, бул чыныгы леддер болушу мүмкүн. Бул долбоордо колдонулган SMD диоддору PWM баалуулуктары сызыктуу түрдө аткарылабы же жокпу, бул долбоордун алкагына кирбейт. 255 PWM мааниси эң жаркыраган жарыкты жаратат. Бирок 128дин мааниси 255тин жарымы катары кабыл алынган жарыктыкка окшошпошу мүмкүн. Ал эми 1925тин такында 255 менен 128дин ортосунда жаркыроо катары кабыл алынбашы мүмкүн.

4 -кадам: Схемалар

Схемалар
Схемалар

Бул жерде мен электрониканын схемаларын сунуштайм. Сүрөт менин туташуумду көрсөтөт. Мен чиптерди, зымдарды жана баскычты perma proto доскасына ширеттим. Азырынча компоненттер жөн эле зымдар менен туташып турат, бирок мен аларды жакшы кутуга кантип орнотууну жана зымдарды LED тилкелерине кантип тартуу керектигин сизге калтырам. Эгерде сиз 4 зымдуу жалпак кабелди тапсаңыз, аны колдонуңуз, анткени бир LED тилкесине 4 зым керек. Менде болгону 3 зым жалпак кабель болгон, ошондуктан мага кошумча зым керек болчу, бул аны бир аз көрксүз кылды.

5 -кадам: Кодекс

Код Arduino Uno үчүн жазылган. Unoдо 6 PWM жөндөмдүү казык бар, бирок мага алардын 9у керек. Ошентип, мен Бретт Хагман тарабынан жазылган атайын PWM китепканасын колдоном. Бул сиздин Arduino IDEге орнотулушу керек.

wildfire.ino - бул долбоордун негизги файлы, ал setup () жана loop () функцияларын, ошондой эле бардык схемалар үчүн кээ бир башка жалпы функцияларды камтыйт.

wildfire.h - жалпы аталыш файлы.

Ар кандай схема файлдары долбоорго өзүнчө өтмөктөр катары чапталышы мүмкүн.

6 -кадам: Иш -аракетте

Image
Image

7 -кадам: Андан ары өнүктүрүү

  • Android телефону менен зымсыз байланышты иштетүү үчүн бир баскычтуу интерфейсти ESP8266 менен алмаштырыңыз, анда колдонуучу интерфейси схемаларды көзөмөлдөө үчүн веб -баракча.
  • Колдонула турган тилкеде дагы деле 70 RGB SMD диоддору калган. Бул 24 тилке, ар биринде 3төн. Дагы 24 каналга жаңыча мамиле керек. Бул Arduino Mega 2560 жана дагы бир нече ULN2803AP чиптерине, башкача айтканда, LED үчүн көп колдонулган эки 16 каналдуу серво такталарына муктаж болмок.
  • Колдонулбаган, ошондой эле баштапкы LED тилкеси үчүн алыстан башкаруучу, ошондой эле анын алуучусу. Мен ресиверди ача элекмин, бирок кандайдыр бир жол менен кайра колдонулушу мүмкүн. Ардуиного логикасын уурдоого жана жарык шоуну көзөмөлдөө үчүн сандык маалыматтарды Arduinoго жеткирүүгө уруксат берилиши мүмкүн.

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