Мазмуну:

Жеңил LED майрамдык жарык шоусу: Кышында сыйкырчылар - FastLED жана Arduino үйрөткүчү менен WS2812B LED тилкеси: 6 кадам
Жеңил LED майрамдык жарык шоусу: Кышында сыйкырчылар - FastLED жана Arduino үйрөткүчү менен WS2812B LED тилкеси: 6 кадам

Video: Жеңил LED майрамдык жарык шоусу: Кышында сыйкырчылар - FastLED жана Arduino үйрөткүчү менен WS2812B LED тилкеси: 6 кадам

Video: Жеңил LED майрамдык жарык шоусу: Кышында сыйкырчылар - FastLED жана Arduino үйрөткүчү менен WS2812B LED тилкеси: 6 кадам
Video: Дождливый ноябрь_Рассказ_Слушать 2024, Ноябрь
Anonim
Image
Image

Мен бул майрамдык жарык шоуну каалаган жерде көрсөтүү үчүн иштеп чыгып, программаладым. Мен 30 пиксель/ метр пикселдик тыгыздыгы бар бир WS2812B лентасын колдондум. Мен 5 метрди колдонгондон бери менде жалпысынан 150 светодиод бар болчу. Мен кодду жөнөкөй кармадым, ошондуктан WS2812B LED тилкелерин жаңы колдонуп жүргөндөр кодду оңой эле ээрчип кетиши мүмкүн. Бул ошондой эле, эгер сиз ар кандай өлчөмдөгү пикселдерди колдонсоңуз, убакыт өчүрүлөт, андыктан сиз 150 LEDди карманышыңыз керек. Ошондой эле, жөнөкөй сактоо менен, музыка системасы такыр Arduino тарабынан башкарылбайт. Программанын башында жашылдын 3 жарыгы жана кызылдын 1 жарыгы бар, андан кийин чыныгы жарык шоу башталат. Музыканы кол менен баштоого туура келгендиктен, бул алгачкы жаркыроо музыканы качан ойной тургандыгыңызды көрсөтүшү керек. Мен төмөндөгү кодду киргиздим. Бул кодду коммерциялык эмес максаттар үчүн кошуп же өзгөртө аласыз.

Жабдуулар

- WS2812B LED тилкеси

- Ардуино

- Зымдар

- 5V 10А электр менен камсыздоо | Эгерде сиз бир нече тилкени колдонуп жатсаңыз, чоңураак электр менен камсыздоону колдонушуңуз керек болот. Ар бир пиксел 60mA колдонот, ошондуктан 150 пиксел * 60mA = 9A. Эгерде сиз ак түстө толук жарыктыкты колдонууну кааласаңыз, анда сиздин электр менен камсыздооңуз муну чече алгыдай болушу керек. Сиз 5V LED тилкелерин колдонуп жатсаңыз, 5V электр булагын колдонушуңуз керек жана эгерде 12V LED тилкелерин колдонуп жатсаңыз, 12V электр менен камсыздоону колдонушуңуз керек, бирок 5V Arduino үчүн 12-5V конвертерин колдонуңуз.

1 -кадам: FastLED китепканасын жүктөп алыңыз

Бир нече өзгөрмөлөрдү аныктаңыз
Бир нече өзгөрмөлөрдү аныктаңыз

Эгерде сизде FastLED китепканасы жок болсо, акыркы версиясын github.com/FastLED/FastLED/releases жүктөп алыңыз

FastLED китепканасын жүктөп алып, аны Arduino китепканалар папкасына жылдырыңыз. Бул папканын атын ЭМЕС алмаштырбаңыз. Arduino IDEде, Эскизге, Китепкананы кошууга, анан. ZIP Китепканасын кошууга өтүңүз. FastLED папкасын тандоо.

Китепканаңыз орнотулгандан кийин, #include линиясын кошуңуз Бул линия сиз ошол китепкананы колдонуп жатканыңызды билдирет.

2 -кадам: Бир нече өзгөрмөлөрдү аныктаңыз

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

#Define NUM_LEDS 150 сабы - бул сиз колдонгон пикселдердин санын коет. Бул учурда, ал 150 болот.

#DATA_PIN 5ти аныктоо сызыгы, бул сиз маалымат зымын туташтырган санарип пинди коет.

#Define BRIGHTNESS 255 сызыгы-бул жарыкты 0-255 масштабынан коюп, 255 эң жарык.

3 -кадам: Коддун Орнотуу бөлүмү

Коддун орнотуу бөлүмү
Коддун орнотуу бөлүмү

Орнотуу бөлүмүндө 2 секунд жана линия үчүн кечигүү бар

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B биз колдонгон LED тилкесинин түрүн көрсөттү жана DATA_PIN - биз мурунку кадамда аныкталган өзгөрмө. GRB түс тартиби. Бул колдонулган LED тилкесине жараша өзгөрүшү мүмкүн. Кодду ошол бойдон колдонуп көрүңүз, эгер түстөр видеодогудай болбосо, муну RGB же BRG деп өзгөртүп көрүңүз. Бул саптын калганын ошол эле бойдон калтырсаңыз болот. Сызыктар

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

LED тилкесинин электр энергиясын колдонууну чектөө. Бул FastLED китепканасынын укмуш өзгөчөлүгү. 5 саны - бул биз колдонгон чыңалуу, ал эми 8000 саны - LED тилкеси мАда колдоно турган эң чоң ток. Анын иштөө мөөнөтүн узартуу үчүн кубаттуулуктун мүмкүнчүлүгүнүн 80% ын гана колдонуу сунушталат. Менде 10А энергия булагы болгондуктан, 0.8*10 = 8A, же 8000mA.

4 -кадам: Цикл бөлүмү | Ака, Кодекстин сонун бөлүгү

Цикл бөлүмү | Ака, Кодекстин сонун бөлүгү
Цикл бөлүмү | Ака, Кодекстин сонун бөлүгү
Цикл бөлүмү | Ака, Кодекстин сонун бөлүгү
Цикл бөлүмү | Ака, Кодекстин сонун бөлүгү

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

5 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү

WS2812B LED тилкелеринин ар бир учунда 3 терминалы бар. 2 күч үчүн, жана 1 биздин Arduinoдон келген маалымат сигналы үчүн. Жөн гана 2 зымды Arduinoнун кубат терминалдарына туташтырыңыз, жана 2 электр зымын LED тилкесине туташтырыңыз. Сиз ошондой эле тилкенин аягына күч сайынуучу зымдар деп аталган 2 электр зымын кошушуңуз керек, анткени эгер муну кылбасаңыз, чыңалуунун жоголушу тилкенин аягында күңүрт LED диоддоруна алып келиши мүмкүн. Кайсы терминал эмне үчүн экенин көрүү үчүн тилкедеги этикеткаларды текшериңиз. Полярдуулукту аралаштыруу куурулган тилкеге алып келиши мүмкүн. Ошондой эле, Arduino'нун жерге өткөрүүчү зымын LED тилкесиндеги жерге өткөрүүчү зымга туташтырып, маалыматтарды жакшыраак берүү үчүн жалпы негиз түзүңүз. Мен сизге кубатуу зымдарын кошуу керектигин айттым, бирок сиз муну маалымат зымы үчүн кыла албайсыз. Себеби, ар бир LED маалымат сигналын экинчисине кайра көрсөтөт, андыктан 1 маалымат зымын көрсөтүлгөн Arduino пинине жана LED тилкесине туташтырганыңызды текшериңиз. Тилкеде маалыматтын өтүү багытын көрсөткөн кичинекей жебе болушу керек. Маалымат сигналынын зымын аягына эмес, башталышына койгула. Муну аралаштыруу куурулган тилкеге алып келиши мүмкүн.

6 -кадам: LED тилкесин орнотуу

Мен LED лентамды терезенин ичине кассетага орнотуп койдум. Бирок, LED тилкесин орнотуунун башка көптөгөн жолдору бар. Сиз алюминий каналын колдонсоңуз болот, мисалы, https://tinyurl.com/s2km4v3 тилкелерди үйдүн чегине коюу үчүн. Эгерде сиз LED тилкелериңизди сыртка коюп жатсаңыз, мен алюминий каналын колдонуп жатсаңыз ip65 тилкелерин колдонууну сунуштайм, анткени алар жарым суу өткөрбөйт жана кээ бир каналдарга туура келбеши мүмкүн болгон 1p67ге караганда ичке. Эгерде сиз муну сыртка каналы жок орнотууну кааласаңыз, дээрлик суу өткөрбөгөн ip67 тилкелерин колдонуңуз. Чатырыңыздын чокуларындагы сыяктуу бурчту айланып өтүү үчүн, идеалдуу түрдө тилкени кесип, бурчту айланып өтүү үчүн зымдарды колдонуңуз. Сиз тилкени бүгүү менен эле кете аласыз, бирок канчалык ийилгениңизден этият болуңуз, анткени LEDди өчүрүү оңой.

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