Innholdsfortegnelse:

LED Audio Visual Display: 8 trinn
LED Audio Visual Display: 8 trinn

Video: LED Audio Visual Display: 8 trinn

Video: LED Audio Visual Display: 8 trinn
Video: Стоит БРАТЬ ВСЕМ?? И чем хорош радиоприемник ATS25X1 подробный обзор 2024, Juli
Anonim
Image
Image
LED audiovisuelt display
LED audiovisuelt display
LED audiovisuelt display
LED audiovisuelt display

Av beckslelandsimpsonFølg Mer av forfatteren:

Start en hage fra bunnen av
Start en hage fra bunnen av
Start en hage fra bunnen av
Start en hage fra bunnen av

[ADVARSEL: BLINKENDE LYS I VIDEO]

RGB LED -matriser er et vanlig prosjekt for hobbyfolk som ønsker å eksperimentere med lysdisplayer, men ofte enten er dyre eller begrensende i størrelse og konfigurasjon. Målet med dette prosjektet var å lage en omkonfigurerbar skjerm som kunne fungere som sitt eget frittstående stykke eller som en interaktiv skjerm som styres av en konsoll ved hjelp av et utvalg av joysticks og knapper. Displayet kan arrangeres i en rekke oppsett fra en matriseformasjon til en mer statisk dekorativ lineær stripe.

Ved å koble til et utvalg lydsensorer, knapper og joysticks kan skjermen byttes mellom interaktive og automatiske moduser, med konfigurerbare farger, effekter, moduser, hastigheter, lysstyrke og mønstre.

Brukere kan bytte mellom moduser og konfigurasjoner ved å bruke MODE og CONFIG -knappene, ved hjelp av joysticken og SELECT -knappen for å gjøre sine valg. Brukerens nåværende valg vises på 16x2 LCD -skjermen i midten av konsollen.

Dette prosjektet involverte en LED -stripe bestående av 250 lysdioder, men koden kan enkelt endres for å tillate en stripe av hvilken som helst størrelse.

Modi

  • Spill: Spill kan spilles ved hjelp av led -matrisen som skjerm
  • Støy: Lysdioder lyser i henhold til miljøstøyvolum og frekvens.
  • Farge: Lysdioder som lys som viser en forhåndsdefinert fargepalett.
  • Rain: Falling Rain Light Effects

Moduskonfigurasjoner

  • Farge - Angir fargepaletten til stripen

    • Pride Flag - Rainbow
    • Transflagg - blått, rosa, hvitt
    • Brann - rød, oransje, gul
    • Lys - hvit
  • Stil - Angir effekt for stripevisning

    • Blokkering - Hvis fargen på lysdiodene er i modus, forblir fargene på lysdiodene konstante, i støy i modus fører det til at alle lysdioder settes til den siste støyfargeverdien, noe som skaper en blinkende effekt.
    • Shimmer - Alternative lysdioder svinger, blekner mellom på og av.
    • Spor - Hvis den er i modusfarge, beveger fargeskjemaet for lysdiodene seg over stripen. I modusstøy får det støyfargene til å bevege seg over stripen som en bølge i bevegelse.
  • Regneffekt - Hvordan regnmønstrene genereres

    • Tilfeldig - Nye regnstriper plasseres tilfeldig, og mønsteret varierer.
    • Konstant - Regnmønsteret gjentar seg.
  • Spill - Hvilket spill kan du spille på matrisen

    Snake - Viva la Nokia, bare spillbar når stripen er i matrisekonfigurasjon

  • Effektfarge - Hvilken fargekilde bruker effektene?

    • Fargesett - Effekter (f.eks. Regn) tar en tilfeldig farge fra den angitte fargepaletten.
    • Støyfrekvens - Effekter ved generering tar fargen som tilsvarer gjeldende støyfrekvens.
    • Noise Vol - Effekter når de genereres tar fargen som tilsvarer gjeldende støynivå.
  • Størrelse - Hvordan er displayet arrangert?

    • 250x1 stripe
    • 50x5 matrise
    • 25x10 matrise

Hastighet og lysstyrke

Styres via dreibare analoge potensiometre, for å endre lysstyrken på LED -ene og hastigheten som skjermen oppdaterer. Dette påvirker i stor grad intensiteten til lyseffektene og vanskeligheten med spillene.

Strobe og LED -status

Konsollens øvre venstre bryter lar lysdiodene slås av, som et alternativ for når skjermen konfigureres. Nedre venstre bryter slår på Strobe -effekten og blinker på displayet med den innstilte hastigheten.

Trinn 1: Krav

Komponenter:

  • BreadBoard ~ £ 5
  • StripBoard ~ £ 10 for sett 5
  • Arduino Mega (enhver klon vil gjøre) ~ £ 20
  • 2x 1M potensiometermotstander
  • 300 RGB individuelt adresserbar stripe ~ £ 30
  • Pin Headers ~ £ 5
  • 10x 10K, 1x 300 motstander
  • I2C LCD -modul ~ £ 5
  • 4-bryter joystick ~ £ 10
  • Lydsensor ~ £ 5
  • 1x 1μF, 1x 10μF, 1x 100nF kondensatorer
  • 3x (øyeblikkelige) knapper. Anbefalinger: Arcade, Mini ~ £ 3
  • 2x brytere. Anbefalinger: Toggle ~ £ 5
  • Power Jack
  • Boks ~ 20x20x15cm - Kartong er enklest, men hvis du har tilgang til en laserskjærer, gjør du det.

Mine styrespaker/knapp -anbefalinger var rent stilistiske valg, etter et arkadetema; midlertidige brytere av enhver art vil gjøre. Du kan få billigere styrespaker som rapporterer posisjonen deres via analoge signaler produsert ved bruk av 2 potensiometre (en for hver akse). Hvis du er forberedt på å endre koden, kan du bruke tommelfinger joysticks som slike.

Mens jeg brukte en minimal prosentandel av Arduino Megas I/O -pinnene, ble den valgt for sin større dynamikk og programminnestørrelse, som Arduino Uno viste seg å være utilstrekkelig.

LEDStrip valg

LEDstripen jeg brukte var en 300 RGB individuelt adresserbar WS2813 LED fleksibel stripe. en oppgradert versjon av WS2812, Dette formatet, mens det er litt dyrere, forbedrer WS2812 med dobbel signaloverføring, noe som betyr at hvis en LED slutter å fungere, vil resten av stripen etter at den fortsatt fungerer. Som sådan har den 4 pinner: 5V, GND, DI (datainngang) og BI (backup -inngang).

Total kostnad: ~ £ 100

Utstyr:

  • Loddejern + loddetinn
  • Multimeter (valgfritt, men anbefalt)
  • Wire cutters og strippere
  • Wire: helst enkeltkjerne, fleksibel (LOTS)
  • Skalpell
  • Linjal/blyanter
  • 1x 5V strømforsyning
  • Manuelle skrutrekkere
  • Skriver A til B USB -kabel

Programvare:

Arduino IDE

Ferdigheter:

  • Lodding
  • Noe Arduino -opplevelse er absolutt nødvendig

Trinn 2: Skjematisk og kode

Skjematisk og kode
Skjematisk og kode
Skjematisk og kode
Skjematisk og kode
Skjematisk og kode
Skjematisk og kode

Dette prosjektet besto av 2 potensiometre, 1 lydsensor, 1 LED -stripe, 3 øyeblikkelige knapper, 1 joystick (4 øyeblikkelige knapper), 1 LCD -modul og 2 brytere.

Jeg anbefaler å sørge for at du forstår ledningene og setter opp de grunnleggende kretsene på et brødbrett, før du lodder elektronikken til tavlen i neste trinn for lang holdbarhet. Du bør i det minste kunne koble de forskjellige Arduino -pinnene til standard HIGH (5V)/LOW (GND) verdier og eksperimentere med forskjellige originale innstillinger for LEDStrip i koden (dette er merket - se kodetrinn) for å se noen av de foreløpige lyseffektene.

Lydkrets

Lydkretsen diskuteres i neste trinn og er bare nødvendig hvis du ønsker lydeffekter, ellers kan du ganske enkelt koble de analoge AUDIO -inngangspinnene A0, A1 til GND via en nedtrekksmotstand (~ 300 Ohm). Denne kretsen søker å trekke ut den målte lydens frekvens og volum, og gir to forskjellige inngangsverdier for å kontrollere lydvisualiseringene, f.eks. høyde (volum amplitude) og farge (frekvens).

LED -stripe

Jeg har vedlagt databladet for WS2813 -stripen, denne har den ideelle ledningen. BI -pinnen kan trekkes ned gjennom en motstand til bakken, og en kondensator bør kobles mellom GND og +5V og plasseres nær stripen. Dette jevner ut plutselige endringer i stripens nåværende etterspørsel, for eksempel hvis det er en plutselig stor økning når alle lysdiodene slås på, kan kondensatoren ved hjelp av den lagrede ladningen levere denne raskere enn Arduino, noe som reduserer belastningen på platens komponenter.

Strimmelen styres ved hjelp av FASTLED -biblioteket (se kodetrinn for flere detaljer) og kobles til pin 5.

LCD -modul

LCD -modulen jeg har anbefalt bruker en intern krets slik at den bare krever 2 inngangspinner, dette reduserer kompleksiteten ved å lodde den inn i kretsen sterkt. Den er koblet til SCL, SDA -pinnene.

Potensiometre

Potensiometre er variable motstander, som lar deg kontrollere spenningen målt ved den interne pinnen, Arduino kan lese dette som en analog verdi. Jeg brukte disse som en interaktiv måte å manuelt kontrollere hastigheten og lysstyrken på skjermen, og de er koblet til analoge inngangspinner: A3, A2.

Ekstern strøm

For mindre prosjekter (<20 lysdioder) kan Arduino bare drives via USB, men for denne større brukskassen (250 lysdioder) er det nødvendig med en ekstern +5V strømkilde på grunn av den store strømbehovet. Jeg drev Arduino gjennom en ekstern kontakt som er koblet til Arduino's GND og VIN. Når den bare drives via USB, blir fargene på lysdiodene forvrengt, og LCD -skjermen lyser ikke helt.

Knapper/brytere/joystick

I nøytral posisjon trekkes knappene INPUT -pinner ned til GND og Arduino leser digital LOW, men når den trykkes, kobles pinnene til +5V lesing digital HIGH. Se her for et typisk Arduino -knappeksempel. Disse leseverdiene kan brukes som betingede boolske verdier for programmet, noe som forårsaker utførelse av forskjellige kodesegmenter. Knappene/bryterne er koblet til følgende digitale inngangspinner: Mode/Config: 3/2. Joystick L/R/U/D: 10/11/13/12. Velg: 9.

Trinn 3: Lydeffekter

Lydeffekter
Lydeffekter
Lydeffekter
Lydeffekter
Lydeffekter
Lydeffekter

Den mest kompliserte delen av kretsen var Audio Voltage - Frequency Converter. Jeg fulgte skjematikken vist ovenfor (Se her for mer info). Noen endringer av kondensatoren, motstandsverdier kan være nødvendige avhengig av styrken på lydsignalet. Eksemplet gitt, brukte et vekslende 12V signal, jeg fant gode resultater ved å bruke 3,3V som forsyningsspenning og mate 5V inn i lydsensoren.

De to signalene jeg hentet ut fra denne kretsen var frekvensen (VOUT) og volumet (V2 +).

Nyttige notater

Større kondensatorer (terskel omtrent rundt 1µF, ikke -keramisk) er polarisert, disse inkluderer elektrolytiske kondensatorer, strøm flyter i dem fra + til - side. På diagrammet har jeg notert retningen de skal ordnes.

Transistoren som brukes i denne kretsen er PNP, disse transistorene lar strøm strømme fra senderen til kollektoren når en negativ polaritet påføres basen i forhold til emitteren.

