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, Novembar
Anonim
42 RGB LED Pixel Art slika
42 RGB LED Pixel Art slika

Hej, Tako da 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 spremni kupiti sami). 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 napraviti vlastitu "pixel art"!

Korak 1: Neke osnovne informacije i teorija

U redu, nemojmo tući po grmu. Ako želite da ovaj projekt zaživi: teško je. Trebalo mi je mnogo sati da shvatim/naučim šta da radim, pa čak i više da to zaista i postignem, 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 povežete, to ćete detaljnije 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 ja sam koristio metodu koja se zove "Charlieplexing". Povezaću se sa uputstvom koje mi je pomoglo da razumem ovaj koncept (ozbiljno ga objašnjavaju jako dobro), ali ovde ć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 ste je okrenuli. Dugi kraj je na 2, a kratki na pin1. Sada, ako pin 2 okrenete na HIGH, a pin 1 na LOW, vaša će se druga LED lampica uključiti i 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 će nam (2 + 4 + 6 + 8) dodijeliti 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 one koji se pitaju. Da, kada 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 prilično niz 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? desno. Pa se okrećemo RGB LED diodama!

RGB LED diode su u osnovi 3 LED diode u 1. One dijele zajedničku katodu ili anodu (gdje se napajanje uključuje ili isključuje), a ostale 3 "noge" su vaša crvena zelena i plava LED. Imajući ovo na umu, da, možemo i njih charlieplex! Svaka RGB LED dioda broji 3 standardne LED diode. Na taj način ih i dalje možete pojedinačno uključivati i isključivati i stvarati hladne boje za odabir! Jedina mana je što ovo čini stvari mnogo težima jer morate mapirati/planirati i ožičiti 3 puta više LED dioda nego što ste prvobitno morali.

Kupio sam 42 RGB LED diode na 13 pinova. To je 126 običnih LED dioda …..priličan broj. Reći ću vam kako sam to uradio.

Korak 2: Planiranje

Planiranje
Planiranje

Da, ovaj korak je prilično jednostavan kada 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 iskoristio 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 izvodljivijom).

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 povezati 2 RGB LED diode 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 vjerovatno postoji bolji način).

Cilj koda je sljedeći. Počinjete sa LED1. Taster 1 vam omogućava da pređete na sledeću LED lampicu, ali vaša prethodna LED lampica ostaje uključena. Dugme2 vam omogućava da se vratite na prethodnu LED lampicu, dugme 3 vam omogućava da promenite boju. Trenutno odabrana LED dioda treperi kako biste mogli 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 i kroz niz boja kako bi se utvrdilo koja je boja odabrana (boja je određena prekidačem koji omogućava odabir 7 boja). Treptanje je regulirano if-naredbom.

Kôd je u privitku, slobodno ga preuzmite i koristite. Odeljak za komentare otvoren je za pitanja ako imate nešto što ne razumete, ali u osnovi možete kopirati paste!

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 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 izazvalo 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 čovjek utopio u žici pokušavajući i iskreno …. Vaša ploča je tako velika!

(Dodao sam crtež koji bi mogao pojednostaviti ovaj korak. On vam govori koja noga treba da ide na koji pin, da biste tačno slijedili moj kôd.)

Trebalo mi je 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 tip je također napravio 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 čak i slično ovom pacovskom gnijezdu žica i ono se pali; gloat. Bio si jako dobar!

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

Preporučuje se: