Talaan ng mga Nilalaman:

42 RGB LED Pixel Art Pagpipinta: 5 Hakbang
42 RGB LED Pixel Art Pagpipinta: 5 Hakbang

Video: 42 RGB LED Pixel Art Pagpipinta: 5 Hakbang

Video: 42 RGB LED Pixel Art Pagpipinta: 5 Hakbang
Video: 7 Easy Photoshop Tips To Make Your Composites More Realistic! 2024, Hulyo
Anonim
42 RGB LED Pixel Art Pagpipinta
42 RGB LED Pixel Art Pagpipinta

Hoy, Kaya para sa isang takdang-aralin sa paaralan na tinawag na "Kung ito pagkatapos ay" kailangan kong gumawa ng isang interactive // isang bagay // gamit ang isang Arduino Uno starterkit (at kung anupaman ang isang handa na bilhin ang kanilang sarili). Nakikita bilang ginagawa ko ang isang pag-aaral ng Art / Teknolohiya Nais kong gumawa ng isang kombinasyon sa kanilang dalawa (art & tech). Naisip ko na gagawa ako ng isang pagpipinta na binubuo ng maraming mga RGB LEDS dahil maaari akong magkasya sa aking Arduino at hayaang manu-manong ikot ng manlalaro / artist sa mga RGB LEDS na iyon at pumili ng isang kulay. Sa ganitong paraan makakagawa sila ng kanilang sariling "pixel art"!

Hakbang 1: Ang Ilang Impormasyon sa Background at Teorya

Okay kaya, hinahayaan na hindi matalo sa paligid ng bush. Kung nais mong mabuhay ang proyektong ito: Mahirap. Inabot ako ng maraming oras upang malaman / malaman kung ano ang gagawin, at higit pa upang aktwal na magawa ito, ngunit kung talagang nais mo ang isang kahon na puno ng kawad na maaaring lumikha ng napakaliit na "mga kuwadro na gawa" tuturuan kita kung paano.

Kaya, una muna. Gusto namin ng maraming LEDs / RGB LEDS sa aming Arduino hangga't maaari. Ang mas maraming (RGB) LEDs na kumonekta mo ng mas maraming detailled maaari mong gawin ang iyong "pagpipinta" (10x10 na mga pixel ay magbibigay sa iyo ng mas maraming falgle room kaysa sa 2x2 kanan). Ipagpalagay ko na maraming mga paraan upang talagang makakuha ng maraming (RGB) LEDs sa iyong 13 digital pin (mga bagay tulad ng isang shift register) ngunit gumamit ako ng isang pamamaraan na tinatawag na "Charlieplexing". Magli-link ako sa isang nakapagtuturo na tumutulong sa akin na maunawaan ang konseptong ito (sineseryoso nilang ipaliwanag ito nang maayos), ngunit bibigyan din kita ng mabilis na bersyon dito. Ang charlieplexing ay sumusunod sa sumusunod:

Naglalagay ka ng isang LED sa pagitan ng pin 1 at pin 2, kung itinakda mo ang pin 1 sa TAAS at 2 sa LOW ang bilog ay tatakbo nang maayos at ang LED ay magbubukas. Mga Pangunahing Kaalaman Sa ngayon, nakakabit ka ng isa pang LED, ngunit lumipat-lipat. Ang mahabang dulo ay nasa 2 at ang maikling dulo ay nasa pin1. Ngayon kung i-on mo ang pin 2 patungo sa TAAS at i-pin ang 1 sa LOW ay magbubukas ang iyong ika-2 na LED at ang iyong una ay mananatiling dahil ang daloy ay magiging mali. Ngayon ay maaari mong ikabit ang 2 LEDs sa 2 mga pin. Kung nakukuha namin ang ika-3 pin sa paghahalo, magagawa mo ang trick na ito sa pagitan ng 1 at 2, 1 at 3, at 2 at 3. Iyon ang 6 LEDs. Nagpapatuloy ito, 5 mga pin ang magbibigay sa amin (2 + 4 + 6 + 8) 20 LEDs. Ang paggamit ng lahat ng 13 mga digital na pin ay nagbibigay sa amin ng 156 mga pagpipilian. Iyon ang 156 LEDS maaari mong isa-isa i-on at i-off.

(Mas mahusay at mas detalyadong pagpapaliwanag, na may mga larawan)

Okay kaya, sa maraming pagsisikap pagdating sa mga kable (hahawakan ko ito sa paglaon), makakagawa tayo ng isang parilya ng mga LED, ngunit haharapin ito. Ang mga LED ay nakakatakot na mainip. Paano makagawa ng isang larawan na may 2 kulay lamang? Ipagpalagay ko na maaari mo, ngunit mas cool ang paraan nito kung mayroon kang maraming mga kulay upang pumili mula sa tama? tama Kaya sa mga RGB LED na binabaling namin!

Ang mga RGB LED ay karaniwang 3 LEDs sa 1. Nagbabahagi sila ng isang karaniwang katod o anode (kung saan papasok o lalabas ang kuryente) at ang iba pang 3 "binti" ay ang iyong Red Green at Blue LED. Isinasaalang-alang ito, oo maaari din natin silang charlieplex! Ang bawat RGB LED ay binibilang para sa 3 regular na LED. Sa ganoong paraan maaari mo pa ring buksan ang lahat ng mga ito nang paisa-isa at lumikha ng mga cool na kulay upang mapagpipilian! Ang tanging downside ay na ginagawang mas mahirap ang mga bagay dahil kailangan mong mag-mapa / plano at mag-wire ng 3 beses ng maraming mga LED na orihinal na kailangan mo.

Nagpunta ako para sa 42 RGB LEDs sa 13 na mga pin. Iyon ang 126 regular na mga LED …..mabilis ang numero. Hayaan mong sabihin ko sa iyo kung paano ko ito nagawa.

Hakbang 2: Pagpaplano

Pagpaplano
Pagpaplano

Yeah ang hakbang na ito ay medyo madali kapag naintindihan mo ang teorya sa likod ng ginagawa mo. Karaniwang isinusulat mo ang lahat ng iyong mga LED at planuhin kung aling pin ang kailangang puntahan sa aling "binti" kung aling RGB LED kaya't saklaw mo ang lahat ng iyong mga pagpipilian. Nag-attach ako ng isang larawan ng aking pagpaplano, huwag mag-atubiling gamitin din iyon (hindi ko ginamit ang lahat ng mga pagpipilian na magagamit na nakikita na ako "lamang" ay nangangailangan ng 126 na mga koneksyon mula sa 156. Isinagawa ko ito sa ganitong paraan dahil gagawing mas madaling gawin ang konstruksyon).

Mahalaga na makuha ito sa papel, kakailanganin mo ito sa paglaon upang mag-code. Kung hindi mo isusulat ito, at guluhin ang 1 koneksyon ang code ay hindi gagana para sa LED na iyon.

Hakbang 3: Ang Code

Okay, kaya kung mayroon ka nang ideya kung paano mag-wire ng 2 RGB LEDs tulad nito sa 2 pin: Sige! Masarap suriin ang code, ngunit sinisiguro ko sa iyo na gumagana ito! Sinubukan kong gawin ang dami ng "malinis" na pag-coding hangga't maaari (Maaari mo ring pamahalaan ito sa mga switch sa switch ngunit iyon ay isang kakila-kilabot na abala na isulat mo ang lahat ng iyong code x42, napagtanto nito na may marahil na mas mahusay. paraan).

Ang layunin ng code ay ang sumusunod. Magsisimula ka sa LED1. Hinahayaan ka ng pindutan na 1 na lumipat sa susunod na LED ngunit mananatili ang iyong nakaraang LED. Hinahayaan ka ng button2 na bumalik sa nakaraang LED, hinayaan ka ng pindutan na 3 na baguhin ang kulay. Ang kasalukuyang napiling LED blinks upang makita mo kung aling LED ang "napili".

