Агуулгын хүснэгт:

ATMEGA328 UNO V3.0 R3 самбар бүхий WS2812-B LED: 11 алхам
ATMEGA328 UNO V3.0 R3 самбар бүхий WS2812-B LED: 11 алхам

Видео: ATMEGA328 UNO V3.0 R3 самбар бүхий WS2812-B LED: 11 алхам

Видео: ATMEGA328 UNO V3.0 R3 самбар бүхий WS2812-B LED: 11 алхам
Видео: LDmicro 21: настройка режима C и Arduino Mega (программирование микроконтроллера с помощью LDmicro) 2024, Долдугаар сарын
Anonim
ATMEGA328 UNO V3.0 R3 хавтан бүхий WS2812-B LED
ATMEGA328 UNO V3.0 R3 хавтан бүхий WS2812-B LED

Тодорхойлолт

Энэхүү төсөл нь ICStation WS2812-B програмчлагдах өнгөлөг LED хавтанг ATMEGA328 UNO V3.0 R3-тэй нийцтэй Arduino UNO R3 хавтантай хослуулан харуулах нөлөө үзүүлдэг. Үүнээс гадна, хэрэв та "Диско" сэдэвт үдэшлэг зохион байгуулж байгаа бол танд таалагдах болно. Эдгээр зүйлсийн нэгийг хэрхэн хийхийг танд харуулъя.

Алхам 1: Шаардлагатай эд ангиуд:

Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд

· Arduino UNO (эсвэл нийцтэй самбар) · 4 x WS2812-B програмчлагдах өнгөлөг LED самбар

· 330 ом эсэргүүцэл

· 4700 uF 16V электролитийн конденсатор

· Талхны самбар

· Эмэгтэй, эрэгтэй холбогч утас

· Breadboard Jumper утаснууд

· Шураг терминал бүхий 2.1мм DC залгуур

· 5V 4A залгууртай цахилгаан хангамж

Анхаарна уу: Энэхүү төслийг батерейгаар тэжээх боломжтой боловч санал болгоогүй бөгөөд өөрийн эрсдэлээр хийх боломжтой.

Танд бас хийх ёстой (эсвэл худалдаж авах) диско бөмбөг бялуу хэрэгтэй болно. Манай эхнэр үүнийг хийсэн. Та удахгүй харах болно, гүзээлзгэнэтэй бялуу байсан тул дотор талын бялуу нь Ягаан өнгөтэй байв.

Та Arduino IDE -ийг эндээс авах боломжтой: https://www.arduino.cc/en/Main/Software Би 1.6.4 хувилбарыг ашигласан бөгөөд энэ нь хуучирсан байж магадгүй … гэхдээ сайн ажилладаг.

Та FastLED номын санг хэрхэн ашиглах тухай мэдээллийг эндээс авах боломжтой: https://fastled.io/ Та эндээс татаж авч болно: FastLED номын сан Би 3.0.3 хувилбарыг ашигласан бөгөөд энэ нь хуучирсан байж магадгүй юм.

Алхам 2: ARDUINO код:

Алхам 3: ARDUINO кодын тодорхойлолт:

· FastLED номын сан: Та Arduino IDE дээрээ FastLED номын санг татаж суулгасан эсэхээ шалгах хэрэгтэй. Номын санг энэ схемд оруулсан болно, эс тэгвээс FastLED функц ажиллахгүй болно.

· "NUM_LEDS" хувьсагч: Arduino -д хичнээн LED ашиглаж байгааг хэлж өгнө. Энэ тохиолдолд бид 4 LED цагирагтай бөгөөд LED цагираг бүр нь 16 LED, улмаар нийт 64 LED -ийг агуулдаг. Хэрэв та доод тоог тодорхойлвол, жишээ нь 16, ноорог нь зөвхөн анхны LED цагираг дээрх LED -ийг гэрэлтүүлэх болно.

· "DATA_PIN" хувьсагч: LED цагирагт өгөгдөл дамжуулахад ямар дижитал зүү ашиглахыг Arduino -д хэлдэг. Энэ тохиолдолд би Digital Pin 9 ашиглаж байна.

· Бусад хувьсагчид: Надад LED санамсаргүй байдал, өнгөний хяналтанд ашигладаг өөр хэд хэдэн хувьсагч бий. Hue бол LED -ийн өнгө юм. Өнгөний хувьсагчийг нэмэгдүүлснээр та LED-ийг солонго шиг хэв маягаар эргүүлэх боломжтой болно. "Hue" хувьсагч нь "байт" бөгөөд энэ нь буцааж тэг рүү үсрэхээсээ өмнө хамгийн дээд утга нь 255 хүртэл нэмэгдэнэ гэсэн үг юм.

Эхлүүлэх код: Хэрэв танд энэ гарын авлагаас өөр LED цагираг байгаа бол эхлүүлэх кодыг өөрчлөх шаардлагатай болж магадгүй юм. Энэхүү LED цагираг нь WS2812-B чипсеттэй (ICStation вэбсайтын дагуу), иймээс энэ мөр нь:

· FastLED.addLeds (leds, NUM_LEDS); FastLED номын санд ямар чипсет ашиглаж байгааг (NEOPIXEL), өгөгдөл дамжуулахад ашигладаг зүү (DATA_PIN), хянагдах LED массив (leds), хянагдах LED тоог (NUM_LEDS) хэлэх болно. · " loop () ": кодын хэсэг: солонгын эффект үүсгэхийн тулд" hue "хувьсагчийг нэмэгдүүлж, FastLED -ийн random8 () функцийг ашиглан санамсаргүй LED -ийг сонгоно.

· Random8 (x) функц: 0 -ээс x хүртэлх тоог санамсаргүй байдлаар сонгоно.

· RandomSeed () функц: тоог "үнэхээр санамсаргүй байдлаар" гаргахад туслах боломжтой. Энэ нь хөвөгч analogPin (A0) санамсаргүй байдлыг уншихад тусалдаг. Энэ нь analogPin 0 байх албагүй, энэ нь ашиглагдаагүй аналог зүү байж болно.

· Leds [rnd].setHSV (hue, 255, 255): Энэ шугам нь санамсаргүй LED -ийг "hue" хувьсагчтай, 255 -тай тэнцэх ханалт, 255 -тай тэнцэх тод байдлыг тохируулна. Ханасан байдал нь тэгтэй тэнцэх болно. LED нь цагаан гэрэлтдэг. Тэг тод байдал нь LED -ийг унтраадаг.

· FastLED.show (): LED бөгжний дижитал оролтын зүү рүү Arduino -аас мессеж илгээх хүртэл LED цагираган дэлгэц дээр физик өөрчлөлт хийхгүй. FastLED.show () руу залгахад энэ зурвас дамжуулагдана; функц. Энэ нь LED цагиргуудад дэлгэцийг LED массив (leds) доторх мэдээллээр шинэчлэхийг хэлдэг. Хэрэв та бүх LED -г асаахаар тохируулсан бол FastLED.show () хүртэл самбар нь LED -ийг гэрэлтүүлэхгүй. функц гэж нэрлэдэг. Үүнийг мэдэх нь чухал юм, ялангуяа өөрийн LED дарааллыг зохион бүтээхийг оролдохдоо.

· Саатал (50) шугам: анивчих хоорондох хугацааг 50 миллисекунд болгоно. Та секунд тутамд анивчих тоог нэмэгдүүлэх эсвэл багасгахын тулд хойшлуулалтыг өөрчилж болно.

· Leds .fadeToBlackBy (180) функц: LED -ийг үндсэндээ 180 нэгжээр бүдгэрүүлдэг. Хүссэн бүдгэрүүлэх хурдыг олж авахын тулд та энэ тоог нэмэгдүүлэх эсвэл бууруулах боломжтой. Гэсэн хэдий ч хэрэв та энэ функцийг дуудахаа мартсан эсвэл LED -ийг хангалттай хэмжээгээр бүдгэрүүлж чадаагүй бол бүх LED -ийг асаахад Arduino самбарыг сүйтгэж болзошгүйг анхаарна уу. Байна, мөн та тэднийг хэрхэн хүчээр хангахаа сонгосон.

