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

42 RGB LED пикселийн уран зураг: 5 алхам
42 RGB LED пикселийн уран зураг: 5 алхам

Видео: 42 RGB LED пикселийн уран зураг: 5 алхам

Видео: 42 RGB LED пикселийн уран зураг: 5 алхам
Видео: DC24v rgb 42mm led dot rgb waterproof dmx led point pixel light use in outdoor project,IP68 rgb led 2024, Арванхоёрдугаар сар
Anonim
42 RGB LED пикселийн уран зураг
42 RGB LED пикселийн уран зураг

Хөөе, Тиймээс "Хэрэв тийм бол" гэсэн сургуулийн даалгаврын хувьд би Arduino Uno стартеркит ашиглан интерактив // ямар нэгэн зүйл хийх ёстой байсан (өөр зүйл худалдаж авахад бэлэн байсан). Би Урлаг/Технологийн судалгаа хийж байгаа болохоор тэднийг хоёуланг нь (урлаг, технологи) хослуулахыг хүссэн юм. Би Arduino -д таарах боломжтой олон тооны RGB LED -ээс бүрдсэн зураг хийж, тоглогч/зураачдад эдгээр RGB LED -ийг гараар эргүүлж, өнгө сонгох болно гэж бодсон. Ингэснээр тэд өөрсдийн "пикселийн урлаг" хийх боломжтой болно.

Алхам 1: Зарим суурь мэдээлэл ба онол

За, бутны эргэн тойронд бүү цохь. Хэрэв та энэ төслийг амьдралд хэрэгжүүлэхийг хүсч байвал: Энэ нь хэцүү. Юу хийхээ олж мэдэх, сурах, бүр бодитоор биелүүлэхийн тулд надад олон цаг зарцуулсан, гэхдээ хэрэв та үнэхээр жижигхэн "зураг" бүтээх боломжтой утсаар дүүргэсэн хайрцгийг үнэхээр хүсч байвал би танд үүнийг зааж өгөх болно.

Тиймээс, хамгийн түрүүнд бүх зүйлийг хийх хэрэгтэй. Бид Arduino дээрээ аль болох олон LED/RGB LED авахыг хүсч байна. Илүү их (RGB) LED -ийг холбох тусам илүү нарийвчлалтайгаар "зураг зурах" боломжтой болно (10x10 пиксел нь 2х2 хэмжээтэй баруун талаас илүү их хөдөлгөөнтэй өрөө өгөх болно). 13 дижитал тээглүүр дээрээ олон тооны RGB LED авах өөр аргууд байдаг гэж би бодож байна (ээлжийн бүртгэл гэх мэт), гэхдээ би "Charlieplexing" хэмээх аргыг ашигласан. Би энэ ойлголтыг ойлгоход тусалсан заавартай холбож өгөх болно (нухацтай хэлэхэд тэд үүнийг маш сайн тайлбарлаж өгдөг), гэхдээ би танд хурдан хувилбарыг энд өгөх болно. Charlieplexing дараах байдлаар явагдана.

Та 1 -р зүү ба 2 -р зүүний хооронд LED байрлуулна, хэрэв та 1 -р зүүг HIGH, 2 -ийг LOW гэж тохируулсан бол тойрог жигд ажиллаж, LED асах болно. Үндсэн мэдээлэл. За, одоо та өөр LED залгаарай, гэхдээ эргүүлэв. Урт төгсгөл нь 2 дээр, богино үзүүр нь pin1 дээр байна. Хэрэв та 2 -р зүүг HIGH болгож, 1 -ийг LOW болгоно гэвэл 2 дахь LED нь асах болно, учир нь урсгал буруу байх тул таны эхний гэрэл унтрах болно. Одоо та 2 зүү дээр 2 LED холбож болно. Хэрэв бид 3 -р зүүг холимог хэлбэрээр авбал та 1, 2, 1 ба 3, 2 ба 3 -ийн хооронд энэ аргыг хийж чадна. Энэ бол 6 LED юм. Үргэлжлүүлэн 5 зүү нь бидэнд (2 + 4 + 6 + 8) 20 LED өгөх болно. Бүх 13 дижитал тээглүүрийг ашиглах нь бидэнд 156 сонголтыг өгдөг. Та 156 LED -ийг тус тусад нь асааж, унтрааж болно.

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

(Илүү сайн, илүү дэлгэрэнгүй тайлбар, зурагтай)

За, утастай холбоотой маш их хүчин чармайлт гаргасны дараа (энэ талаар дараа нь ярих болно) бид LED -ийн сүлжээг бий болгож чадна, гэхдээ үүнийг зөвшөөрөх болно. LED нь үнэхээр уйтгартай байдаг. Зөвхөн 2 өнгөөр яаж зураг хийх вэ? Та чадна гэж бодож байна, гэхдээ хэрэв та илүү олон өнгө сонгох боломжтой бол илүү хүйтэн байх болов уу? зөв Тиймээс RGB LED руу бид эргэж байна!

RGB LED нь үндсэндээ 3 LED юм. Тэд нийтлэг катод эсвэл анод (цахилгаан орж, гарах үед), бусад 3 "хөл" нь таны Улаан Ногоон, Цэнхэр LED юм. Үүнийг санаж байгаа болохоор бид ч бас тэдгээрийг charlieplex хийж чадна! RGB LED бүр 3 энгийн LED -ийг тооцдог. Ингэснээр та тус бүрийг тус тусад нь асааж, унтрааж, сонгох боломжтой хүйтэн өнгийг бий болгож чадна! Цорын ганц сул тал бол энэ нь LED -ийг анх төлөвлөж байснаас 3 дахин олон дахин төлөвлөх, утастай болгоход илүү төвөгтэй болгодог явдал юм.

Би 13 тээглүүр дээр 42 RGB LED -ийг сонгосон. Энэ бол 126 энгийн LED юм. Би үүнийг яаж хийснээ хэлье.

Алхам 2: Төлөвлөлт

Төлөвлөлт
Төлөвлөлт

Тийм ээ, та юу хийж байгаагаа цаад онолоо ойлгосноор энэ алхам хийхэд маш хялбар болно. Та үндсэндээ бүх LED -ээ бичээд аль RGB LED -ийн аль "хөл" рүү явах шаардлагатайг төлөвлөж, бүх сонголтоо хийх боломжтой болно. Би төлөвлөлтийнхөө зургийг хавсаргасан бөгөөд үүнийг ашиглахад чөлөөтэй байгаарай (би боломжтой бүх сонголтыг ашиглаагүй, учир нь надад зөвхөн 156 холболтоос 126 холболт хэрэгтэй байсан. Би үүнийг ийм бүтэцтэй болгосон, учир нь энэ нь барилгын ажлыг арай илүү хийх боломжтой болгоно.).

Үүнийг цаасан дээр авах нь чухал бөгөөд үүнийг дараа нь кодлох шаардлагатай болно. Хэрэв та үүнийг бичээгүй бөгөөд 1 холболтыг замбараагүй бол код нь LED -ийн хувьд ажиллахгүй болно.

Алхам 3: Код

За, хэрэв танд 2 RGB LED -ийг 2 тээглүүрээр хэрхэн яаж холбох талаар санаа байгаа бол: Үргэлжлүүлээрэй! Кодыг шалгах сайхан байна, гэхдээ энэ нь ажилладаг гэдэгт би итгэлтэй байна! Би чадах чинээгээрээ "цэвэр" кодчилол хийхийг хичээсэн (Та үүнийг унтраалгын унтраалгаар удирдаж болно, гэхдээ энэ нь танд x42 кодоо бүгдийг нь бичиж үлдээсэн аймшигтай асуудал юм. арга зам).

Кодын зорилго нь дараахь зүйл юм. Та LED1 -ээс эхэлнэ. Товчлуур 1 нь дараагийн LED руу шилжих боломжийг олгодог боловч таны өмнөх LED асаалттай хэвээр байна. Button2 нь өмнөх LED руу буцах, 3 товчлуур нь өнгийг өөрчлөх боломжийг танд олгоно. Одоогийн сонгосон LED анивчдаг тул аль LED "сонгогдсон" болохыг харах боломжтой болно.

Үүнийг хийхийн тулд би массивтай ажилласан. Төлөвлөлтийн үе шатанд таны бичсэн мэдээллийг ашиглан ямар өнгө гаргах шаардлагатайг харахын тулд би LED анги бүтээсэн. Би бүгдийг нь массивт байрлуулсан бөгөөд аль арвиныг LEDarray -ээр дамжуулж, аль өнгийг сонгосон болохыг тодорхойлохын тулд өнгөт массиваар дамжуулаарай (өнгийг 7 өнгийг сонгох боломжийг олгодог унтраалгаар тодорхойлно). Нүдээ анивчих нь if-мэдэгдлээр зохицуулагддаг.

Кодыг хавсаргасан тул татаж аваад ашиглахад чөлөөтэй болно. Хэрэв танд ойлгохгүй байгаа зүйл байвал коммент хэсэгт нээлттэй байгаа боловч та үндсэндээ оо хуулж болно!

Алхам 4: Хамгийн хэцүү хэсэг

Хамгийн хэцүү хэсэг
Хамгийн хэцүү хэсэг
Хамгийн хэцүү хэсэг
Хамгийн хэцүү хэсэг

Тиймээс одоо танд санаа байна, ажиллах код …..тухайн бүтээгдэхүүн биш. Энэ бол төслийн хамгийн аймшигтай хэсэг бөгөөд үүнийг хайхрамжгүй хандахыг танд зөвлөж байна. Нэг зүүгээр төгсдөг өөр өөр хөлийг санаж байна уу? За тийм ээ … та LED сүлжээгээ хийх хэрэгтэй, дараа нь хөл бүрийг нэг зүү рүү явах шаардлагатай бүх хөлтэй холбож, дараа нь эдгээр зүүгээр холбоно уу. Энэ бол хамгийн хэцүү хэсэг бөгөөд миний хувьд 100% төгс гарч чадаагүй, гэхдээ хэрэв та гагнах чадвар сайтай бол танд боломж гарч магадгүй юм.

Би нэг удаад RGB LED -ийг байрлуулж, хөл бүрт зэс утсыг холбосон (би бүрхүүлтэй/боодолтой зэс утсыг санал болгож байна. Минийх хэтэрхий зузаан байсан бөгөөд энэ нь надад маш их уй гашуу авчирсан). Хоёр хөл, утас бие биедээ хүрэхгүй байхыг анхаарна уу! Дараа нь нэг зүү рүү явах шаардлагатай бүх утсыг "энгийнээр" холбож, дараа нь резистортой холбож, энэ зүү рүү холбоно уу. Үүнийг хийх "илүү аюулгүй" арга байгаа гэдэгт итгэлтэй байна, гэхдээ үнэнийг хэлэхэд хичээж байхдаа утсан дотор живэх болно гэдэгт итгэлтэй байна … таны талхны тавцан үнэхээр том юм!

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

Надад бүтэн 4 өдөр ажилласан, гэхдээ одоо LED бүрийг (хассан 3-4) тус тусад нь асааж болно!

Дараа нь та зөвхөн зарим товчлуурууд болон престонуудыг холбох хэрэгтэй! Өөрийн пикселийн уран зураг!

Энэ хүн утсан холболтын үлгэр жишээ хийсэн нь үнэхээр тустай юм

Алхам 5: Давхар. Үнэхээр Глоат

Хэрэв та эхлэгч (над шиг) бөгөөд та энэ хархнуудын үүртэй төстэй зүйл хийж чадвал тэр асдаг; гунигтай. Та үнэхээр сайн зүйл хийсэн!

Хэрэв танд ямар нэгэн асуулт/сэтгэгдэл байвал доор бичээрэй, би чадах чинээгээрээ туслахыг хичээх болно!

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