Мазмуну:

Ар бир долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels): 6 кадам (сүрөттөр менен)
Ар бир долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels): 6 кадам (сүрөттөр менен)

Video: Ар бир долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels): 6 кадам (сүрөттөр менен)

Video: Ар бир долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels): 6 кадам (сүрөттөр менен)
Video: Ойлонордон мурда бул ВИДЕОНУ КӨРҮҢҮЗ! 2024, Июль
Anonim
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)
Ар кандай долбоор үчүн эң мыкты RGB светодиоддору (WS2812, Aka NeoPixels)

Биз LED менен иштеп жатканда, биз көбүнчө алардын абалын (күйгүзүү/өчүрүү), жарыктыгын жана түсүн башкарууну жакшы көрөбүз. Мунун көптөгөн, ар кандай жолдору бар, бирок эч бири WS2812 RGB LED сыяктуу чакан чечим эмес. Анын кичинекей 5мм х 5мм пакетинде WS2812 3 супер жаркыраган диодду (Кызыл, Жашыл жана Көк) жана драйвердин чакан схемасын (WS2811) камтыйт, ал 3 LEDдин абалын, жарыктыгын жана түсүн көзөмөлдөө үчүн бир гана маалыматты киргизүүнү талап кылат.. 3 LEDди көзөмөлдөө үчүн бир гана маалымат линиясына муктаждыктын эсебинен, WS2811 менен байланышта өтө так убакыт талап кылынат. Ушул себептен улам, реалдуу убакытта микроконтроллер (мисалы, AVR, Arduino, PIC) талап кылынат. Тилекке каршы, Linux негизиндеги микрокомпьютер же Netduino же Basic Stamp сыяктуу интерпретацияланган микроконтроллер жетиштүү убакыт тактыгын бере албайт. Ошентип, бул Нускамада мен Arduino Uno менен бул светодиоддордун бирин орнотуу жана көзөмөлдөө процессинен өтөм. Андан кийин, мен алардын жаркыраган дисплейи үчүн бир нече нерселерди туташтыруу канчалык оңой экенин көрсөтөм!

1 -кадам: Материалдардын тизмеси

Материалдардын тизмеси
Материалдардын тизмеси

Бул кереметтүү RGB LED 5050 (5мм х 5мм) пакетте келет, алар 6 тактайчага ээ, алар сындыруучу тактага оңой эле lehimделет. Жалгыз кошумча компонент ажыратуучу конденсатор болгондуктан, WS2812 чынчылдык менен RGB LEDинин түсүн жана жарыктыгын көзөмөлдөө үчүн эң жакшы чечимди сунуштайт. Камтылган туруктуу токтун LED драйвери (WS2811) эки себептен абдан пайдалуу: - Чыңалуу өзгөрсө дагы ~ 18mA туруктуу ток ар бир LEDди айдайт. - Электр энергиясы менен Светодиоддордун ортосуна токту чектөөчү резисторлорду (муунтуучу резисторлорду) кошуунун кажети жок. Бизге керектүү нерселердин бири - бул кубаттуулукту, жерди жана 1 көзөмөлдү киргизүүнү камсыздоо үчүн, бир эмес, RGB светодиоддорунан турган коркунучтуу жарык дисплейин түзүү. Дурус! Бул светодиоддордун биринин Data Out пинин экинчисинин Data In пинине туташтыруу менен, биз экөөнү бирдей Control Input менен өз алдынча айдай алабыз! Эгер муну кантип жасоо белгисиз болсо, тынчсызданбаңыз, бул Нускаманын аягында сиз каалаган долбоорго WS2812 кошуу жолунда жакшы болосуз! Бул инструкция үчүн бул жерде биз колдоно турган нерселер бар: Материалдар: 3 x WS2812 RGB светодиоддор (кичинекей сынык тактасына алдын ала ширетилген) 1 х Solderless Breadboard Solid Core Wire (түрдүү түстөр; 28 AWG) 1 x Arduino Uno R3 1 x Үзүлүүчү пин туташтыргычы, 0,1 дюйм, 8-пин эркек (оң бурч) 1 х пин туташтыргычы, 0,1 дюйм, 8-пин ургаачы (оң бурч) 1 х үзүлүүчү пин туташтыргычы, 0,1 дюйм, 8-пин MaleTools: PC USB A/B Cable Wipe Stripper Lehering Iron

2 -кадам: пин баштарын туташтыруу

Пин баштарын туташтыруу
Пин баштарын туташтыруу
Пин баштарын туташтыруу
Пин баштарын туташтыруу
Пин баштарын туташтыруу
Пин баштарын туташтыруу