Алхам 4: Бялуу

Бялуу
Бялуу

· Слайд 1 - Суурийн хавтан: Бялууг тавиулахаас өмнө бүх электрон хэрэгслүүдийг суурилуулсан, ажлын дарааллаар хийх ёстой. Бялуу дээр байх үед утас/кабелийг LED хавтан ба хэлхээг суурь хавтангийн доор байрлуулахыг оролдох нь гамшгийн жор юм. Тиймээс эхлээд үндсэн хавтанг бэлтгэж, дараа нь бялуу хийх хэсэг рүү шилжээрэй.

· Слайд 2 - Бялуу жигнэх: Бөмбөгний хоёр талыг хийхийн тулд танд хагас бөмбөрцгийн бялуу хэрэгтэй болно. Та бялууны нийт жинг тэсвэрлэх, мөстөх, түрхэх, хэлбэрээ хадгалахын тулд харьцангуй нягт бялуу хийх ёстой. Хөргөөд хөргөсний дараа та тэдгээрийг бие биенийхээ дээр байрлуулж, бөмбөрцөг үүсгэж болно. Тэдгээрийг хооронд нь мөстлөгийн давхаргаар холбодог.

· Слайд 3 - Фондант мөстөлт: Фондантын мөсийг наалддаггүй тусгай дэвсгэр дээр өнхрүүлэх ёстой. Бага зэрэг гурил нэмж өгөх нь наалдамхай чанарыг бууруулдаг болохыг бид олж мэдсэн. Фондантын зузаан нь бүхэлдээ тууштай байхыг баталгаажуулдаг тусгай булнууд байдаг. Дараа нь та тэдгээрийг дөрвөлжин хэсэг болгон хуваах хэрэгтэй (1 см орчим квадратууд бидэнд сайн ажилласан). Дараа нь квадратуудыг Мөнгөөр будаж, тусгай/идэж болох мөнгөлөг паалантай. Та хэд хэдэн давхаргыг хэрэглэж, давхаргын хооронд хатаахыг зөвшөөрч магадгүй юм.

· Слайд 4 - Үндсэн дээр мөстэй бялуу: Бялууг үндсэн хавтан дээр эсвэл мөстгөж болно … магадгүй үндсэн таваг дээрээс хийх нь дээр. Гэхдээ хэрэв та үүнийг үндсэн хавтан дээр хийхээр шийдсэн бол LED -ийг бялуунаас унах боломжтой мөстөлтөөс хамгаалах шаардлагатай болно (энэ явцад). Бялууг бүрэн мөстэй болгосны дараа (мөстөлт/хөлдөлтөөр) та бялууг самбар дээрх төв байрлалд байрлуулах хэрэгтэй болно. Бялуу суурин дээрээс гулсах магадлал байж магадгүй … тиймээс үүнийг хэвээр нь байлгахын тулд юу хийх ёстойгоо хий.

· Слайд 5-7 - Фондангийн квадратуудыг байрлуул: Мөсжилт нь зөөлөн хэвээр байгаа тул та бялууны эргэн тойронд босоо дөрвөлжин хэлбэрийг хэвтээ шугаман хэлбэрээр хурдан, аргачлалгүй, уйгагүй байрлуулах хэрэгтэй болно. Бялууны хойд ба өмнөд туйл руу нэг мөр дараалан ажилла. Та бялууны хойд туйлд зориулж фонтан тойрог хайчилж болно. Слайд 7 дээр та бялууны дээд хэсэгт нүх байгааг харах болно. Үүнийг дотор нь хуванцар сав хийж, дараа нь бялууны дээд хэсэгт чимэглэлийг байрлуулахад зориулав. Бялууны дээд хэсэгт фонтан тойрог байрлуулахаас өмнө үүнийг хий.

· Слайд 8 - Гялалзсан өнгө нэмнэ: Бялуу дээр бүх фундамент квадратуудыг тавьсны дараа Мөнгөн бүрхүүлээс зарим хэсгийг нь арчиж хаясан байж магадгүй юм. Эндээс та дахин хэдэн давхар мөнгөн паалан хийж, сүүлчийн давхаргад хатахаасаа өмнө бялууг бүхэлд нь цацаж, нэмэлт гэрэлтүүлгийг өгөөрэй.

· Слайд 9 - Эцсийн бүтээгдэхүүн: Эцсийн алхам бол бялууны дээд хэсэгт утас оргилуур болон бусад чимэглэл оруулах явдал юм. Утсыг хойд туйл дахь фонтан тагнаас доторхи канистр руу түлх. Энэ нь таны бүх шаргуу хөдөлмөрийг сүйтгэхгүйгээр утсыг бэхлэх болно.

· WS2812-B чипсет: Энэхүү LED цагираг нь WS2812-B чипсетийг ашигладаг бөгөөд 4 салгагчтай (GND, 5V, Din, Dout)

· Эрчим хүч: Энэ модулийг асаахын тулд та 5V ба 1А хүртэл гүйдэл өгөх шаардлагатай

· Дохио: LED цагиргийг хянахын тулд та дижитал оролтын зүү (Din) -ээр дохио илгээх хэрэгтэй.

Та дижитал гаралтын зүү (Dout) ашиглан өөр LED бөгжийг холбож болно.

Алхам 5: Эрчим хүчний хэрэглээний гарын авлага

Эрчим хүчний хэрэглээний гарын авлага
Эрчим хүчний хэрэглээний гарын авлага

· Ерөнхий дүрэм: Бөгж дээрх LED тус бүр нь улаан, ногоон, цэнхэр гэрлийг дамжуулж чаддаг бөгөөд эдгээр өнгөний хослол нь өөр ямар ч өнгийг бүрдүүлж чаддаг. Цагаан гэрэл нь эдгээр гурван өнгийг нэгэн зэрэг бүтээдэг. Өнгө тус бүр нь тухайн өнгийг дээд зэргийн тодоор харуулахдаа ойролцоогоор 20 мА гүйдэл татах болно. Цагаан туяаг хамгийн их гэрэлтүүлэх үед нэг LED нь ойролцоогоор 60 мА зурах болно.

· Цахилгаан үржүүлэгч: Хэрэв LED тус бүр 60 мА хүртэл зурах чадвартай бөгөөд нэг LED цагираг дээр 16 LED байдаг бол LED цагираг бүрт 16x60mA = 960mA байдаг. Аюулгүй байхын тулд математикийг хялбарчлахын тулд та LED бөгж тутамд 1А багтаамжтай гүйдэл өгөх ёстой. Хэрэв та модулийг бүрэн ажиллагаатай болгохыг хүсвэл 4 LED цагираг нь 5V 4A тэжээлийн хангамжтай байх болно.

Алхам 6: Хөргөх диаграм

Гүйцэтгэх диаграм
Гүйцэтгэх диаграм
Гүйцэтгэх диаграм
Гүйцэтгэх диаграм

Нэгдүгээр LED бөгжийг Arduino руу холбож байна

· 3 утас: LED цагирагтай холбогдохын тулд танд ердөө 3 утас хэрэгтэй. Хэрэв та хэд хэдэн LED асаахаар төлөвлөж байгаа бол энэ нь зүгээр байх болно. · АЮУЛГҮЙ АРГА: Үүнийг хийх хамгийн найдвартай арга бол гадны тэжээлийг ашиглан Arduino болон LED цагиргийг хоёуланг нь тэжээх явдал юм.

· Электролитик конденсатор: Цахилгаан тэжээлийн эх үүсвэрийн сөрөг ба сөрөг терминалуудын хооронд 4700 uF 16V том электролитийн конденсаторыг холбосноор конденсаторын сөрөг хөлийг тэжээлийн эх үүсвэрийн сөрөг терминал дээр холбосноор та LED бөгжөө ямар ч эх үүсвэрээс хамгаалах болно. гүйдлийн давалгаа.

Хамгаалах резистор: Arduino Digital Pin 9 (D9) ба LED Ring-ийн дижитал оролтын зүү (Din) хооронд 300-400 ом эсэргүүцэл байрлуулахыг зөвлөж байна. Энэ нь эхний LED -ийг хүчдэлийн огцом өсөлтөөс хамгаална

Тохиромжтой утас: Хэрэв та эдгээр LED цагиргуудаас хэдийг нь гинжлэхээр төлөвлөж байгаа бол (доороос үзнэ үү) утсыг аль болох богино байлгаж, гүйдэл дамжуулах чадвартай сайн утсыг ашиглахыг хүсч магадгүй юм.

Алхам 7: Хоёр LED бөгжийг Arduino руу холбоно уу

Хоёр LED бөгжийг Arduino руу холбож байна
Хоёр LED бөгжийг Arduino руу холбож байна

Нэмэлт гурван утас: Нэмэлт LED бөгжийг холбохын тулд танд зөвхөн 3 нэмэлт утас хэрэгтэй болно. Эхний LED цагирагийн дижитал гаралт (Dout) -ийг 2 -р LED цагирагийн дижитал оролт (Din) руу холбох шаардлагатай байна.

Аюулгүй байгаарай: Үүнийг хийх хамгийн найдвартай арга бол гадаад цахилгаан хангамж, терминал дахь том электролитийн конденсатор, Arduino болон анхны LED цагирагийн дижитал оролтын зүү хооронд 300-400 ом эсэргүүцэл ашиглах явдал юм.

Алхам 8: Дөрвөн LED бөгжийг Arduino руу холбоно уу

Дөрвөн LED бөгжийг Arduino руу холбож байна
Дөрвөн LED бөгжийг Arduino руу холбож байна

Жаран дөрвөн LED: Нэмэлт LED цагираг бүрт 3 нэмэлт утас хэрэгтэй болно. 4 LED цагираг нь нийт 64 LED өгдөг.

AMPS -ийг үзэх: Гэрэлтүүлгийн хувьд энэ тохиргоо нь 4 ампер хүртэл (эсвэл LED цагираг тутамд ойролцоогоор 1 ампер) зурах боломжтой.

Гадаад хангамж чухал: Эдгээр LED -ууд маш олон байгаа үед гадны тэжээлийг ашиглах нь чухал юм. Хэрэв та гадны цахилгаан хангамжийг ашигладаггүй бөгөөд бүх LED -ийг санамсаргүйгээр гэрэлтүүлдэг бол хэт их гүйдлийн улмаас микроконтроллерыг гэмтээх магадлалтай.

Алхам 9: Холболтын хүснэгт

Холболтын хүснэгтүүд
Холболтын хүснэгтүүд

Нэгдүгээр LED бөгжийг Arduino руу хэрхэн холбох вэ

Алхам 10: Хоёр LED бөгжийг Arduino руу хэрхэн холбох вэ

Хоёр LED бөгжийг Arduino руу хэрхэн холбох вэ
Хоёр LED бөгжийг Arduino руу хэрхэн холбох вэ

Алхам 11: Дүгнэлт

Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт

Энэхүү гарын авлагад бид диско бөмбөгний бялууг хэрхэн яаж чимэглэх, мөн ICStation -ийн RGB LED бөгжийг хэрхэн ашиглах талаар танд үзүүлэх болно.

ICStation дээрх дөрвөн бүтээгдэхүүний холбоос:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Манай найз Скотт болон түүний гэр бүлийнхэн Led -ийн тухай гайхалтай танилцуулга хийсэнд баярлалаа.

Агуулгын эх сурвалж нь манай найз Скоттоос гаралтай.

arduinobasics.blogspot.com.au/2016/06/ardui…

Хэрэв танд энэ хэсэг таалагдсан бол найз нөхөдтэйгээ хуваалцаарай.

Хэрэв та илүү сайн үнэлгээ хийж чадна гэж бодож байвал сэтгэгдлээ бичнэ үү.

Хэрэв танд IC бүтээгдэхүүний талаар илүү их санаа байгаа бол бидэнтэй холбоо барина уу: [email protected]

Зөвлөмж болгож буй: