Мазмуну:

Даректүү Strip LED полиция Strobo: 4 кадам
Даректүү Strip LED полиция Strobo: 4 кадам

Video: Даректүү Strip LED полиция Strobo: 4 кадам

Video: Даректүү Strip LED полиция Strobo: 4 кадам
Video: Документальный фильм Женские обрезания Африка 2024, Ноябрь
Anonim
Image
Image

Бул Police Strobo Light Bar бир WS2812B даректүү тилкеси LED тилкеси (97 см, 29 LEDS) жана Arduino Nano менен жасалган.

Бул чечим ар кандай түс схемасы менен бир нече ар кандай жарык үлгүсүн түзүүгө мүмкүндүк берет, антпесе стандарттык Кызыл-Ак-Көк LED чырактары (полициянын стробо жарыктары үчүн колдонулат) же RGB LED чырактары менен мүмкүн эмес.

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

1 -кадам: WS2812B Strip LEDы кантип иштейт

Circuit Wiring
Circuit Wiring

WS2812B LED тилкеси 5050 RGB светодиодунан турат, анда WS2812B LED драйвери IC интеграцияланган.

Үч жеке Кызыл, Жашыл жана Көк диоддордун интенсивдүүлүгүнө жараша биз каалаган түстү окшоштурууга болот.

Бул светодиоддордун эң сонун жери, биздин Arduino тактасынан бир эле пин менен LED сызыгын бүт көзөмөлдөөгө болот.

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

Алар 5V DCде иштешет жана ар бир Кызыл, Жашыл жана Көк LED 20мАга жакын тартат, же бул толук жарыкта ар бир LED үчүн 60mA.

Эгерде Arduino USB аркылуу иштесе, 5V пин 400 мАга чейин гана иштей алат, ал эми баррель кубат туташтыргычы менен иштетилгенде, 5V пин 900 мА айланасында иштей алат. Ошентип, эгер сиз көбүрөөк LED колдонуп жатсаңыз жана алар тарткан токтун көлөмү жогоруда айтылган чектен ашып кетсе, сиз өзүнчө 5В электр булагын колдонушуңуз керек.

Мындай учурда, сиз эки Жер линиясын бири -бирине туташтырышыңыз керек.

Кошумча, бул линиядагы ызы -чууну басаңдатуу үчүн Arduino менен LED тилкесинин маалымат түйүнүнүн ортосунда болжол менен 330 Ом резисторун, ошондой эле электр менен камсыздоону жумшартуу үчүн 5V жана Ground боюнча 100uF тегерегиндеги конденсаторду колдонуу сунушталат..

2 -кадам: Райондук зым

Arduino наносун WS2812B даректүү тилкеси LED тилкесине туташтыруу үчүн өткөргүч схемасы абдан жөнөкөй.

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

WS2812B даректүү тилкесинин жетеги ар бир тарабында 3 ширетүүчү подкладкага ээ.

+5V (схемада кызыл зым) Arduino +5Vга барат;

GND (схемада кара зым) Arduino GNDге барат;

DIN (схемада жашыл зым) 330 Ohm резистор аркылуу Arduino PIN 5ке (маалымат үчүн) барат.

3 -кадам: Кодду орнотуу

Мен FAST LED китепканасы менен Arduino IDE колдондум

Биринчиден, биз FastLED китепканасын камтышыбыз керек, LED тилкесинин маалыматы туташкан пинди аныктайлы, светодиоддордун санын аныктайбыз, ошондой эле CRGB түрүнүн массивин аныктайбыз.

Бул типте LED, үч кызыл, жашыл жана көк түстүү каналдын үч бир байт мүчөлөрү бар.

Орнотуу бөлүмүндө биз FastLEDди жогоруда аныкталган параметрлер менен баштообуз керек. Эми бул негизги цикл, биз каалаган убакта өзүбүздүн LED ди башкара алабыз. CRGB функциясын колдонуп, кызыл, жашыл жана көк түстөрдүн үч параметрин колдонуп каалаган LEDди каалаган түскө орното алабыз. Жарык диоддорунда өзгөрүүлөрдү жасоо үчүн FastLED.show () функциясын чакырышыбыз керек.

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

Менин кодумда стандарттык RGB LED тилкеси менен мүмкүн болбогон бир нече LED үлгүлөрү бар.

Үлгүлөрдү void loop () бөлүмүндө бир чакан программа катары өзгөртүүгө же кайра чакыртып алууга болот.

4 -кадам: Акыркы эскертүү

Менин кодум сиздин муктаждыктарыңызды канааттандыруу үчүн кодду өзгөртүү үчүн баштапкы чекитти берүү үчүн ар бир моделдин вариациясынан өтөт.

Менин GitHubдагы код

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