Мурунку кадамда саналып өткөн бардык материалдар менен WS2812 RGB LEDди жарыктандыруу абдан алдыга жылат. Биринчиден, биз WS2812 Breakout такталарын аларды ширетилбеген нанга жайгаштыруу үчүн даярдагыбыз келет. Бул үчүн биз ар бир 8-пин тилкесин 2 х 3-пин бөлүктөргө бөлүү үчүн зым кескичти колдонобуз (эң кеңири таралган кесүүчү аспаптар дагы ошондой иштейт). Кесүү бир аз татаал экенин унутпаңыз; Мен көбүнчө эки эркек баштын ортосундагы оюкту кесүү үчүн колдонмо катары колдонууга аракет кылдым, жана мен сактап калгым келген баштыктан өтө көп пластикти кыркып бүттүм. Кесүүнү каалаган жерге төөнөгүчтү "курмандыкка чалуу" менен биз көйгөйдөн таптакыр алыс болобуз. Кычкачтын жардамы менен биз кесүүнү каалаган жерден төөнөгүчтү сууруп алабыз (бул учурда 4 жана 8 -пин). Кадрлар алынып салынгандан кийин, бош турган баш тилкелердин ортосун оңой эле кесип алабыз. Бул ыкма аялдын башы менен бирдей жакшы иштейт. Кызыктырып жана кескенден кийин, бизде 6 х 3-пин баштары болушу керек, башкача айтканда, 2 х стандарт жана 4 х тик бурчтуу (2 х эркек, 2 х аял). Бир ширетүүчү темирдин жардамы менен, биз казыктарды үч сынык тактасынын ар бирине төмөнкүдөй туташтыра алабыз. Бир тактада 2 х стандарттуу аталыштар болушу керек, ал эми калган эки тактада ар бири 1 х тик бурчтуу баш болушу керек. Стандарттык пин баштары бар тактада биз казыктарды астынкы бетине (LED турган жерге карама -каршы жагы) жайгаштырабыз. Башка экөөндө оң бурчтуу баштар (ар бир жыныстагы бирөө) үстүңкү же астыңкы бетине жайгаштырылышы мүмкүн. Белгилей кетчү нерсе, эркек жана ургаачы баш тилкелерин жайгаштыруу боюнча бир тактадан экинчисине ырааттуу болуу маанилүү. Тактайларга багыт берүү үчүн беттик конденсаторду колдонуу пайдалуу; муну шилтеме катары колдонуп, эркек баш конденсаторго эң жакын жерге чейин ширетилиши керек. Пиндер ширетилгенден кийин, биз алардын бирин Arduino менен туташтырууга даярбыз!

3 -кадам: WS2812 Breakout тактасын Arduino менен туташтыруу

WS2812 Breakout тактасын Arduino менен туташтыруу
WS2812 Breakout тактасын Arduino менен туташтыруу
WS2812 Breakout тактасын Arduino менен туташтыруу
WS2812 Breakout тактасын Arduino менен туташтыруу
WS2812 Breakout тактасын Arduino менен туташтыруу
WS2812 Breakout тактасын Arduino менен туташтыруу

Бул кадамда биз Arduino менен WS2812 Breakout такталарыбыздын ортосунда керектүү байланыштарды түзөбүз. Бул үчүн биз solderless breadboard жана 3 x jumper зымдарын колдонобуз. Эгерде сиз зымдын катушкасын колдонуп жатсаңыз, анда ар бири болжол менен 4 дюйм болгон 3 кесимди кесүү убактысы келди. Эми биз WS2812 Breakout Board (стандарттуу аталыштары бар) панелибизди бөлгүчкө жайгаштыра алабыз. Arduino электр булагынан да, USBден да ажыратылгандыктан, биз туташууну уланта беребиз WS2812 Breakout Boardтун асты жагында биз ар бир пиндин атын таба алабыз: VCC, DI (DO), GND. Бул колдонмо катары биз Arduinoдон 5V жана GND казыктарын WS2812 тактасынын VCC жана GND казыктарына туташтырабыз, андан кийин Arduino санарип тарабындагы 8 пинди WS2812 тактасынын DI пинине туташтырабыз., бул конденсаторго эң жакын болгон капталдын борбордук пини. Эми биз программабызды Arduinoго жүктөп, WS2812ди жарк эттирүүгө даярбыз!

4 -кадам: Arduino IDE менен аны өчүрүү

Arduino IDE менен аны өчүрүү
Arduino IDE менен аны өчүрүү
Arduino IDE менен аны өчүрүү
Arduino IDE менен аны өчүрүү

Мен сиз Arduino IDEди компьютериңизге мурунтан эле орноттуңуз деп ойлойм-Интернетте көптөгөн гиддер процессти жакшы түшүндүрүшөт. Ардуиного жүктөө керек болгон программаны бул жерден жүктөп алсаңыз болот. Жөн гана праймердин ичиндеги primer.ino файлын эки жолу чыкылдатып> мисалдар> Arduino IDEге жүктөө үчүн праймер папкасы (1.0.5 версиясы үчүн wirtten). Топтом кодду түзүү үчүн керектүү китепканаларды камтыйт, андыктан эч кандай ката болбошу керек, эгерде сиз компиляциялоодо кандайдыр бир көйгөйгө туш болсоңуз, комментарий калтырыңыз. Куралдар менюсун колдонуу менен Arduino тактасынын түрүн жана USB портун тандап алгандан кийин, кодду жүктөп бериңиз, WS2812 кызыл, жашыл жана көк түстө кезектешип өчүп башташы керек. Бул WS2812 RGB светодиоддорунун эң өзгөчөлүгү-бул көптөгөн диоддорду камтыган узун тилкелерди жана массивдерди түзүү үчүн "ромашка чынжырлуу" болушу мүмкүн. Кийинки кадамда биз так 3 такта менен жасайбыз.

5 -кадам: RGB светодиодун түзүү

RGB светодиоддорун түзүү
RGB светодиоддорун түзүү
RGB светодиоддорун түзүү
RGB светодиоддорун түзүү

Камтылган LED драйверинин схемасы (WS2811) 1 маалымат линиясын (!) Колдонуп, экинчисине бир "чайкап" коюуга мүмкүндүк берет. Бир WS2812дин маалыматтын чыгышын экинчисинин маалымат киргизүүсүнө туташтыруу менен, биз Arduinoдо 500гө чейин LED диоддорунун жарыктыгын жана түсүн башкара алабыз! Албетте, көптөгөн светодиоддорду айдаш үчүн кээ бир ойлорду эске алуу керек: - Ар бир пиксель 60 мАга чейин тартат (толук жарыкта ак түстө бардык диоддор күйүп турушу керек, ар бир чийме ~ 20 мА). - Arduino 30 Гц жаңыртуу ылдамдыгында 500 LEDди айдайт, анын оперативдүү RAM. - Эки тактаны бириктирүү үчүн, сунушталган максималдуу ажыратуу 6 "болуп саналат, электрдин өчүшүн жана маалыматтардын бузулушун болтурбоо үчүн. Буларды эске алуу менен, биз бардык светодиоддорду 24-разряд түстүү чечимди колдонуп, жаркыраган деңгээлде, жана батарейканын кубаттуулугунун өзгөрүшүнө абдан чыдамкай. Бул инструкцияга даярдаган такталарды "ромашка-чынжыр" үчүн, биз эки тактанын ургаачысынын башынан ургаачынын башына туташтыруу менен баштайбыз. бурчтун баштары. Андан кийин, биздин Arduino тактасы Power жана USBден ажыратылганда, биз эркектин учун эки такталуу чынжырдын солотсуз нан тактасына жайгаштырабыз. Мындай тегиздөө VCC жана GND пиндерин түз баштуу тактан да, чынжырдан да ошол эле тилкеде болот. Биз эки такталуу чынжырды конденсаторго карама-каршы келген үчүнчү үзүлүү тактасынын аягына жакын жайгаштырабыз. А Баары туташкандан кийин, биз Arduino IDEди күйгүзүп, Текст редакторунун жардамы менен "#аныктоо NUM_LEDS 1" дегенди "#аныктоо NUM_LEDS 3" кылып өзгөртө алабыз. Тактаны кайра Power жана/же USBге туташтыргандан кийин, биз жаңы программаны жүктөй алабыз … жана … BAM! Бардык үч светодиод дал ушундай ирмелиши керек!

6 -кадам: Караңгылыкка, Жарык болсун

Караңгылыкка, Жарык болсун!
Караңгылыкка, Жарык болсун!
Караңгылыкка, Жарык болсун!
Караңгылыкка, Жарык болсун!

Бул Instructable кичинекей сынык такталарга алдын ала ширетилген WS2812 RGB LEDди кантип колдонууну көрсөткөн. Биз Arduino менен диоддордун жарыктыгын жана түсүн көзөмөлдөп турдук. Бир аз капа болгон нерсе, биз колдонгон код LED диоддорунун дароо бирдей интенсивдүүлүккө жана түскө ээ болгондугунда. Бул иштөө режими бул пакетке камтылган "акылдуу" LED драйверинин (WS2811) толук мүмкүнчүлүгүн көрсөтө албайт. Ошентип, келгиле, баштапкы кодго төмөнкү өзгөртүүлөрдү киргизип көрөлү. Мурдагыдай эле, сиз файлды жүктөп алып, андан кийин Arduinoго жүктөлө турган жабдыкты ачасыз (камтылган программа> эффекттер> effects.ino). Бул демо үчүн керектүү бардык файлдар камтылган, андыктан үчүнчү жактын либарийлерин кошуунун кажети жок; код эч кандай өзгөртүүсүз түзүлүшү керек --- ал буга чейин 3 LEDди иштетүү үчүн коюлган. Эми бул абдан пайдалуу, чакан, RGB светодиоддору жарыгын жаркырата турган кийинки долбоорду ойлоп табуу сиздин колуңузда. Комментарийлер бөлүмүнө WS2812ди колдонуп, өзүңүздүн айрым чыгармаларыңызды жайгаштырыңыз!

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