Tristhet #1

Opprinnelig prøvde jeg å mate lyden inn i kretsen ved hjelp av en lydkontakt, drømmen var å koble lyden direkte fra telefonen min. Dessverre virket signalet dette produserte for svakt, og etter en uke med sliter med å få det til å fungere, benyttet jeg meg av å bruke en lydsensormodul. Jeg er sikker på at det er forsterkningsteknikker jeg kunne ha brukt, og dette er definitivt hovedproblemet med prosjektet mitt jeg vil prøve å rette opp i fremtiden.

Trinn 4: Konsolldesign og -oppretting

Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse
Konsolldesign og opprettelse

Konsolldesignet mitt var inspirert av gamle skolearkader, med retro joystick, knapper og vippebrytere. Jeg konstruerte den ved hjelp av en gammel papphodetelefonkasse, (hamstring har sin bruk); Dette var svært effektivt ettersom esken hadde et innvendig fôr av skum, så når den først var snudd på innsiden, ga den en fin polert effekt.

  1. Tegn den generelle utformingen av konsollen du ønsker.
  2. Mål ut og merk posisjonene til de forskjellige komponentene på toppen av esken. Sørg for at du tar de indre målingene på knappene/bryterne/joystickene, slik at du vil at hullene skal være store nok til å presse komponentene gjennom, men at ytterkantene skal fange seg på pappet. Jeg anbefaler å bruke en skalpell for å kutte disse hullene, men skarp saks i kombinasjon med skrutrekkere for sirkulære hull bør gjøre susen. Klipp sakte, prøv å passe komponenten gjennom og gradvis øke størrelsene, gjør en komponent om gangen.
  3. For de større komponentene som joysticken og LCD -displayet anbefaler jeg å skru noen muttere/bolter gjennom konsollplaten for å holde dem godt på plass.
  4. Skjær tre hull nederst på baksiden av konsollen, disse vil være for strøminngang, USB -inngang for valgfritt å programmere Arduino- og LEDStrip -utgangskontakten.

Topp tips

Jeg anbefaler å lodde hver av metallkomponentene før komponentene legges i konsollen for enkel tilgang og for å redusere faren for å brenne papp.

Trinn 5: Loddeskjema

Loddeskjema
Loddeskjema
Loddeskjema
Loddeskjema
Loddeskjema
Loddeskjema
Loddeskjema
Loddeskjema

Du trenger et stykke stripebrett på minst 25 rader med 20 cols i størrelse. Imidlertid, ved å velge en som er større, kan du blå-kle din Micro-Controller på Stripboard ved siden av ledningene, dette betyr at de eneste ikke-stabile forbindelsene vil være de mellom Stripboard og komponentene festet til konsolloverflaten. Det som er avgjørende i hvert trinn i denne prosessen er om mulig å redusere belastningen noen ledninger kan være under for å sikre et langvarig sluttprodukt.

Jeg brukte pinnehoder for å organisere ledningene rent i grupper og koble dem til Arduino på en måte som lett kan løsnes for feilsøking.

Jeg støttet delvis Stripboard som holdt den tyngste kretsen ved å bruke en snor/ledning for å koble den til pappkassens indre vegg.

Hovedstrøm- og LEDStrip -ledningene som gikk ut av konsollen, hadde mellomtrådskontakter som kunne løsnes, dette betydde at ledningene kunne trees gjennom hull i bunnen av konsollen og fortsatt la boksen åpne.

Loddetips

En klemme for å holde ledningene/stripboardene under lodding vil gjøre prosessen mye enklere. Led alltid hver ledning før du prøver å koble dem til.

Oppsettstips

Alle ledninger (går mot Arduinos -pinnene) er plassert på kanten av brettet.

Hvis det er mulig, bruker du forskjellige fargede ledninger i nærliggende rader for å unngå forvirring av ledninger.

GND, +3.3V, +5.5V bør alltid plasseres på kantradene, for enkel identifisering, plassering av GND og +3.3/5V på motsatte kanter forhindrer potensiell kortslutning, men personlig brydde jeg meg ikke og plasserte dem i topp 3 rader. Konsolloppsettet kan delvis bestemme rekkefølgen på trådradene, komponenter i nærheten kart til nærliggende rader, PIN -numrene i Arduino IDE kan alltid skrives om.

Ved å lodde alle +5V pinnene på knappene/motstandene sammen på baksiden av konsollen til hverandre i en tusenfryd kjede, trengs bare en +5V ledning mellom Stripboard og konsolloverdelen, noe som reduserer antallet sårbare forbindelsestråder massivt. For eksempel for de 4 bryterne på joysticken koblet jeg alle 5V -terminalene sammen.

Vær sjenerøs i lengden på ledninger som strekker seg mellom Stripboard og konsoll, langt lettere å redusere senere, enn å prøve å øke.

Hvis mulig, bruk fleksibel ledning mellom Stripboard og konsollkomponenter, noe som gjør det lettere å åpne og feilsøke konsollen senere.

Trinn 6: Utvidelse 1: LED Matrix

Utvidelse 1: LED Matrix
Utvidelse 1: LED Matrix
Utvidelse 1: LED Matrix
Utvidelse 1: LED Matrix
Utvidelse 1: LED Matrix
Utvidelse 1: LED Matrix

Ved å koble LED -stripen som den er til konsollen, kan størstedelen av regn-, farge-, strobe- og støyeffekter vises, men visualiseringsskjemaet er begrenset. Koden gjør at skjermen kan konfigureres ytterligere til 250x1, 50x5 og 25x10 arrangementer, dette gir mulighet for matrisevisualiseringer. Støy kan vises som bølger i bevegelse, spill kan spilles på matrisen som en skjerm med lav oppløsning. Valget av en individuell stripelengde på 25 piksler var personlig, og du kan velge dette selv og sette det i koden. Det jeg ønsket fremfor alt var fleksibilitet, slik at uansett hvilken grafisk effekt jeg bestemte meg for å kode på et senere tidspunkt, kunne jeg montere HW i det nødvendige arrangementet.

Tristhet #2

Jeg hadde en drøm, og det var å bruke et ledende blekk til å male kretsforbindelser på papp, som kunne presses mot de tilstøtende endene av LED -stripene.

Fordeler:

  1. Ser superkult ut, og jeg kan bruke ganske forskjellige fargede papp
  2. Jeg får tegne kretser
  3. Ultimate tilpasse, tenk på et nytt arrangement, bare tegn det.

Ulemper:

  1. Det fungerte ikke.
  2. Ikke engang litt.
  3. Hvorfor ville du være i stand til å tegne en nøyaktig nok kabling for hånden og deretter bruke et presist og konsekvent nok trykk på et komprimerbart materiale som papp?

Jeg hevder at det hadde vært veldig kult hvis det hadde fungert, og jeg angrer bare delvis på de 2 timene som er tildelt dette arbeidet.

Faktisk løsning

Jeg bestemte meg for å bruke et system med pluggbare mannlige/kvinnelige overskrifter, lik de som ble brukt for å koble Stripboard -ledningene til Arduino. Ved å plassere M/F alternativt i hver ende, kan de enkelte stripene eventuelt plugges inn i hverandre for å gjenskape den originale, uklippte stripen. Eller mellomliggende fleksible ledningskontakter kan brukes slik at strimler kan brettes tilbake på seg selv for å danne en matrise eller en annen romlig konfigurasjon.

  1. Klipp Led Strip i segmenter, jeg valgte 10 strimler med lengde 25, slik at 50 LED -er ledige til et annet prosjekt
  2. Lodd hver av kobberforbindelsene i hver ende av stripen. Vær forsiktig så du ikke smelter plasten. Hvis du kjøpte en med vanntett belegg, må du kutte en liten toppdel i hver ende.
  3. Min LEDStrip hadde 4 kontakter i hver ende, og 10 strimler, så jeg kuttet 10 hanner, 10 hunnhoder segmenter hver med lengde 4. For hver stripe loddet jeg hannen til den ene enden og hunnen til den andre. Sørg for at de samme endene er hann/hunn for hver stripe, dette vil tillate deg å koble dem til en tusenfryd kjede som mote.
  4. Test tilkoblingene ved å koble de 10 strimlene sammen, korriger med mer lodding om nødvendig.
  5. Vi trenger nå ledningskontaktene. Disse vil bli brukt til å koble de enkelte stripene sammen til fleksible arrangementer, enten det er å oppnå avstand fra hverandre eller montere en matrise. Lengden deres vil avgjøre hvor langt fra hverandre du kan plassere hver sammenhengende seksjon av LEDStrip; kutt ledningen litt lengre enn du vil ha det, da en del lengde går tapt når du kobler ledningene. Klipp ytterligere 10 mannlige, 10 kvinnelige overskriftssegmenter i lengde 4. Klipp 40 stykker wire (ideelt flerfarget, fleksibel), strip hver ende og forhåndslodd.
  6. For å opprette en kablet tilkobling, ta først fire ledninger (ideelt forskjellige farger for å gjøre det mulig å identifisere hvilken ledning som kobles til hvilken pinne) og lodde dem til en mannlig overskrift. Du vil da flette disse 4 ledningene, dette holder ledningene rene. Når flettet (tilstrekkelig er kvaliteten vi leter etter her), kan du lodde de andre endene til hunkontakten. Sørg for at de samme ledningene er loddet til de samme pinnene. Hvis hele tråden din er i samme farge, gjør du markeringer eller bruker en multimeter for å avgjøre hvilken ledning som er, ettersom det ikke er klart etter fletting. Gjenta denne prosessen for hver kablet tilkobling du trenger.
  7. Test tilkoblingene igjen, ved å koble alle stripene med de kablede tilkoblingene, leke med innstillingen for konsollstørrelse og ordne LEDStrips i forskjellige matriseformasjoner. Det er bedre å bryte og identifisere svake forbindelser tidligere enn senere.

Du har nå 10 individuelle strimler, som kan kobles direkte til hverandre for å gjenskape en lang enkelt stripe, eller omorganisere til matriseformasjoner.

Trinn 7: Konfigurasjon og oppsett

Konfigurasjon og oppsett
Konfigurasjon og oppsett
Konfigurasjon og oppsett
Konfigurasjon og oppsett

Den siste versjonen kan alltid bli funnet på github -en min: rs6713/leddisplay/, gaffel den/last ned og spill deg rundt.

Installer Arduino IDE

I den mirakuløse hendelsen fullførte du på en eller annen måte denne opplæringen uten tidligere Arduino -opplevelse, Arduino IDE kan lastes ned her. Bare installer og åpne koden i IDE, plugg kortet via skriverkabelen til datamaskinen. (Du må kanskje installere en driver for at datamaskinen skal gjenkjenne Arduino Board, men dette bør skje automatisk første gang du kobler en Arduino til datamaskinen). Velg brettetype, og velg den aktive COMM -porten Arduino er koblet til.

Konfigurasjon

For å endre de forskjellige innstillingene på skjermen trenger du ikke sofistikert programmeringskunnskap.

Områder i programmet som er utsatt for konfigurasjon er merket med /*** CONFIGURE ME *** /

Du kan enkelt endre/konfigurere følgende områder av programmet:

  • Pinnene komponentene er koblet til
  • Størrelsen på de enkelte LEDStrips
  • Totalt antall lysdioder i stripene totalt
  • Modusene du vil tillate for programmet
  • Lengden på regndråpene for regneffekten.

Pinnene og totalt antall lysdioder er avgjørende for å få koden til å fungere med din versjon av den elektroniske kretsen som ble diskutert i de foregående trinnene. Det er også nyttig slik at du kan teste forskjellige visningsmoduser ved å sette dem under initialisering av kode i stedet for å måtte konstruere og koble til alle joystick-, modus- og konfigurasjonsknappene.

Laste opp

Når du har angitt riktige PIN -numre for komponentene, stripestørrelse og antall lysdioder, kan du laste opp programmet til Arduino ved å trykke last opp. Forhåpentligvis har du allerede gjort dette på dette tidspunktet som en selvfølge under testing. Koble til den eksterne 5V strømforsyningen, og du bør være i gang.

Feilsøking

Hvis LEDStrip/konsollen ikke fungerer som forventet, er det en rekke mulige årsaker.

LEDStrip er helt/delvis slått av:

  • Kontroller at LEDStrip -bryteren er slått på,
  • Hvis du forlenget stripen og de siste endesegmentene på LEDStrip ikke lyser, skyldes dette sannsynligvis en feil tilkobling. Kontroller tilkoblingene dine for tørre skjøter og resolder, prøv å bytte rekkefølgen på stripene, og hvis det er en kablet tilkobling, prøv å bytte en kablet tilkobling for en annen.

LCD -skjermens lysstyrke er lav/ LEDStrip -farger er feil:

  • Kontroller at den eksterne strømtilkoblingen er på/riktig tilkoblet. Når strømmen er lav, lyser ikke alle fargene på RGB -lysdiodene konsekvent og LCD -skjermen sliter med å belyse seg selv.
  • Fargene kan også være feil hvis størrelseskonfigurasjonen f.eks. 250x1 av programmet gjenspeiler ikke det virkelige LED -arrangementet.
  • I verste fall kan du endre programmet for å redusere antall opplyste strimler.

Tilfeldig fryktlighet

Som en siste utvei, kommenterte Serial.prints har blitt etterlatt i hele koden, uten å kommentere dem vil gi deg tilbakemelding på ulike komponent- og indre programtilstander.

En sannsynlig situasjon er at en inngang som skal være jordet, har blitt koblet fra og blir liggende flytende, dette vil skape falske hendelsesutløsere (tilfeldig oscillerende pinlesing mellom FALSK og SANN) og uforutsigbar programatferd.

Programendringer

Ytterligere områder med mulige endringer er merket med /** CHANGE ME ** /

Disse områdene er gode eksempler der du kan legge til dine egne tilpasninger:

  • Legg til nye fargepalettalternativer
  • Legg til nye effekter f.eks. glitre
  • Legg til nye spill

Dette er bare forslag. Du kan gjerne endre koden slik du ønsker.

Trinn 8: Utvidelse 2: OpenProcessing

Utvidelse 2: OpenProcessing
Utvidelse 2: OpenProcessing

** I skrivende stund forblir denne funksjonen uimplementert, så dette trinnet er ment å markere fremtidige planer/manifestasjoner av dette prosjektet og å markere betydningen av å utvide LEDStrip for å tillate matriseskjermer. **

En av grunnene til at jeg var så spent på at utvidelse av LEDStrip tillot at den ble arrangert som en matrise, var at det å ha en skjerm viser mange muligheter for å kartlegge 2D -visualiseringer fra annen programvare til Arduino HW.

OpenProcessing er et fellesskap av 2D interaktiv grafikk basert på Processing -språket. Ved å bruke en enkel seriell utskriftsfunksjon, kan utseendet til hver ramme overføres piksel for piksel til Arduino. Derfor kan det være en fremtidig modus for konsollen, der Arduino bare lytter til seriell tilkobling og bare oppdaterer LED Matrix ramme for ramme i henhold til animasjonen spesifisert av behandlingsprogrammet. Dette har mange fordeler ved at Processing er et språk som er spesialisert på billedkunsten og er lett å lære, noe som gjør det veldig raskt å lage komplekse kunstvisualiseringer. Det flytter også minnet og behandlingskompleksiteten til datamaskinen din med den relativt begrensede minne-/prosessorkraftbegrensede Arduino som bare må håndtere informasjonen som sendes over serienummeret.

Ved å outsource LED-displayvisualiseringene dine til et eksisterende bibliotek med 2D grafiske effekter, er mulighetene uendelige. Sjekk ut openprocessing.org -katalogen for inspirasjon.

Anbefalt: