Interactieve omgevingslicht (4 / 8 stap)

Stap 4: controle?


Dit is het meest uitdagende deel van het project.
Ik wilde een algoritme van de Vermogenssturing generieke genoeg voor het verwerken van patronen/sequenties en ook controleren, de helderheid en kleur van de LED.

Controle van de LEDs heb ik te sturen naar het MCP23016 één frame van 4bytes (1 byte = 8-bits). Één byte met het adres van de correspondent van de IC naar de kleur, 1 byte met de opdracht 'schrijven' en 2 bytes met de waarde van de 16bits (LED's). De IC is aangesloten op de LEDs als "sink", wat betekent, een logische waarde 0 op de pin brandt de LED.
En nu het uitdagende deel, hoe maak je PWM controle voor 48 LEDs?

Let's studie PWM voor één LED! PWM uitgelegd @ Wikipedia.
Als ik wil de helderheid van de LED op 50%, is mijn PWM-waarde 50%. Dit betekent dat de LED, in een periode van tijd, moet op de zelfde hoeveelheid als vrije tijd.
Laten we eens een periode van 1 seconde. PWM van 50% betekent dat in deze 1 seconde, het op tijd 0,5 seconden is en de weg 0,5 seconden is. PWM 80%? 0,2 seconden af, 0.8 seconden op!
Makkelijk, toch?

In de digitale wereld: met periode van 10 klokcycli, 50% betekent dat voor 5 cycli van de LED brandt, en voor een ander 5 cycli de LED is uitgeschakeld. 20%? 2 cycli op, 8 cycli af. 45%? Nou, we kunnen niet echt krijg 45%... Aangezien de periode in cycli is en we slechts 10 cycli hebben, kunnen we alleen het indelen van de PWM in stappen van 10%.

Dit houdt de evolutie van de pin moet zijn, voor 50%: 1,1,1,1,1,0,0,0,0,0; Of zelfs 1,0,1,0,1,0,1,0,1,0;

In de programmering kunnen we deze opeenvolging van het op en uitschakelen van een matrix. Waren dat de cyclus is voor elke cyclus die we uitvoer naar de PIN-code de waarde van de index.
Ik zinvol tot nu toe?

Als we willen LED0 50%, en LED1 20%, kunnen we het toevoegen van beide arrays.
Voor het besturen van de LED0 pin: 1,1,1,1,1,0,0,0,0,0;
Voor het besturen van de LED1 pin: 2,2,0,0,0,0,0,0,0,0;
Resulterend in LED0 + LED0: 3,3,1,1,1,0,0,0,0,0;
Outputing deze volgorde van de nummers in de haven expander IC, we zouden de LED0 met 50% helderheid en LED1 krijgen met 20%!

Eenvoudig voor 2 LEDs, recht? Nu hebben we te maken dit for 16 LEDs, voor elke kleur!

Voor elk van deze matrices hebben we een combinatie van helderheid voor elke kleur (16 LEDs)
Elke keer als we willen dat een andere combinatie van kleuren, moeten we veranderen van deze array.

Gerelateerde Artikelen

Interactieve Electroluminescente (EL)-apparaat (TFCD)

Interactieve Electroluminescente (EL)-apparaat (TFCD)

In deze DIY instructable, is een interactieve elektroluminescentie (EL)-object gebouwd. De intensiteit van het licht EL reageert op een roterende horizontale/verticale vervorming van het object EL en daarom kan interageren met de omgeving. U ziet hie
Muurschildering van interactieve Spacelady

Muurschildering van interactieve Spacelady

Spacelady is een interactieve, Arduino-gecontroleerde LED muurschildering. Met behulp van een Capacitieve touch sensor, triggert de Arduino lichten en geluiden als koper tape pads zijn geraakt. Om te begrijpen van de functionaliteit van deze muurschi
3D interactieve Aquarium achtergrond

3D interactieve Aquarium achtergrond

In dit instructable, ik zal je laten zien hoe maak je een 3D interactieve achtergrond met grotten, en een onderwater zand vallen. Het is vrij gemakkelijk te maken, en is zeer goedkoop. Het kost tijd, maar het eindproduct ziet er geweldig en uw famili
Interactieve Halloween pompoen (Arduino gebaseerd)

Interactieve Halloween pompoen (Arduino gebaseerd)

HET IDEEEen pompoen die gloeit, schudt en schreeuwt... [video]Het is Halloween, dus natuurlijk, dat we moesten een project die verband houdt met die.Het idee is om een pompoen, die zintuigen van de aanwezigheid van een persoon die probeert te krijgen
Interactieve Arduino Powered LED Ski's

Interactieve Arduino Powered LED Ski's

Ziek van de saaie duisternis van de nacht skiën? Vrees niet! Arduino programmeerbare interactieve LED Ski's zullen uw avond fleuren.Dit huis gebouwd van ski's hebben LEDs ingesloten onder de p-tex en bovenste blad. Een Arduino en versnellingsmeter co
Interactieve weekkalender

Interactieve weekkalender

GroetenDe kunst van het tijdbeheer is geven enthousiasme om ons leven zinvollerBeginnen met eenvoudige ding, we weten wat we hebben moet doen wat we hebben gedaan en morgen today herziening het als onze missie vandaag, als niet gedaan maar dus we kle
S.Alt stad: QR Code interactieve muurschildering

S.Alt stad: QR Code interactieve muurschildering

S.Alt City is een muurschildering voor het centrum van Syracuse die gelijktijdig Syracuse's industriële verleden en de huidige status als een artistieke hub viert. Het beeld is op het eerste gezicht, historische, beeltenis van een pomp huis en pekel
Interactieve Multitouch Display

Interactieve Multitouch Display

tussen de Apple iPhone en Microsofts interactieve tabel, multi-aanraking displays zijn al de woede. Dit instructable zal u tonen hoe om te zetten uw beamer in een tabel van de interactieve multi-touch-display met behulp van een paar goedkope onderdel
Interactieve Bluetooth Mood Lamp

Interactieve Bluetooth Mood Lamp

Voor onze laatste Project van elektronica bouwden we een interactieve stemming-lamp, die bouwt op een vorige project (Zie voor een versie 1), maar het verschil is dat de gebruiker met de lamp via bluetooth communiceren kan! Wie moet een potentiometer
Interactieve beeldhouwkunst (Talking dubbele hoofd door ontroerende plasma ball)

Interactieve beeldhouwkunst (Talking dubbele hoofd door ontroerende plasma ball)

HalloIk ga tonen het proces van het doen van verwarring, een emotionele sculptuur in de vorm van een hoofd met twee gezichten dat verwarring met de toeschouwer wordt gesproken wanneer iemand it´s neurotische hersenen raakt, door het aanraken van het
De interactieve donatie Box

De interactieve donatie Box

Donatie vakken kunnen veel meer interessant en aantrekkelijk wanneer u ze met elektronica en een beetje van programmeren combineren. Dit instructable zal u tonen hoe te. Zoals de naam verklaart, kan donatie vakken interactief te maken u helpen veel m
LittleBits K'nex kinetische interactieve sculptuur

LittleBits K'nex kinetische interactieve sculptuur

Ik heb eerder aangetoond hoe met littleBits en erector stel onderdelen om een magnetische roerder en een monster rotatorte bouwen. Aangezien ik was in staat om station die Erector machines met de littleBits motor set besloten heb ik om te proberen om
Interactieve Dungeon Board

Interactieve Dungeon Board

Ooit gewild uw dungeoneering ervaringen nemen naar het volgende niveau? Nou, ik heb, en voor mij was het bouwen van een interactieve dungeon board de weg te gaan.Het idee voor dit project kwam te zijn toen ik moest bouwen iets met arduino voor een sc
Interactieve LED Beer Pong tafel

Interactieve LED Beer Pong tafel

Maak uw eigen interactieve LED Beer Pong tafel!Dit instructable zal u door alle stappen te begeleiden om het maken van een one-of-a-kind bier pong tafel compleet met kopje opsporen van RGB peulen, automatische bal sluitringen, een 32 x 12 ping pong b