Indholdsfortegnelse:

42 RGB LED Pixel Art Painting: 5 trin
42 RGB LED Pixel Art Painting: 5 trin

Video: 42 RGB LED Pixel Art Painting: 5 trin

Video: 42 RGB LED Pixel Art Painting: 5 trin
Video: The Ultimate Pixel Art Tutorial 2024, Juli
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Hej, Så for en skoleopgave kaldet "Hvis dette så var det", måtte jeg lave et interaktivt // noget // ved hjælp af et Arduino Uno starterkit (og hvad man ellers var villig til at købe selv). Da jeg var ved at lave et kunst/teknologi -studie, ville jeg lave en kombination af dem begge (kunst og teknologi). Jeg regnede med, at jeg ville lave et maleri bestående af så mange RGB -lysdioder, som jeg kunne passe på min Arduino og lade afspilleren/kunstneren manuelt gennemgå disse RGB -lysdioder og vælge en farve. På denne måde kan de lave deres helt egen "pixel art"!

Trin 1: Nogle baggrundsoplysninger og teori

Okay, lad os ikke slå rundt i busken. Hvis du vil gøre dette projekt levende: Det er hårdt. Det tog mig mange timer at finde ud af/lære, hvad jeg skulle gøre, og endnu mere for faktisk at opnå det, men hvis du virkelig vil have en kasse fyldt med wire, der kan skabe meget små "malerier", vil jeg lære dig hvordan.

Så første ting først. Vi ønsker så mange LED'er/RGB LED'er på vores Arduino som muligt. Jo flere (RGB) lysdioder du tilslutter, desto mere detaljeret kan du lave dit "maleri" (10x10 pixels giver dig mere vrimlerum end 2x2 til højre). Jeg formoder, at der faktisk er flere måder at faktisk få mange (RGB) lysdioder på dine 13 digitale stifter (ting som et skiftregister), men jeg brugte en metode kaldet "Charlieplexing". Jeg vil linke til en instruerbar, der hjalp mig med at forstå dette koncept (seriøst forklarer de det rigtig godt), men jeg giver dig også den hurtige version her. Charlieplexing går som følger:

Du sætter en LED mellem pin 1 og pin 2, hvis du sætter pin 1 til HIGH og 2 til LOW, vil cirklen køre jævnt, og LED'en tændes. Grundlæggende. Nå, nu vedhæfter du en anden LED, men vendte rundt. Den lange ende er på 2 og den korte ende er på pin1. Hvis du nu drejer pin 2 til HIGH og pin 1 til LOW, tændes din 2. LED, og din første forbliver slukket, fordi flowet vil være forkert. Nu kan du vedhæfte 2 lysdioder på 2 ben. Hvis vi får den 3. pin i blandingen, kan du gøre dette trick mellem 1 og 2, 1 og 3 og 2 og 3. Det er 6 lysdioder. Dette fortsætter, 5 pins vil give os (2 + 4 + 6 + 8) 20 lysdioder. Brug af alle 13 digitale stifter giver os 156 muligheder. Det er 156 lysdioder, du individuelt kan tænde og slukke.

(okay så for jer der undrer sig. Ja når du har meget er det umuligt faktisk at have nogle tændt på samme tid, men ingen bekymringer, arduinoen kan skifte mellem dine lysdioder så hurtigt at det menneskelige øje ikke kan se flimren)

(Bedre og mere detaljeret forklaring, med billeder)

Okay, så med en stor indsats, når det kommer til ledninger (jeg vil røre ved dette senere), kan vi lave et ret lys af LED'er, men lad os se det i øjnene. Lysdioder er frygtelig kedelige. Hvordan kan man lave et billede med kun 2 farver? Jeg formoder, at du kunne, men det er køligere, hvis du har flere farver at vælge imellem? ret. Så til RGB LED'erne vender vi os!

RGB -lysdioder er dybest set 3 lysdioder i 1. De deler en fælles katode eller anode (hvor strømmen går ind eller ud) og de andre 3 "ben" er din rødgrønne og blå LED. Med dette i tankerne, ja, vi kan også lade dem komplekse! Hver RGB LED tæller for 3 almindelige LED'er. På den måde kan du stadig tænde og slukke dem alle individuelt og skabe fede farver at vælge imellem! Den eneste ulempe er, at dette gør tingene meget vanskeligere, da du skal kortlægge/planlægge og tilslutte 3 gange så mange lysdioder, som du oprindeligt skulle.

Jeg gik efter 42 RGB LED'er på 13 ben. Det er 126 almindelige lysdioder…..ganske antal. Lad mig fortælle dig, hvordan jeg gjorde det.

Trin 2: Planlægning

Planlægning
Planlægning

Ja, dette trin er ret let, når du forstår teorien bag, hvad du laver. Du skriver dybest set alle dine lysdioder og planlægger, hvilken pin der skal gå til hvilket "ben" af hvilken RGB LED, så du dækker alle dine muligheder. Jeg vedhæftede et billede af min planlægning, du er også velkommen til at bruge det (jeg brugte ikke alle tilgængelige muligheder, da jeg "kun" havde brug for 126 forbindelser ud af 156. Jeg strukturerede det på denne måde, fordi det ville gøre byggeriet en lille smule mere gennemførligt).

Det er vigtigt at få dette på papir, du skal bruge det senere til at kode. Hvis du ikke skriver dette ud og ødelægger 1 forbindelse, fungerer koden ikke for den pågældende LED.

Trin 3: Koden

Okay, så hvis du allerede har en idé om, hvordan du kablerer 2 RGB -lysdioder som dette på 2 pins: Fortsæt! Det er rart at kontrollere koden, men jeg kan forsikre dig om, at den virker! Jeg forsøgte at gøre så meget af "ren" kodning som jeg overhovedet kunne (Du kunne også klare dette med kontakter i switche, men det er bare et frygteligt besvær, der får dig til at skrive al din kode x42 ned, det fik mig til at indse, at der nok var en bedre vej).

Målet med koden er følgende. Du starter ved LED1. Knap 1 lader dig gå til den næste LED, men din tidligere LED forbliver tændt. Knap2 lader dig gå tilbage til den forrige LED, knap 3 lader dig ændre farven. Den aktuelle valgte LED blinker, så du kan se, hvilken LED der er "valgt".

For at opnå dette arbejdede jeg med arrays. Jeg oprettede en LED -klasse, der bruger de oplysninger, du skrev ned under planlægningsfasen for at se, hvilken nål den har brug for for at skabe en bestemt farve. Jeg lagde dem alle i en matrix, og jeg lod arduinoen løbe gennem LEDarrayet for at bestemme hvilken der er på og gennem colorarrayet for at bestemme hvilken farve der er valgt (farven bestemmes af kontakten, der gør det muligt at vælge 7 farver). Blinkningen reguleres af en if-sætning.

Koden er vedhæftet, du er velkommen til at downloade og bruge. Kommentarsektionen er åben for spørgsmål, hvis der er noget, du ikke forstår, men du kan dybest set kopiere og indsætte!

Trin 4: Den sværeste del

Den sværeste del
Den sværeste del
Den sværeste del
Den sværeste del

Så nu har du en idé, en arbejdskode …. bare ikke det faktiske produkt. Dette er langt den mest forfærdelige del af dette projekt, og jeg vil råde dig til ikke at tage let på dette. Kan du huske alle de forskellige ben, der alle ender i den samme nål? godt ja … du skal lave dit gitter af lysdioder, derefter forbinde hvert ben til hvert andet ben, der skal gå til den samme pin, og derefter forbinde dem til den nævnte pin. Dette er langt den sværeste del, og min udkom heller ikke 100% perfekt, hvis du er god til at lodde, kan du dog have en chance.

Jeg lagde en række RGB LED'er ad gangen og sluttede en kobbertråd til hvert ben (jeg anbefaler kobbertråd med foringsrør/indpakning. Min var for tyk, og det forårsagede mig en masse sorg). Pas på, at ikke to ben eller ledninger rører hinanden! derefter "simpelthen" tilslutte alle ledninger, der skal gå til den samme pin og derefter forbinde dem til en modstand og tilslutte den til pin. Jeg er sikker på, at der er en "sikrere" måde at gøre dette på, men jeg er sikker på, at man ville drukne i wire, mens han prøvede og ærligt talt …. dit brødbræt er kun så stort!

(jeg tilføjede en tegning, der kan forenkle dette trin. Den fortæller dig, hvilket ben der skal gå til hvilken pin, for at følge min kode nøjagtigt.)

Det tog mig hele fire dages arbejde, men nu kan hver LED (minus 3-4, jeg skruede op) tændes individuelt!

så skal du kun tilslutte nogle knapper og presto! Dit eget Pixel Art -maleri!

Denne fyr lavede også et eksempel på ledninger, det er virkelig nyttigt

Trin 5: Gloat. Absolut Gloat

Hvis du er en forret (som mig), og du formåede at lave noget, der ligner denne rotterede af ledninger, og den tænder; glade. I gjorde det rigtig godt!

Hvis du har spørgsmål/kommentarer, skal du bare efterlade dem herunder, jeg vil prøve at hjælpe, hvis jeg kan!

Anbefalede: