Arduino LED Strip spjälsäng/säng natten ljus (5 / 5 steg)

Steg 5: programvara

LED Strip från Radio Shack kommer med en länk till Provningsmetod för Arduino. Detta utgjorde grunden för den bifogade programmet, men den Radio Shack versionen använder en hårdkodad uppsättning mönster och ändra dessa mönster är en hel del arbete för lite resultat.

Jag skapade en ny metod för att köra remsan som tar två komponenter:

  • färger - Array av RBG (röd blå grön) färger
  • Illum - matris med magnituder/intensitet (0,0 = 0% = OFF, 1,0 = 100% = FULL ON)

Detta kan du skapa ett mer dynamiskt omfång av mönster snabbt utan att behöva ange så mycket information varje sekvens. Bara multiplicera varje komponent av RBG hex värdet av omfattningen och köra som remsan (göras i funktionen light_strip()).

Kort avledning i hur låga LED koden fungerar

Koden för att faktiskt köra bitar till LED strip i send_strip() funktion behöver inte ändras, men om du är nyfiken på vad som händer med kod att köra LED, Läs vidare...

Här är länk till Radioshack supportfiler för TriColor band som innehåller databladet för LED Strip. Denna remsa fungerar på TM1803 protokollet vilket är 24 bitar att definiera en färg (8 bitar röd, 8 bitar blå, 8 bitar grön). Ett segment av remsan mottar 24 bitar, nästa kommer att passera över segmentet och flytta till nästa segment. På detta sätt segmentet enhet första 24 bitar 1, de nästa 24 bitarna är för segment 2, osv...

För att faktiskt överföra dessa bitar, kommer du se att köra 0 måste du ange PIN-koden data till hög (logiska 1) för 0,78 mikrosekunder och ange sedan data stift till låg (logisk 0) för 1,55 mikrosekunder. För att köra lite 1 behöver du motsatt tidpunkten, högt för 1,55 mikrosekunder och låg för 0,78 mikrosekunder.

Så till exempel om du ville skicka över ett värde av 0110 i binärt, du skulle faktiskt behöva överföra

HÖG för 0.78us, låg för 1.55us, hög för 1.55us låg för 0.78us, hög för 1.55us, låg för 0.78us, hög för 0.78us, låg för 1.55us

Så hur uppnås detta i koden i funktionen send_strip()?

Koden loopar över alla 24 bitar, och baserat på om varje bit är 1 eller 0 det utför en annan. Låt oss ta 1 exempel, koden körs först DATA_1 som anger utgångsstiftet till hög, sedan utför 28 nr-åtgärd (nop) monteringsanvisningar. Arduino Uno har en klockfrekvens på 16 MHz, vilket innebär att varje instruktion är att fylla på en ungefärlig 62,5 nanosekund tid. De kodade 28 nr-ops träder alltså 28 gånger 62,5 nanosekunder att slutföra, vilket är 1750 nanosekunder = 1,75 mikrosekunder. Detta är lite över 1.55us tiden vi letar efter, men är okej på grund av DATA_1 operationen inte slutföras omedelbart av den tid den första nop är drabbade, så i princip det första par nop inte tillgodoräknas tiden en signalen är hög. För att utveckla kod såhär idealiskt använder du en oscilliscope att lägga till/ta bort nop uttalanden, och mäta den resulterande tiden på oscilliscope, tills du träffar det 1.55us sweet spot i databladet.

Lyckligtvis har de flesta LED strips Arduino bibliotek som har redan räknat ut för användaren, men det är bra att veta hur koden uppnår tidpunkten i databladet.

Avslutande tankar

Jag har kommenterat koden tillräckligt bra för att jag inte gå in mer detaljerna om hur det fungerar, men som jag nämnde tidigare, jag tror bara idén att skapa mer intressanta ljusmönster skulle vara ett bra sätt att lära sig några enkla kodning och felsökning färdigheter.

Det totala flödet av programmet är:

  • Boot Arduino
  • Vänta på Motion
  • Rita en regnbåge
  • Dra 20 fler mönster
  • Starta om programmet

Lycka till och njut! Om du gillade Instructable, skulle jag älska din röst för kodade skapa tävlingen.

Se Steg
Relaterade Ämnen

Arduino LED Strip termometer

Jag hade nyligen köpt en LED strip från Radio Shack (del #: 2760339) som är baserad på TM1803 chipset, och letade efter ett projekt för att använda dem på.Jag blev inspirerad av en Gro-ägg baby rumstermometer jag hade, som ändrar färg det glöder base...

LED Strip bakgrundsbelyst duk konst

Vill du piffa upp ditt hem eller rum med en intressant konstverk? Vill lägga någon unik belysning till ditt utrymme? Med en LED strip, en Arduino, duk och färg, kan du skapa din egen väggkonst det inte är bara unik under dagen utan även på natten.Ele...

Låter reaktiva LED Strip

kan det finnas 9 steg men jag lovar här är snabb och enkel!I detta Instructable kommer jag att visa dig hur du skapar en ljus reaktiva LED-system. I detta klipp, jag använde en enda färg LED remsor, men du du kan använda en enda LED, flera lysdioder...

Hur man styr en RGB LED Strip - Arduino handledning

I denna tutorial använder vi en remsa med 8 RGB lysdioder med Arduino uno styrelsen. Vi kommer använda den Adafruit NeoPixel bibliotek för att ändra färg på varje ledde.Låt oss komma igång!Steg 1: Vad du behöverFör detta projekt behöver du:Arduino un...

Färgskiftande box hyllor med LED-strips och Arduino

Obs: detta instructable är en del av en tävling fram till 7 juli. Om du gillar det verkligen, kan du rösta på det övre högra hörnet.Detta började som jag behövde en extra lagringsutrymme nästa och över ett skrivbord, men jag ville ge det några specie...

Enkel LED strip parti belysning genom att använda arduino

Inspirerad avprojekt av GreatScottLabJag kunde inte hitta alla dessa delar så jag beställde en broms ut styrelsen för MSGEQ7 chip och använde den i min bygga. Det har också 3 MOSFETS för RGB led strip.MSGEQ7 är en 7 band grafisk equalizer det delar u...

ArduDroid: En enkel 2-sätt Bluetooth-baserade Android Controller för Arduino RGB led strip

INTRODUKTIONFÅ det på google PLAY "ardudroid" appARDUDROID (tidigare Andruino) är en enkel Android app som hjälper dig att kontrollera stiften i Arduino Uno (eller klon) från din Android-telefon trådlöst. Det är både en Android app och en Arduin...

Styr Ikea Dioder LED Strip med Arduino + 16 X PWM LED Fader styrelsen

vi kommer att visa hur man binder upp och styra en Ikea DIODER LED strip med en arduino, med en 16 X PWM LED Fader styrelse som mellansteg.16 X PWM styrelsen är i grunden en massa mosfets under PWM kontroll (strömbrytare som slår på och av riktigt sn...

RGB LED Strip krets med Arduino

Detta Instructable omfattar montering av en krets kan PWM-ning (puls bredd modulerande) en 9-12v RGB LED strip och programmering en Arduino att cykla genom en rad olika färger. Jag kommer att diskutera hur man montera en transistor till en kylfläns &...

Små LED Strip Controller med LED Amp och Arduino Nano

En liten LED strip styrenhet med en LED-indikator förstärkare och en Arduino Nano. Perfekt för att göra anpassad belysning mönster och/eller kontrollera lysdiodsrand från datorn. Utfärda utegångsförbud för Mosfet från förstärkaren används för att sty...

En nätverksansluten LED Strip Controller med Arduino och Android

jag är fascinerande från belysningen verkställer sedan barn och en gång hittade på Ebay en billigt multicolor LED strip har jag börjat titta hur kontroll det, letar efter en Ethernet aktiverat kontroll som gör remsorna en uppsättning nätverk objekt,...

Arduino kontrollerad LED Strip Holiday belysning

med de priserna sjunker på LED strip belysning och ställa in Permanent Holiday belysning blir mer genomförbart varje dag. En Arduino gör en stor DIY belysning styrenhet.För detta projekt använde jag några analoga RGB LED remsor med en mycket enkel Ar...

Arduino kontrollerad RGB LED strip för vardagsrummet

Tanken bakom denna lilla projekt var att ha lite ganska indirekta humör ljus i vardagsrummet. Den styrs av openHAB servern (det projektet är fortfarande på listan som ska läggas till denna webbplats) installerat på en Raspberry Pi. Naturligtvis, kan...

LED Strip styrenhet med LED Amp + Arduino

Glöm DIY LED drivers med mosfet transistorer! Det är extremt enkelt att köra hög driv LED-strips med Arduino till låg kostnad utan att gå in för mycket kretsar. Hemligheten är billigt mini LED förstärkare.Detta instructable är bara om körning LED str...

LED Strip maneter kostym med Arduino & LPD8806 ledde remsor

det hela började när jag såg en BBC-dokumentär 2002 om oceanens djupa vatten. Det var en biolimunescent Manet i dokumentären, antagligen av arten "salper" som tog tag i min uppmärksamhet så under senare år bestämde jag mig för att använda den so...

Avlägsen kontrollerade Arduino resultattavlan använder LED Strips

RESULTATTAVLOR är DYRA! Inte bara att, mycket stor 7-segment LED-lampor är dyra, alltför! Resultattavlor kan ge ditt lag en känsla av legitimitet. Efter sett på resultattavlor över hela internet, tänkte jag, Hej, jag behöver inte köpa en resultattavl...

Arduino RGB LED Strip Controller

Jag var nyfiken på använda RGB LED Strip, så jag fick en och beslöt att göra en liten kontroller för att se vad jag kan göra med den... så här är det.Om du har några frågor, kommentarer, konstruktiv kritik... tveka inte att skriva :)Om du gillar min...

ARDUINO kontrollerade 12v RGB LED STRIP

Ungefär ett år sedan upptäckte jag RGB LED strips på Amazon. Att vara strax före starten av musik festivalen säsongen, gick jag naturligtvis direkt att arbeta att göra crazy ljusa blinkande festival leksaker. Icke-adresserbara remsorna är mestadels P...

Android kontrollerad LED Strip (IOIO drivs)

eller titta i HDAndroid-telefon kontrollerar en LED strip gömd i vasen med en IOIO styrelse med Bluetooth. I det här exemplet kör Android telefonen en app som erhåller färgvärden från onboard kameran och sedan i sin tur matchar dessa färger till LED...