Innholdsfortegnelse:

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

Video: 42 RGB LED Pixel Art Painting: 5 trinn

Video: 42 RGB LED Pixel Art Painting: 5 trinn
Video: 30 Ultimate Outlook Tips and Tricks for 2020 2024, November
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Hei, Så for en skoleoppgave kalt "If this then that" måtte jeg lage et interaktivt // noe // ved hjelp av en Arduino Uno startpakke (og hva annet man var villig til å kjøpe selv). Da jeg så på en art/teknologi -studie, ønsket jeg å lage en kombinasjon av dem begge (kunst og teknologi). Jeg tenkte jeg skulle lage et maleri bestående av så mange RGB -lysdioder som jeg kunne få plass på min Arduino og la spilleren/artisten manuelt bla gjennom disse RGB -lysdiodene og velge en farge. På denne måten kan de lage sin helt egen "pixel art"!

Trinn 1: Litt bakgrunnsinformasjon og teori

Ok, så la oss ikke slå rundt busken. Hvis du vil gjøre dette prosjektet levende: Det er vanskelig. Det tok meg mange timer å finne ut/lære hva jeg skulle gjøre, og enda mer for å faktisk oppnå det, men hvis du virkelig vil ha en eske fylt med wire som kan lage veldig små "malerier", skal jeg lære deg hvordan.

Så, først ting først. Vi vil ha så mange lysdioder/RGB -lysdioder på vår Arduino som mulig. Jo flere (RGB) lysdioder du kobler til, desto mer detaljert kan du gjøre ditt "maleri" (10x10 piksler gir deg mer vridningsrom enn 2x2 til høyre). Jeg antar at det er flere måter å faktisk få mange (RGB) lysdioder på de 13 digitale pinnene dine (ting som et skiftregister), men jeg brukte en metode som heter "Charlieplexing". Jeg vil koble til en instruerbar som hjalp meg med å forstå dette konseptet (seriøst forklarer de det veldig bra), men jeg gir deg også den raske versjonen her. Charlieplexing går som følger:

Du setter en LED mellom pin 1 og pin 2, hvis du setter pin 1 til HIGH og 2 til LOW vil sirkelen gå jevnt og lysdioden slås på. Grunnleggende. Vel, nå fester du en ny LED, men snudde rundt. Den lange enden er på 2 og den korte enden er på pin1. Hvis du slår pin 2 til HIGH og pin 1 til LOW, tennes den andre LED -en, og den første lyser av fordi strømmen blir feil. Nå kan du feste 2 lysdioder på 2 pinner. Hvis vi får den tredje pinnen i blandingen, kan du gjøre dette trikset mellom 1 og 2, 1 og 3 og 2 og 3. Det er 6 lysdioder. Dette fortsetter, 5 pins vil gi oss (2 + 4 + 6 + 8) 20 lysdioder. Ved å bruke alle de 13 digitale pinnene får vi 156 alternativer. Det er 156 lysdioder du kan slå på og av individuelt.

(Bedre og mer detaljert forklaring, med bilder)

Ok, så med mye innsats når det gjelder ledninger (jeg skal berøre dette senere), kan vi lage et ganske rutenett med lysdioder, men la oss innse det. Lysdioder er fryktelig kjedelige. Hvordan kan man lage et bilde med bare 2 farger? Jeg antar at du kan, men det er kulere hvis du har flere farger å velge mellom, ikke sant? Ikke sant. Så til RGB -lysdiodene snur vi!

RGB -lysdioder er i utgangspunktet 3 lysdioder i 1. De deler en felles katode eller anode (der strømmen går inn eller ut) og de andre 3 "bena" er din rødgrønne og blå LED. Med dette i bakhodet, ja, vi kan også dele dem med andre! Hver RGB -LED teller for 3 vanlige lysdioder. På den måten kan du fortsatt slå dem av og på hver for seg og lage kule farger å velge mellom! Den eneste ulempen er at dette gjør ting mye vanskeligere ettersom du må kartlegge/planlegge og koble 3 ganger så mange lysdioder som du opprinnelig måtte.

Jeg gikk for 42 RGB -lysdioder på 13 pinner. Det er 126 vanlige lysdioder … ganske tall. La meg fortelle deg hvordan jeg gjorde det.

Trinn 2: Planlegging

Planlegger
Planlegger

Ja, dette trinnet er ganske enkelt når du forstår teorien bak hva du gjør. Du skriver i utgangspunktet alle lysdiodene dine og planlegger hvilken pinne som må gå til hvilket "ben" av hvilken RGB LED, slik at du dekker alle alternativene dine. Jeg la ved et bilde av planleggingen min. Du kan også bruke det (jeg brukte ikke alle tilgjengelige alternativer, ettersom jeg "bare" trengte 126 tilkoblinger av 156. Jeg strukturerte det på denne måten fordi det ville gjøre konstruksjonen litt mer gjennomførbar.).

Det er viktig å få dette på papir, du trenger det senere for å kode. Hvis du ikke skriver dette ut og ødelegger 1 tilkobling, fungerer ikke koden for den LED -en.

Trinn 3: Koden

Ok, så hvis du allerede har en ide om hvordan du kobler 2 RGB -lysdioder som dette på 2 pins: Fortsett! Det er hyggelig å sjekke koden, men jeg forsikrer deg om at den fungerer! Jeg prøvde å gjøre så mye "ren" koding som mulig vei).

Målet med koden er følgende. Du starter med LED1. Knapp 1 lar deg gå til neste LED, men den forrige LED -lampen forblir på. Knapp 2 lar deg gå tilbake til forrige LED, knapp 3 lar deg endre fargen. Den nåværende valgte LED blinker slik at du kan se hvilken LED som er "valgt".

For å oppnå dette jobbet jeg med matriser. Jeg opprettet en LED -klasse som bruker informasjonen du skrev ned under planleggingsfasen for å se hvilken pinne den trenger for å lage en bestemt farge. Jeg la dem alle i en matrise, og jeg lot arduinoen gå gjennom LEDarrayen for å bestemme hvilken som er på og gjennom colorarrayen for å bestemme hvilken farge som er valgt (fargen bestemmes av bryteren som gjør det mulig å velge 7 farger). Blinkingen reguleres av en if-setning.

Koden er vedlagt. Last ned og bruk den. Kommentarseksjonen er åpen for spørsmål hvis det er noe du ikke forstår, men du kan i utgangspunktet kopiere og lime inn!

Trinn 4: Den vanskeligste delen

Den vanskeligste delen
Den vanskeligste delen
Den vanskeligste delen
Den vanskeligste delen

Så nå har du en idé, en arbeidskode …. bare ikke det faktiske produktet. Dette er den desidert mest fryktelige delen av dette prosjektet, og jeg vil råde deg til ikke å ta lett på dette. Husker du alle de forskjellige beina som alle ender i samme pinne? vel ja … du må lage rutenettet med lysdioder, deretter koble hvert ben til hvert annet ben som må gå til samme pinne, og deretter koble dem til pin. Dette er den desidert vanskeligste delen, og min ble ikke 100% perfekt heller, hvis du er god til å lodde kan du ha en sjanse.

Jeg satte inn en rad RGB -lysdioder om gangen og koblet en kobbertråd til hvert ben (jeg anbefaler kobbertråd med foringsrør/innpakning. Min var for tykk og det forårsaket meg mye sorg). Vær forsiktig så ikke to ben eller ledninger berører hverandre! deretter "rett og slett" koble alle ledninger som trenger å gå til den samme pinnen og deretter koble dem til en motstand og koble den til nevnte pin. Jeg er sikker på at det er en "tryggere" måte å gjøre dette på, men jeg er sikker på at en ville drukne i wire mens du prøver og ærlig talt …. Ditt brødbrett er bare så stort!

(jeg la til en tegning som kan forenkle dette trinnet. Den forteller deg hvilken etappe som må gå til hvilken pin, for å følge koden min nøyaktig.)

Det tok meg hele fire dager med arbeid, men nå kan hver LED (minus 3-4 som jeg skrudde opp) slås på individuelt!

da er det bare å koble inn noen knapper og presto! Ditt eget Pixel Art -maleri!

Denne fyren har også laget et eksempel på ledninger, det er veldig nyttig

Trinn 5: Gloat. Absolutt Gloat

Hvis du er en forrett (som meg), og du klarte å lage noe som ligner på denne rottereden av ledninger, og den slår seg på; glad. Du gjorde det veldig bra!

Hvis du har spørsmål/kommentarer, bare legg dem under, jeg skal prøve å hjelpe hvis jeg kan!

Anbefalt: