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

3x3x3 LED шоо Arduino Lib: 4 алхам (зурагтай)
3x3x3 LED шоо Arduino Lib: 4 алхам (зурагтай)

Видео: 3x3x3 LED шоо Arduino Lib: 4 алхам (зурагтай)

Видео: 3x3x3 LED шоо Arduino Lib: 4 алхам (зурагтай)
Видео: [Demo] Arduino - LED Cube 3x3x3 2024, Долдугаар сарын
Anonim
Arduino Lib -тай 3х3х3 хэмжээтэй LED шоо
Arduino Lib -тай 3х3х3 хэмжээтэй LED шоо

LED шоо барих тухай бусад зааварчилгаа байдаг бөгөөд энэ нь хэд хэдэн шалтгаанаар ялгаатай байдаг: 1. Энэ нь цөөн тооны бэлэн бус эд ангиудыг ашиглан бүтээгдсэн бөгөөд Arduino-той шууд холбогддог. 2. Тодорхой, хуулбарлахад хялбар хэлхээний диаграмыг олон тооны гэрэл зургаар оруулсан болно. 3. Кубыг програмчлах ажлыг илүү хялбар, илүү ойлгомжтой болгодог програм хангамжийн хувьд өвөрмөц аргыг ашигладаг. Шаардлагатай эд ангиуд: - 1 Perfboard - 3 NPN транзистор (2N2222, 2N3904, BC547 гэх мэт) - 12 резистор (~ 220 ом ба ~ 10к ом) - 13 толгой (эрэгтэй эсвэл эмэгтэй) - 27 LED - Утас

Алхам 1: LED -ийг бэлтгэ

LED -ийг бэлтгэ
LED -ийг бэлтгэ
LED -ийг бэлтгэ
LED -ийг бэлтгэ

Энэ алхам нь 4x4x4 хэмжээтэй LED Cube -ийг дагаж мөрддөг боловч бид оронд нь 3x3x3 хэмжээтэй шоо барих болно. Ийм хэмжээтэй шоо нь нэмэлт хэлхээ, нарийн төвөгтэй байдлыг оруулалгүйгээр авах боломжтой хэмжээтэй тэнцүү юм. Бидэнд нийт 27 LED хэрэгтэй бөгөөд тэдгээрийг есөн багц болгон хувааж болно. Есөн есөн LED бүр нь катодын хоорондох сөрөг холболтыг хуваалцах болно. Би эдгээр багц бүрийг "түвшин" гэж нэрлэх болно. Түвшин дээрх есөн LED тус бүр нь анодоороо (эерэг туяа) бусад хоёр түвшний харгалзах LED -тэй холбогддог. Эдгээрийг "багана" гэж нэрлэнэ. Хэрэв энэ нь утгагүй байсан бол бид кубыг бүтээхэд энэ нь өөрөө тайлбарлах болно. Эхлэхийн тулд жижиг өрөмдлөгийн тусламжтайгаар жижиг модны хаягдлаас өрөм хийх болно. Дугуй нь LED -ийг гагнах үед байрлуулах болно. Би нүхийг 5/8 инчийн зайтай (~ 15 мм) зайтай болгохоор шийдсэн боловч яг тодорхой зай нь тийм ч чухал биш юм. Цооног нь LED -ийн эргэн тойронд нягт бэхлэгдсэн байх ёстой, учир нь тэдгээрийг гагнах үед хөдөлгөхийг хүсэхгүй байна. Жигүүр дууссаны дараа бид LED бүрийн катодыг 90 градусын өнцгөөр нугална. Катодыг гурван аргаар таних боломжтой: 1) Энэ нь богино хөлтэй, 2) Бөөрөнхий LED -ийн хавтгай талд, 3) LED доторх илүү том хэсэгтэй холбогдсон байна. Та бүх LED -ийн хувьд катодыг нэг чиглэлд нугалж байгаа эсэхийг шалгаарай. Одоо бид гагнуурыг эхлүүлэхэд бэлэн байна.

Алхам 2: LED -ийг гагнах

LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах
LED -ийг гагнах