Upang magawa ito nagtrabaho ako sa mga arrays. Lumikha ako ng isang klase ng LED na gumagamit ng impormasyong iyong isinulat habang nasa yugto ng pagpaplano upang makita kung aling pin ang kinakailangan nito upang lumikha ng isang tiyak na kulay. Inilagay ko silang lahat sa isang array at hinayaan ko ang arduino loop sa pamamagitan ng LEDarray upang matukoy kung alin ang nasa at sa pamamagitan ng colorarray upang matukoy kung aling kulay ang napili (ang kulay ay natutukoy ng switch na nagpapahintulot sa 7 mga kulay na mapili). Ang blinking ay kinokontrol ng isang if-statement.

Nakalakip ang code, huwag mag-atubiling mag-download at magamit. Ang seksyon ng komento ay bukas para sa mga katanungan kung may isang bagay na hindi mo naiintindihan, ngunit maaari mo talagang kopyahin ang i-paste!

Hakbang 4: Ang Pinakahirap na Bahagi

Ang pinakamahirap na parte
Ang pinakamahirap na parte
Ang pinakamahirap na parte
Ang pinakamahirap na parte

Kaya ngayon mayroon kang isang ideya, isang gumaganang code….hindi lamang ang aktwal na produkto. Ito ang pinakamalubhang kakila-kilabot na bahagi ng proyektong ito at payuhan ko kayo na huwag basta-basta itong gawin. Naaalala ang lahat ng magkakaibang mga binti na nagtatapos sa parehong pin? well yeah … kailangan mong gawin ang iyong grid ng LEDs, pagkatapos ay ikonekta ang bawat binti sa bawat iba pang mga binti na kailangang pumunta sa parehong pin, at pagkatapos ay conected ang mga ito sa nasabing pin. Ito ay sa pamamagitan ng malayo ang pinaka mahirap na bahagi at ang minahan ay hindi lumabas ng isang 100% perpekto alinman, kung ikaw ay mahusay sa paghihinang maaari kang magkaroon ng isang pagkakataon kahit na.

Inilagay ko sa isang hilera ng mga RGB LED nang sabay-sabay at kumonekta sa isang wire na tanso sa bawat binti (inirerekumenda ko ang tanso na tanso na may pambalot / pambalot. Ang akin ay masyadong makapal at naging sanhi ito ng AKING maraming kalungkutan). Mag-ingat na walang dalawang binti o wires na hawakan ang bawat isa! pagkatapos ay "simpleng" ikonekta ang lahat ng mga wire na kailangang pumunta sa parehong pin at pagkatapos ay ikonekta ang mga ito sa isang risistor at ikonekta iyon sa nasabing pin. Sigurado ako na may isang "mas ligtas" na paraan upang magawa ito, ngunit sigurado akong malulunod sa wire habang sinusubukan at matapat …. Ang iyong breadboard ay napakalaki lamang!

(Nagdagdag ako ng isang guhit na maaaring gawing simple ang hakbang na ito. Sasabihin nito sa iyo kung aling binti ang kailangang puntahan sa aling pin, upang sundin nang eksakto ang aking code.)

Inabot ako ng 4 buong araw ng trabaho, ngunit ngayon ang bawat LED (minus 3-4 na na-screw up ko) ay maaaring buksan nang isa-isa!

pagkatapos ay kailangan mo lamang mag-wire sa ilang mga pindutan at presto! Ang iyong sariling Pixel Art Pagpipinta!

Ang taong ito ay gumawa din ng isang halimbawa ng mga kable, tunay na kapaki-pakinabang

Hakbang 5: Gloat. Ganap na Kaligayahan

Kung ikaw ay isang nagsisimula (tulad ng sa akin) at nagawa mong gumawa ng isang bagay kahit na katulad sa pugad ng mga daga ng mga wire at ito ay lumiliko; kagalakan Nagawa mong mabuti!

Kung mayroon kang anumang mga katanungan / komento iwanan lamang ang mga ito sa ibaba, susubukan kong tulungan kung kaya ko!

Inirerekumendang: