Sadržaj:

42 RGB LED Pixel Art slikanje: 5 koraka
42 RGB LED Pixel Art slikanje: 5 koraka

Video: 42 RGB LED Pixel Art slikanje: 5 koraka

Video: 42 RGB LED Pixel Art slikanje: 5 koraka
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Srpanj
Anonim
42 RGB LED Pixel Art slika
42 RGB LED Pixel Art slika

Hej, Tako sam za školski zadatak pod nazivom "Ako ovo onda ono" morao sam napraviti interaktivno // nešto // koristeći Arduino Uno starterkit (i sve drugo što su sami voljni kupiti). Budući da studiram umjetnost/tehnologiju, želio sam napraviti njihovu kombinaciju (umjetnost i tehnologija). Zamislio sam da ću napraviti sliku koja se sastoji od onoliko RGB LED dioda koliko mogu stati na moj Arduino i dopustiti igraču/umjetniku da ručno prelazi kroz te RGB LED diode i odabere boju. Na ovaj način mogu stvoriti vlastitu "umjetnost piksela"!

Korak 1: Neke pozadinske informacije i teorija

U redu, nemojmo tući po grmu. Ako želite oživjeti ovaj projekt: teško je. Trebalo mi je mnogo sati da shvatim/naučim što trebam učiniti, pa čak i više da to zaista i ostvarim, ali ako zaista želite kutiju ispunjenu žicom koja može stvoriti vrlo male "slike", naučit ću vas kako.

Dakle, prvo prvo. Želimo što više LED/RGB LED dioda na našem Arduinu. Što više (RGB) LED dioda spojite, to ćete detaljnije moći napraviti svoju "sliku" (10x10 piksela daje vam više prostora za pomeranje nego 2x2 desno). Pretpostavljam da postoji više načina za dobivanje puno (RGB) LED dioda na vaših 13 digitalnih pinova (stvari poput registra pomaka), ali koristio sam metodu koja se zove "Charlieplexing". Povezat ću se s poukom koja mi je pomogla razumjeti ovaj koncept (ozbiljno mi to jako dobro objašnjavaju), ali ovdje ću vam dati i brzu verziju. Charlieplexing ide ovako:

LED ste postavili između pina 1 i pina 2, ako pin 1 postavite na HIGH, a 2 na LOW, krug će raditi glatko i LED će se uključiti. Osnove. Pa, sada priključujete još jednu LED diodu, ali okrenuli ste se. Dugi kraj je na 2, a kratki na pin1. Sada, ako pin 2 postavite na HIGH, a pin 1 na LOW, vaša će se druga LED lampica uključiti, a prva će ostati isključena jer će protok biti pogrešan. Sada možete priključiti 2 LED diode na 2 pina. Ako dobijemo 3. pin u miksu, možete izvesti ovaj trik između 1 i 2, 1 i 3, te 2 i 3. To je 6 LED dioda. Ovo se nastavlja, 5 pinova dodijelit će nam (2 + 4 + 6 + 8) 20 LED dioda. Korištenje svih 13 digitalnih pinova daje nam 156 mogućnosti. To je 156 LED dioda koje možete pojedinačno uključiti i isključiti.

(u redu pa za vas koji se pitate. Da, kad imate mnogo, nemoguće je imati uključene neke u isto vrijeme, ali bez brige, arduino se može prebacivati između vaših LED dioda tako brzo da ljudsko oko ne vidi treperenje)

(Bolje i detaljnije objašnjenje, sa slikama)

U redu, s puno truda što se tiče ožičenja (dotaknut ću se kasnije), možemo napraviti popriličnu mrežu LED dioda, ali da se razumijemo. LED diode su užasno dosadne. Kako se može napraviti slika sa samo 2 boje? Pretpostavljam da biste mogli, ali bolje je ako imate više boja za odabir? pravo. Pa se okrećemo RGB LED diodama!

RGB LED diode su u osnovi 3 LED diode u 1, a dijele zajedničku katodu ili anodu (gdje napajanje ulazi ili izlazi), a ostale 3 "noge" su vaša crvena zelena i plava LED. Imajući to na umu, da, možemo i njih charlieplex! Svaka RGB LED dioda broji 3 standardne LED diode. Na taj način ih još uvijek možete pojedinačno uključiti i isključiti i stvoriti hladne boje za odabir! Jedini nedostatak je što to znatno otežava stvari jer morate mapirati/planirati i ožičiti 3 puta više LED dioda nego što ste prvotno morali.

Otišao sam po 42 RGB LED diode na 13 pinova. To je 126 običnih LED dioda …..priličan broj. Reći ću vam kako sam to učinio.

Korak 2: Planiranje

Planiranje
Planiranje

Da, ovaj korak je prilično jednostavan kad shvatite teoriju iza onoga što radite. U osnovi ispisujete sve svoje LED diode i planirate koji pin mora ići na koju "nogu" od koje RGB LED diode kako biste pokrili sve svoje mogućnosti. Priložio sam sliku svog planiranja, slobodno upotrijebite i to (nisam upotrijebio sve dostupne opcije jer mi je "samo" trebalo 126 veza od 156. To sam strukturirao na ovaj način jer bi to učinilo konstrukciju mrvicu izvedivijom).

Važno je da ovo dobijete na papiru, kasnije će vam trebati za šifriranje. Ako ovo ne zapišete i poremetite 1 vezu, kôd neće raditi za tu LED diodu.

Korak 3: Kôd

U redu, pa ako već imate ideju o tome kako spojiti 2 RGB LED diode ovako na 2 pina: Samo naprijed! Lijepo je provjeriti kôd, ali uvjeravam vas da radi! Pokušao sam učiniti onoliko "čistog" kodiranja koliko sam mogao (ovo ste mogli i upravljati prekidačima u prekidačima, ali to je samo užasna gnjavaža zbog koje ste zapisali sav svoj kôd x42, pa sam shvatio da vjerojatno postoji bolji put).

Cilj koda je sljedeći. Počinjete sa LED1. Gumb 1 omogućuje vam prelazak na sljedeću LED, ali prethodna LED lampica ostaje uključena. Gumb 2 omogućuje vam povratak na prethodnu LED diodu, gumb 3 omogućuje vam promjenu boje. Trenutačno odabrana LED dioda treperi pa možete vidjeti koja je LED "odabrana".

Da bih to postigao, radio sam s nizovima. Napravio sam LED klasu koja koristi podatke koje ste zapisali u fazi planiranja kako biste vidjeli koja je igla potrebna za stvaranje određene boje. Stavio sam ih sve u niz i pustio arduino da prođe kroz LED matricu kako bi odredio koja je uključena, a kroz niz boja odredio koja je boja odabrana (boja je određena prekidačem koji omogućuje odabir 7 boja). Treptanje je regulirano if-naredbom.

Kôd je u privitku, slobodno ga preuzmite i koristite. Odjeljak s komentarima otvoren je za pitanja ako nešto ne razumijete, ali u osnovi možete kopirati zalijepiti!

Korak 4: Najteži dio

Najteži dio
Najteži dio
Najteži dio
Najteži dio

Dakle, sada imate ideju, radni kod ….samo ne stvarni proizvod. Ovo je daleko najstrašniji dio ovog projekta i savjetovao bih vam da ovo ne shvaćate olako. Sjećate li se svih onih različitih nogu koje sve završavaju na istoj iglici? pa da … morate napraviti svoju mrežu LED dioda, zatim spojiti svaku nogu sa svakom drugom nogom koja mora ići na isti pin, a zatim ih spojiti na navedeni pin. Ovo je daleko najteži dio, a ni moj nije ispao 100% savršen, ali ako ste dobri u lemljenju možda ćete ipak imati priliku.

Stavljao sam redom RGB LED diode i na svaku nogu spojio bakrenu žicu (preporučujem bakrenu žicu s kućištem/omotom. Moja je bila predebela i izazvala mi je mnogo tuge). Pazite da se dvije noge ili žice ne dodiruju! zatim "jednostavno" spojite sve žice koje trebaju ići na isti pin, a zatim ih spojite na otpornik i spojite to na navedeni pin. Siguran sam da postoji "sigurniji" način za to, ali siguran sam da bi se netko utopio u žici pokušavajući i iskreno …. Vaša je ploča tako velika!

(Dodao sam crtež koji bi mogao pojednostaviti ovaj korak. On vam govori koja noga mora ići na koju iglu, da biste točno slijedili moj kôd.)

Trebala su mi 4 dana rada, ali sada se svaka LED dioda (minus 3-4 koliko sam zeznuo) može uključiti pojedinačno!

onda morate samo spojiti neke gumbe i presto! Vaše vlastito Pixel Art slikarstvo!

Ovaj je čovjek također dao primjer ožičenja, od velike je pomoći

Korak 5: Glupajte. Apsolutno Gloat

Ako ste početnik (poput mene) i uspjeli ste napraviti nešto slično ovom štakorskom gnijezdu žica i ono se pali; likovati. Bio si jako dobar!

Ako imate bilo kakvih pitanja/komentara, ostavite ih ispod, pokušat ću vam pomoći ako mogu!

Preporučeni: