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

Цөөн хэдэн микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ: 6 алхам (зурагтай)
Цөөн хэдэн микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ: 6 алхам (зурагтай)

Видео: Цөөн хэдэн микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ: 6 алхам (зурагтай)

Видео: Цөөн хэдэн микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ: 6 алхам (зурагтай)
Видео: Одним словом, Фрида полнейшая ► 17 Прохождение Dark Souls 3 2024, Долдугаар сарын
Anonim
Цөөн тооны микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ
Цөөн тооны микроконтроллероос олон тооны LED -ийг хэрхэн яаж жолоодох вэ

Олон микроконтроллерийн тээглүүр нь гурван төлөвтэй (+V, GND, эсвэл "өндөр эсэргүүцэлтэй") байдгийг ашиглан N*(N-1) LED-ийг N тээглүүрээс жолоодож болно. 20 LED нь таван гаралтын тээглүүртэй бөгөөд зарим төрлийн оролтод нэг зүү үлдсэн хэвээр байна.

Алхам 1: 5 голтой 20 LED

5 голтой 20 LED
5 голтой 20 LED

Одоогийн зүү тоо багатай микроконтроллерийн ургац (6-аас 20 голтой

Бүх багц) нь сэтгэл татам үнэтэй бөгөөд "хөөрхөн" боловч LED жолоодох гэх мэт түгээмэл хэрэглээнд эдгээр тээглүүрийг хэрхэн хамгийн сайн ашиглах вэ гэсэн асуулт гарч ирж байна. LED жолоодох шууд холболтын арга нь LED тус бүрт нэг зүү хэрэглэдэг. LED анодын эгнээг нэг багц N тээглүүрээр, нэг эгнээний нийтлэг катодыг өөр нэг М зүүгээр удирддаг уламжлалт мультиплекс схем нь N*M LED -ийг N+M тээглүүрээр асаана. Гэсэн хэдий ч ердөө 5 ба түүнээс бага гаралттай процессор дээр (ихэнх 8-зүү микроконтроллерийн нэгэн адил) энэ нь танд шууд хөтөчөөс илүү гарц авч чадахгүй.

Алхам 2: Чарлиеплекс хийх

Чарлиеплекс хийх
Чарлиеплекс хийх

Хэрэв гаралтын тээглүүр нь үнэхээр гурван төлөвтэй (идэвхтэй өндөр, идэвхтэй бага, өндөр эсэргүүцэл (оролт)) гэж үзвэл эгнээ баганын драйверуудыг хуваалцах, N*(N-1) LED-ийг зөвхөн N тээглүүрээр удирдах боломжтой. Нэг зүү нь хэд хэдэн LED болон хөтлөгчтэй нийтлэг катодуудтай холбогддог бөгөөд үлдсэн N-1 тээглүүрүүд анодуудтай холбогддог бөгөөд тэдгээр баганыг асаахын тулд өндөр жолооддог, эсвэл LED унтраалтаас гарахын тулд оролт болгон үлдээдэг. Максим энэ техникийг "Charlieplexing" гэж нэрлэдэг бөгөөд үүнийг (1) хэсэгт тайлбарласан болно; Микрочип үүнийг мөн өөрийн баримт бичигт дурдсан байдаг (2) (мөн PICKit 1 самбар дээр оруулсан болно.) (1) "Charlieplexing-Pin-Count LED Display Multiplexing" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Зөвлөгөө n n Tricks 8-pin FLASH PIC микроконтроллерууд" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LED- Онолыг зааварчилна. rgbphil

Алхам 3: Үүнийг ажиллуулах

Үүнийг ажиллуулах
Үүнийг ажиллуулах
Үүнийг ажиллуулах
Үүнийг ажиллуулах

Энэ нь ATtiny11 -ээс 20 LED хөтөлдөг. Энэхүү самбарын өмнөх хувилбар нь байсан

үнэндээ бүтээгдсэн бөгөөд үндсэн хуудасны зураг шиг харагдаж байна. Схемийн зураг нэлээд найдваргүй байна гэж би айж байна; ямар дохио хаана холбогдсоныг танд хэлэхийн тулд бүргэд хэрэгтэй болно.

Алхам 4: Жижиг, илүү уян хатан …

Жижиг, илүү уян хатан…
Жижиг, илүү уян хатан…

Самбарын ихэнх хэсгийг LED массив эзэлдэг тул бид зай гаргах боломжтой

Attiny чип эсвэл микрочип PIC12F чипийн хувьд. LED -ийг 3 мм хүртэл багасгаж, хоёр талт самбар дээр очоод 27x44 мм хэмжээтэй зүйл олж аваарай, харамсалтай нь энэ самбарыг туршиж үзээгүй байна …

Алхам 5: Итти Бити

Ити Бити
Ити Бити

Мэдээжийн хэрэг, бичил схем нь 6 зүү бүхий PIC10F чиптэй бөгөөд машин жолоодох чадвартай

3 гаралтын тээглүүрээс ердөө 6 LED. Энэ нь ойролцоогоор 16 мм диаметртэй юм. 603 LED -ийг сонгосноор та жаахан жижгэрэх боломжтой боловч ямар учиртайг сайн мэдэхгүй байна.

Алхам 6: Програм хангамж

Програм хангамж нь серверийн шалтгаанаар жаахан замбараагүй болдог.

1) харуулсан ПХБ -ийн хувьд LED -ийг "зөв" битийн дарааллаар биш харин ПХБ -ийн зохион байгуулалтад тохиромжтой байдлаар байрлуулсан болно. IMO, энэ бол ийм арга юм, гэхдээ энэ нь 1 -р мөр нь заавал бит 1 гэсэн үг биш, эсвэл coluimn 3 нь бит 3 гэсэн үг биш гэсэн үг юм. Энэ нь ердийн мөр/баганын хаягжилт болон тохируулах шаардлагатай битүүд. 2) Анод ба катодод ижил битүүдийг ашигладаг тул зарим битийн нийтлэг (мөр) холболт нь хөтөч (багана) битүүдийн дунд байж болно. Энэ нь баганы баганы мөрийн битийн өмнө эсвэл хойно байгаа эсэхээс хамаарч баганын битүүдийг шилжүүлэх ёстой гэсэн үг юм. 3) Та ioport болон порт чиглэлийн регистрийн аль алиных нь гаралтын үгсийг гаргаж авах ёстой. ATtiny11 -д хавсаргасан ASM код нь "үзэл баримтлалын нотолгоо" юм. Энэ нь ичмээр байдлаар оновчлол хийгээгүй, муу сэтгэгдэл бичсэн боловч энэ бол миний бичсэн зүйл юм.

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