Innehållsförteckning:

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

Video: 42 RGB LED Pixel Art Painting: 5 steg

Video: 42 RGB LED Pixel Art Painting: 5 steg
Video: Installing led displays is as fun as building blocks#shorts #leddisplay #eagerled #led 2024, November
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Hallå, Så för ett skoluppdrag som heter "If this then that" jag var tvungen att göra en interaktiv // något // med en Arduino Uno startkit (och vad man än var villig att köpa själva). Eftersom jag gjorde en konst/teknikstudie ville jag göra en kombination av dem båda (konst och teknik). Jag tänkte att jag skulle göra en tavla bestående av så många RGB -lysdioder som jag kunde passa på min Arduino och låta spelaren/artisten manuellt bläddra igenom dessa RGB -lysdioder och välja en färg. På så sätt kan de göra sin egen "pixel art"!

Steg 1: Lite bakgrundsinformation och teori

Okej, låt oss inte slå runt busken. Om du vill göra detta projekt till liv: Det är svårt. Det tog mig många timmar att ta reda på/lära mig vad jag ska göra, och ännu mer för att faktiskt uppnå det, men om du verkligen vill ha en låda fylld med tråd som kan skapa mycket små "tavlor" så lär jag dig hur.

Så, först saker först. Vi vill ha så många lysdioder/RGB -lysdioder på vår Arduino som möjligt. Ju fler (RGB) lysdioder du ansluter desto mer detaljerad kan du göra din "målning" (10x10 pixlar ger dig mer vickrum än 2x2 höger). Jag antar att det finns fler sätt att faktiskt få många (RGB) lysdioder på dina 13 digitala stift (saker som ett skiftregister) men jag använde en metod som heter "Charlieplexing". Jag kommer att länka till en instruerbar som hjälpte mig att förstå detta koncept (seriöst förklarar de det riktigt bra), men jag ger dig också den snabba versionen här. Charlieplexing går enligt följande:

Du sätter en lysdiod mellan stift 1 och stift 2, om du ställer in stift 1 på HÖG och 2 på LÅG går cirkeln smidigt och lysdioden tänds. Grunderna. Tja, nu fäster du en annan lysdiod, men vänds runt. Den långa änden är på 2 och den korta änden är på pin1. Om du nu vrider stift 2 till HÖG och stift 1 till LÅG tänds din andra lysdiod och den första stannar av eftersom flödet blir fel. Nu kan du fästa 2 lysdioder på 2 stift. Om vi får den tredje tappen i mixen kan du göra det här tricket mellan 1 och 2, 1 och 3 och 2 och 3. Det är 6 lysdioder. Detta fortsätter, 5 stift ger oss (2 + 4 + 6 + 8) 20 lysdioder. Genom att använda alla 13 digitala stift ger vi 156 alternativ. Det är 156 lysdioder som du kan slå på och av individuellt.

(okej så för er som undrar. Ja när du har mycket är det omöjligt att faktiskt ha några på samtidigt, men inga bekymmer, arduino kan växla mellan dina lysdioder så snabbt att det mänskliga ögat inte kan se flimmer)

(Bättre och mer detaljerad förklaring, med bilder)

Okej, så med mycket ansträngning när det gäller kabeldragning (jag kommer att beröra detta senare) kan vi skapa ett ganska stort nät av lysdioder, men låt oss inse det. Lysdioder är fruktansvärt tråkiga. Hur kan man göra en bild med bara 2 färger? Jag antar att du kan, men det är svalare om du har fler färger att välja mellan? höger. Så till RGB -lysdioderna vänder vi oss!

RGB -lysdioder är i princip 3 lysdioder i 1. De delar en gemensam katod eller anod (där strömmen går in eller ut) och de andra 3 "benen" är din rödgröna och blåa lysdiod. Med detta i åtanke, ja, vi kan också ladda upp dem! Varje RGB -lysdiod räknas för 3 vanliga lysdioder. På så sätt kan du fortfarande slå på och av dem alla individuellt och skapa coola färger att välja mellan! Den enda nackdelen är att detta gör saker mycket svårare eftersom du måste kartlägga/planera och leda 3 gånger så många lysdioder som du ursprungligen var tvungen att göra.

Jag gick för 42 RGB -lysdioder på 13 stift. Det är 126 vanliga lysdioder…..git antal. Låt mig berätta hur jag gjorde det.

Steg 2: Planering

Planera
Planera

Ja det här steget är ganska enkelt när du förstår teorin bakom vad du gör. Du skriver i princip ut alla dina lysdioder och planerar vilken stift som måste gå till vilket "ben" av vilken RGB LED så att du täcker alla dina alternativ. Jag bifogade en bild av min planering, använd den också (jag använde inte alla tillgängliga alternativ eftersom jag "bara" behövde 126 anslutningar av 156. Jag strukturerade det på det här sättet eftersom det skulle göra konstruktionen lite mer genomförbar).

Det är viktigt att få detta på papper, du behöver det senare för att koda. Om du inte skriver ut detta och förstör en anslutning fungerar inte koden för den lysdioden.

Steg 3: Koden

Okej, så om du redan har en idé om hur du kopplar 2 RGB -lysdioder så här på 2 stift: Fortsätt! Det är trevligt att kontrollera koden, men jag kan försäkra dig om att den fungerar! Jag försökte göra så mycket "ren" kodning som möjligt sätt).

Målet med koden är följande. Du börjar med LED1. Knapp 1 låter dig gå till nästa lysdiod men din tidigare lysdiod lyser. Med knapp 2 kan du gå tillbaka till föregående lysdiod, knapp 3 låter dig ändra färg. Den nuvarande valda lysdioden blinkar så att du kan se vilken lysdiod som är "vald".

För att uppnå detta arbetade jag med matriser. Jag skapade en LED -klass som använder den information du skrev ner under planeringsstadiet för att se vilken nål den behöver för att skapa en viss färg. Jag lägger dem alla i en array och jag låter arduinoen gå igenom LEDarrayen för att avgöra vilken som är på och genom färgarrayen för att bestämma vilken färg som väljs (färgen bestäms av omkopplaren som gör det möjligt att välja 7 färger). Blinkningen regleras av en if-sats.

Koden är bifogad, ladda ner och använd den gärna. Kommentarsektionen är öppen för frågor om det är något du inte förstår, men du kan i princip kopiera klistra in!

Steg 4: Den svåraste delen

Den svåraste delen
Den svåraste delen
Den svåraste delen
Den svåraste delen

Så nu har du en idé, en fungerande kod …. bara inte själva produkten. Detta är den överlägset mest fruktansvärda delen av detta projekt och jag skulle råda dig att inte ta det lätt. Kommer du ihåg alla de olika benen som alla slutar i samma stift? tja ja … du måste göra ditt nät av lysdioder, sedan ansluta varje ben till vartannat ben som måste gå till samma stift och sedan ansluta dem till nämnda stift. Detta är den överlägset svåraste delen och min blev inte heller 100% perfekt, om du är bra på att löda kan du ha en chans.

Jag satte i en rad RGB -lysdioder åt gången och kopplade en koppartråd till varje ben (jag rekommenderar koppartråd med hölje/inslagning. Min var för tjock och det orsakade mig mycket sorg). Var försiktig så att inga ben eller trådar vidrör varandra! sedan "helt enkelt" ansluta alla ledningar som behöver gå till samma stift och sedan ansluta dem till ett motstånd och ansluta det till nämnda stift. Jag är säker på att det finns ett "säkrare" sätt att göra detta, men jag är säker på att en skulle drunkna i tråd medan du försöker och ärligt … din brödbräda är bara så stor!

(jag lade till en ritning som kan förenkla det här steget. Den berättar vilket ben som måste gå till vilken pin för att följa min kod exakt.)

Det tog mig hela fyra dagars arbete, men nu kan varje lysdiod (minus 3-4 som jag skruvade) tändas individuellt!

då är det bara att koppla in några knappar och presto! Din egen Pixel Art -målning!

Den här killen gjorde också ett exempel på kabeldragning, det är riktigt användbart

Steg 5: Gloat. Absolut Gloat

Om du är en förrätt (som jag) och du lyckades göra något som liknar detta råttnät av trådar och det tänds; glo. Du gjorde riktigt bra!

Om du har några frågor/kommentarer bara lämna dem nedan, jag ska försöka hjälpa om jag kan!

Rekommenderad: