Arduino LED-Strip wieg/Bed nachtlampje (5 / 5 stap)

Stap 5: Software

De LED-Strip van Radio Shack wordt geleverd met een link naar het testen van de code voor de Arduino. Dit vormde de basis van het bijgevoegde programma, maar de Radio Shack versie gebruikt een hard gecodeerde set patronen en wijzigen van deze patronen is een heleboel werk voor weinig resultaten.

Ik heb een nieuwe methode om te rijden van de strip waarmee twee componenten:

  • kleuren - Array van RBG (rood blauw groen) kleuren
  • Illum - Array van magnitude/intensiteiten (0.0 = 0% = OFF, 1.0 = 100% = volledige ON)

U kunt voor het genereren van een meer dynamisch bereik van patronen snel zonder te geven zo veel informatie elke sequentie. Gewoon vermenigvuldigen van elke component van de RBG hex waarde door de omvang en rijden die de strip (gedaan in de light_strip()-functie).

Korte afleiding in de werking van het lage niveau van LED-code

De code eigenlijk rijdt de bits naar de LED-strip in de send_strip()-functie hoeft niet te worden gewijzigd, maar als u bent nieuwsgierig naar wat er gaande is met de code om te rijden de LED, Lees verder...

Hier is de Link naar Radioshack ondersteuningsbestanden voor TriColor Strip waarin de data sheet voor de LED-Strip. Deze strip werkt op het TM1803-protocol dat is 24 bits om een kleur (8 bits rood, 8 bits blauw, 8 bits Green) te definiëren. Een segment van de strip ontvangt 24 bits, de volgende gegevens voorbij het segment en verplaatsen naar het volgende segment. Op deze manier zijn de eerste 24 bits station segment 1, de volgende 24 bits voor segment 2, enz...

Als u wilt eigenlijk verzenden die stukjes, ziet u dat een 0 moet u de gegevens pin ingesteld op hoog (logische 1) rijden voor 0.78 microseconden en vervolgens de gegevens pin ingesteld op laag (logische 0) voor 1.55 microseconden. Om een 1-bit behoefte u aan de tegenovergestelde timing, hoog 1.55 microseconden en laag voor 0.78 microseconden.

Dus bijvoorbeeld dat als je verzenden via een waarde van 0110 in binaire wilde, u werkelijk zou moeten verzenden

HOOG voor 0.78us, laag 1.55us, hoog voor 1.55us, laag voor 0.78us, hoog voor 1.55us, laag 0.78us, hoog voor 0.78us, lage voor 1.55us

Dus hoe is dit bereikt in de code, in de send_strip() functie?

De code wordt over alle 24 bits, en gebaseerd op als elke bit 1 of 0 is het daarmee een andere bewerking uitvoert. Laten we bijvoorbeeld eens 1, de code uitvoert eerst DATA_1 die de uitgang-pins ingesteld op hoog, dan voert 28 Nee-bewerking (nop) montage-instructies. De Arduino Uno heeft een kloksnelheid van 16 MHz, wat betekent dat elke instructie is de voltooiing van een geschatte 62,5 nanosecond tijde. Dus de gecodeerde 28 Nee-ops vindt 28 keer 62,5 nanoseconden te voltooien, die is 1750 nanoseconden = 1,75 microseconden. Dit is een beetje over de 1.55us tijd zijn wij op zoek naar, maar is oke als gevolg van het feit dat de werking van de DATA_1 niet voltooid onmiddellijk tegen de tijd dat de eerste nop wordt geraakt, dus in principe de eerste paar nop tellen niet mee in de tijd een het signaal hoog is. Code zoals dit te ontwikkelen zou idealiter kunt u een oscilliscope toevoegen/verwijderen, nop verklaringen en het meten van de resulterende tijd op de oscilliscope, totdat je dat 1.55us sweet spot in de data sheet.

Gelukkig hebben de meeste LED strips Arduino bibliotheken die al heeft postuur zulks uiterlijk voor de gebruiker, maar het is nog steeds goed om te weten hoe de code bereikt de timing in de data sheet.

Definitieve gedachten

Ik heb het commentaar van de code goed genoeg dat ik zal niet ingaan op de meer de details op hoe het werkt, maar zoals ik al eerder zei, ik denk alleen het idee dat van het creëren van meer interessante lichte patronen zou een geweldige manier om te leren een aantal eenvoudige codage en debuggen vaardigheden.

De algehele stroom van het programma is:

  • Boot van de Arduino
  • Wachten op Motion
  • Tekenen van een regenboog
  • 20 meer patronen tekenen
  • Start het programma opnieuw

Veel succes en geniet van! Als je genoten hebt van de Instructable, zou ik graag uw stemming voor de wedstrijd maken gecodeerd.

Gerelateerde Artikelen

Arduino LED-Strip Thermometer

Arduino LED-Strip Thermometer

Ik had kocht onlangs een LED-strip van Radio Shack (deel #: 2760339) dat is gebaseerd op de TM1803-chipset, en was op zoek naar een project om ze te gebruiken op.Ik werd geïnspireerd door een Gro-ei baby's kamerthermometer die ik had, die verandert v
LED-Strip Back-lit Canvas Art

LED-Strip Back-lit Canvas Art

Wilt u sparren omhoog uw huis of kamer met een interessant stuk van kunst? Wilt u sommige unieke verlichting aan uw space toevoegen? Met behulp van een LED-strip, een Arduino, doek en verf, kunt u uw eigen kunst aan de muur die is niet alleen uniek o
Geluid van reactieve LED-Strip

Geluid van reactieve LED-Strip

kan er 9 stappen maar ik BELOOF dit IS snel en eenvoudig!In dit Instructable zal ik je laten zien hoe maak je een reactieve LED verlichtingssysteem. In deze clip, ik gebruikte een enkele kleur LED strip, maar u u een enkele LED kunt, meerdere LEDs wi
Eenvoudige LED strip partij verlichting met behulp van arduino

Eenvoudige LED strip partij verlichting met behulp van arduino

Geïnspireerd doorproject door GreatScottLabIk kon niet vinden die overal dus ik een rem uit bestuur voor MSGEQ7 chip bestelde en het in mijn lichaamsbouw gebruikte. Het heeft ook 3 MOSFETS voor RGB led strip.MSGEQ7 is een 7-band grafische equalizer h
Een Networked LED Strip Controller met Arduino en Android

Een Networked LED Strip Controller met Arduino en Android

ik ben fascinerende van verlichting effect sinds kind en eenmaal gevonden op Ebay een goedkope multicolor LED strip ik ben begonnen op zoek hoe besturingselement het, op zoek naar een Ethernet ingeschakeld besturingselement dat maakt de strips een se
Arduino gecontroleerde LED Strip vakantie-verlichting

Arduino gecontroleerde LED Strip vakantie-verlichting

met de prijzen te laten vallen op de LED strip verlichting, opzetten van permanente vakantie verlichting krijgt meer haalbaar dagelijks.  Een Arduino maakt een grote DIY verlichting-controller.Voor dit project gebruikte ik sommige analoge RGB LED Str
Arduino controlled RGB LED-strip in de woonkamer

Arduino controlled RGB LED-strip in de woonkamer

Het idee achter dit kleine project was dat sommige vrij indirecte stemming licht in de woonkamer. Het wordt beheerd door de server openHAB (dat project is nog steeds op de lijst moet worden toegevoegd aan deze site) geïnstalleerd op een Raspberry Pi.
Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

In deze tutorial zullen we een strip gebruiken met 8 RGB-LEDs met de Arduino uno board. Wij zullen van de Adafruit NeoPixel library gebruiken om de kleur van elk geleid.Laten we beginnen!Stap 1: Wat moet jeVoor dit project zal u het volgende nodig:Ar
LED-Strip Controller w / LED Amp + Arduino

LED-Strip Controller w / LED Amp + Arduino

Vergeet over DIY LED drivers met mosfet transistors! Het is extreem eenvoudig te rijden hoge powered LED-strips met Arduino tegen lage kosten zonder het krijgen in teveel circuits. Het geheim is goedkoop mini LED versterkers.Dit instructable gaat all
RGB LED Strip Circuit met Arduino

RGB LED Strip Circuit met Arduino

Dit Instructable heeft betrekking op de vergadering van een circuit PWM-ing (pulse breedte modulerende) staat een 9-12v RGB LED-strip en programmeren van een Arduino aan cyclus door een scala aan kleuren. Ik zal bespreken hoe te monteren een transist
De LED Strip kwallen kostuum met Arduino & LPD8806 Led Strips

De LED Strip kwallen kostuum met Arduino & LPD8806 Led Strips

het begon allemaal toen ik zag een documentaire van de BBC in 2002 over de diepe wateren van de Oceaan. Er was een biolimunescent kwal in de documentaire, waarschijnlijk van de soort "ribkwallen" die greep mijn aandacht dus heb ik in de latere j
Remote Controlled Arduino scorebord met behulp van LED Strips

Remote Controlled Arduino scorebord met behulp van LED Strips

SCOREBORDEN zijn duur!  Niet alleen dat, zeer grote 7-segment LED's zijn duur, ook!  Scoreborden kunnen uw team geven een gevoel van legitimiteit.   Na het kijken over het hele internet scoreborden, ik dacht bij mezelf: hey, ik hoef niet te kopen een
Rijden van RGB LED strips uit een Arduino

Rijden van RGB LED strips uit een Arduino

Kerstmis komt eraan en je kunt je afvragen hoe het kleurrijke en helder met een Arduino en een RGB LED strip te maken. Tenminste, was dat precies wat ik deed een jaar geleden en was niet kundig voor vondst geen duidelijke en eenvoudige instructies ov
Controle van Ikea Dioder LED-Strip met Arduino + 16 X PWM LED Fader Board

Controle van Ikea Dioder LED-Strip met Arduino + 16 X PWM LED Fader Board

We gonna tonen hoe kabellengte tot en controle een Ikea DIODER LED -strip met een arduino, met behulp van een bord van 16 X LED PWM Fader als tussenpersoon.De 16 X PWM van bestuur is in feite een stelletje mosfets onder controle van de PWM (switches