Шинээр баригдсан төхөөрөмж дээр LED -ийн есийг байрлуул. Хөлийг цагийн зүүний эсрэг чиглэлд чиглүүлэхийн тулд тэдгээрийг байрлуул. Зургууд дээр катод цагийн зүүний дагуу анодоо дээш харуулан харуулж байна, гэхдээ хэрэв би хөлийг LED үзэхэд саад учруулахгүйн тулд дахин хийвэл LED -ийг эргүүлэх болно. Хажуу талыг нь гагнах, тал бүр дээр нэг хос. Гагнуур хийхдээ хөлөө хавчуулахын тулд жижиг хавчаар ашиглана уу. Дөрвөн тал бүрийг гагнаж дууссаны дараа булангуудыг хооронд нь холбохын тулд хавчаарыг хөдөлгөж, тус бүрт нь гагнуур хийнэ. Эцэст нь дунд LED -ийн катодыг аль нэг талд нь гагнаж, илүүдлийг нь хайчилж ав. Гурван удаа давтана. Та одоо есөн LED бүхий гурван багцтай байх ёстой. Хоёр багцыг нөгөөгийнхөө дээр байрлуул. LED хооронд аль хэдийн тогтоосон зайтай тэнцүү зайг байлга. Хоорондоо зай тав тухтай байх үед та хөл тус бүрийг хоёр хавчаар ашиглан хавчуулж, чиглэл тус бүрээр нь гагнах үед хөлөө чанга байлгаж чадна. Сайн холболт авахын тулд та LED эргэн тойронд нугалах хэрэгтэй болж магадгүй юм. Есөн хос тус бүрийг нэг нэгээр нь гагнана. Үүнийг дахиад нэг удаа хий, тэгвэл шоо дуусна. Perfboard -ийн нэг талд кубыг тавь. Нүх тус бүрийг хөтлөхдөө есөн хөлийг жигд байрлуулсан эсэхийг шалгаарай. Миний самбар нь хөлний багц бүрийн хооронд таван нүхтэй байдаг. Төрөл бүрийн эд ангиудыг тааруулахын тулд та перфордын нөгөө талд аль болох их зай үлдээхийг хүсч байна. Байрлалд сэтгэл хангалуун байгаа бол хөлийг нь барихын тулд хэдэн хавчаар нэмээрэй. Хөлийг нь ёроолоор нь цоолж байгаарай, учир нь энэ нь дараа нь резисторыг гагнах ажлыг хөнгөвчлөх болно. Самбарыг эргүүлж, хөл тус бүрийг гагнаж байрлуул. Бүх хөлийг гагнаж дууссаны дараа шоо эргүүлээрэй. Эцэст нь бид түвшин тус бүрээс тугалган самбарыг доод талаас доош гагнах хэрэгтэй. Хатуу утас хайчилж, нэг үзүүрт нь жижиг дэгээ нугална. Дэгээгээ төвийн LED хөлний аль нэгэнд дүүжлээд, самбар дээрх цооногоор дамжуулна уу. Утасыг байрандаа байлгахын тулд дэгээний үзүүрийг гагнана. Бусад хоёр түвшинд дахин давтана уу. Дараагийн алхам бол хэлхээний үлдсэн хэсгийг барих явдал юм.

Алхам 3: Хэлхээг бий болгох

Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох

Хэлхээ нь маш энгийн. Есөн багана тус бүр одоогийн хязгаарлах резистороор дамжуулан Arduino дээрх зүүтэй холбогдох болно. Гурван түвшин тус бүр нь Arduino зүүгээр идэвхжсэн үед NPN транзистороор газарддаг. Бид Arduino дээр нийт 12 гаралтын тээглүүр ашиглах болно, гэхдээ 18 LED асаах боломжтой. Заль мэх нь нэг удаад зөвхөн нэг түвшинг асаах боломжтой юм. Түвшинг газардуу холбоход тухайн түвшний LED тус бүрийг өөр 9 өөр Arduino тээглүүрээр дангаар нь асааж болно. Хэрэв бид түвшинг хангалттай хурдан асаах юм бол бүх гурван түвшинг нэгэн зэрэг асааж байгаа мэт харагдах болно. Хэлхээ байгуулъя. Эхний алхам бол одоогийн хязгаарлах есөн резисторыг бэлтгэх явдал юм. Би нэг зүү тутамд 220 ом ашигладаг бөгөөд энэ нь 22 мА орчим зурах болно. Утга нь ашиглаж буй LED -ээс хамаарч өөр өөр байж болох боловч ойролцоогоор 135-470 ом хооронд байх боломжтой. Зүү бүр 40 мА хүртэл эх үүсвэр авах боломжтой. Өрөө хэмнэхийн тулд резисторыг босоо байрлалд гагнахыг хүсч байна. Хоёр тугалга хоёулаа бие биентэйгээ параллель байхын тулд нэг тугалгыг доош нь нугална. Үүнийг есөн резистор бүрт хий. Резистор бэлэн болмогц бид тэдгээрийг нэг нэгээр нь гагнах болно. Үүнийг хөнгөвчлөхийн тулд бид тусдаа утсыг ашиглахын оронд резисторыг бусад бүрэлдэхүүн хэсгүүдэд шууд гагнах болно. Резисторын нэг төгсгөл нь багананд, нөгөө нь толгой руу холбогдох болно. Резистортой хамгийн ойр байрлах LED -ийн эхний эгнээнээс эхэлж буцаад ажиллана. Мөр бүрийг дуусгасны дараа богиносохоос урьдчилан сэргийлэхийн тулд давхцсан утаснуудыг тусгаарлахын тулд жижиг туузыг ашиглаж болно. Зураг, диаграмыг үзээд дууссаны дараа энэ нь ямар байхыг харах болно. Одоо баганууд замаас гарсны дараа дараагийн алхам бол түвшинг хянадаг бүрэлдэхүүн хэсгүүдийг гагнах явдал юм. NPN транзисторын суурийг Arduino зүүгээр 10k гүйдлийн хязгаарлагч эсэргүүцэлээр идэвхжүүлнэ. Энэ нь харгалзах түвшинг газардуулж, LED -ээр гүйдэл дамжуулах болно. Зураг, диаграмыг үзнэ үү. LED-ийг дуусгасны дараа Arduino дээрх 2-10-р зүү рүү, түвшинг нь доороос дээш 11-13-р зүү рүү холбох ёстой. Хэрэв танд өөр тохиргоо хэрэгтэй бол тээглүүрийг програм хангамжид тохируулж болно. Хэлхээ дууссан, програм хангамж руу шилжих цаг боллоо!

Алхам 4: Програм хангамжийг ашиглах

Програм хангамжийг ашиглах нь
Програм хангамжийг ашиглах нь
Програм хангамжийг ашиглах нь
Програм хангамжийг ашиглах нь

LED кубыг хянах сүлжээний эргэн тойронд хөвж буй хэдэн кодын жишээг би олж харлаа. Тэд бүгд LED -ийг хянахын тулд их хэмжээний хоёртын эсвэл зургаан өнцөгт өгөгдөл шаарддаг. Илүү хялбар арга байх ёстой гэж би бодсон болохоор өөрийн програм хангамжийг бичихээр шийдсэн. Миний анхны шийдвэр бол програм хангамжийг тоног төхөөрөмжийн толин тусгал болгох явдал байв. Энэ нь түүхий портын өгөгдөл эсвэл уламжлалт x, y, z -ийг ашиглахын оронд LED тус бүрийг багана, түвшнээр нь шийдвэрлэхийг хэлнэ гэсэн үг юм. Хоёрдахь шийдвэр бол ганц гэрлийг асаах, унтраах, тэндээс бүтээх гэх мэт үндсэн функцуудаас эхлэх явдал байв. Эцэст нь би илүү сонирхолтой эффект хийхэд тустай хоёр онцлог шинж чанарыг танилцуулахаар шийдлээ. Нэг нь үндсэн функцүүдийг илүү нарийн төвөгтэй загвар бий болгох боломжийг олгодог буфер юм. Нөгөө нь дараалсан функц бөгөөд олон тооны LED гэрлүүдийг нэг дор эсвэл нэг дор асаах болно. Номын сан нь процедурын код, сул функцээр эхэлсэн. Тэндээс дахин ашиглах боломжтой Arduino номын сан бий болгох зааварчилгааг дагах нь маш хялбар байсан. Номын санг татаж аваад ноорог номын санд задлахаа мартуузай. Хэрэв зөв тохируулсан бол Arduino програм хангамжийн жишээг File> Examples> LedCube> ledcube дээрээс олох хэрэгтэй. Кодыг Github дээр gzip/arduino-ledcube дээрээс авах боломжтой. Уншсанд баярлалаа!

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