8x8 LED Matrix Animations (9 / 14 stap)

Stap 9: Veranderen van de code

Dit is mijn versie van het optimaliseren van wat ik heb gedaan. Er zijn waarschijnlijk betere manieren om het te doen, maar dit werkt voor mij en laat mij om te schrijven snel nieuwe effecten.

In de vorige code liep ik code om te zetten op elke rij en kolom één tegelijk. Dit is prima voor een snelle test en geeft beginners de werking van de arduino. Maar als je meer complexe dan zijn niet zeer efficiënt en de grootte van het programma zal zijn te groot om te passen op een arduino.

Om het gemakkelijker te gebruiken en uit te breiden zullen later we enkele nieuwe functies maken.

De eerste functie wordt resetLEDS() genoemd wanneer dit heet dan alle LEDS tegelijk dooft. Dit is hetzelfde als de setup routine, maar we hebben niet alleen te installeren van de pinnen als uitgang. Dit for-lus gewoon doorlopen van de arrays en alle LEDS uitgeschakeld.

ongeldig resetLEDS() {}
voor (int thisPin = 0; thisPin < 8; thisPin ++) {}
digitalWrite (col [thisPin], laag); Uitschakelen van LEDs
digitalWrite (rij [thisPin], hoge);
}

De volgende functie die we zullen creëren is inschakelen van een enkele LED. Het zal wachten op een bepaald moment en vervolgens uitgeschakeld eerste moeten we een nieuwe variabele boven de definities van de array toevoegen.  Voeg de volgende regel

int delayPin 1;  Dit vertraagt de code, voordat hij de led uitgeschakeld wordt

Dan we twee nieuwe functies voegen

ongeldig resetLEDS() {}
voor (int thisPin = 0; thisPin < 8; thisPin ++) {}
digitalWrite (rij [thisPin], hoge);
digitalWrite (col [thisPin], laag);
}

}

VOID onLED (int kolnum, int rownum) {}
digitalWrite (col [kolnum], hoge);
digitalWrite (rij [rownum], laag);
delay(delaypin);
digitalWrite (col [kolnum], laag);
digitalWrite (rij [rownum], hoge);
}

De eerste functie gewoon doorloopt elke LED en hen allemaal uitgeschakeld

De tweede functie werkt door middel van een col en rij nummer dat wordt doorgegeven aan het door de belangrijkste programma-code. De code wordt de vereiste kolom (anode) te hoog en de vereiste rij (kathode) naar laag die een bijzondere LED licht. Een vertraging wordt vervolgens aangeroepen en vervolgens de LED is uitgeschakeld door het omkeren van de bovengenoemde Staten.

Met deze functie kunnen we dan het veranderen van de code van de lus te lezen zoals dit

onLED(0,0);
onLED(1,1);
onLED(0,1);
onLED(1,0);
onLED(6,0);
onLED(7,1);
onLED(6,1);
onLED(7,0);
onLED(3,3);
onLED(4,3);
onLED(3,2);
onLED(4,2);
onLED(0,5);
onLED(1,6);
onLED(2,7);
onLED(3,7);
onLED(4,7);
onLED(5,7);
onLED(6,6);
onLED(7,5);

Zulks moeten verlenen u een smiley gezicht patroon op de matrix. Als deze lus snel dat de LEDS zullen lijken allemaal permanent loopt op als gevolg van de hersenen denken ziet het allemaal van de LED's op op hetzelfde moment.

Zodat de LED's worden weergegeven te knipperen kunt dan u de functie van de lus om te lezen dit
voor (int x = 0 x < 500; x ++); {
onLED(0,0);
onLED(1,1);
onLED(0,1);
onLED(1,0);
onLED(6,0);
onLED(7,1);
onLED(6,1);
onLED(7,0);
onLED(3,3);
onLED(4,3);
onLED(3,2);
onLED(4,2);
onLED(0,5);
onLED(1,6);
onLED(2,7);
onLED(3,7);
onLED(4,7);
onLED(5,7);
onLED(6,6);
onLED(7,5);
}

resetLEDS();
delay(500);

Download de schets (ChangedLEDTestFlash) hieronder om te zien van de wijzigingen.

Gerelateerde Artikelen

LED matrix - spel van het leven

LED matrix - spel van het leven

Dit project zal het uitvoeren van Conway's spel van het leven op een 8 x 8 LED matrix.Het heeft 2 knoppen, een voor het opzetten van een willekeurig veld, de andere starten of stoppen van de iteraties.Stap 1: materialen Een 8 x 8 LED matrix2 x aprox.
Pong met 8 x 8 Led Matrix op Arduino

Pong met 8 x 8 Led Matrix op Arduino

spel Pong gemaakt met 8 x 8 Led Matrix op Arduino Diecimila (microcontroller van Atmel ATMega 168). Voor meer informatie http://blog.bsoares.com.br/arduino/ping-pong-with-8x8-led-matrix-on-arduino
Vlammen effect met een 8 x 8 LED Matrix en ATMega328

Vlammen effect met een 8 x 8 LED Matrix en ATMega328

een tijdje geleden vond ik sommige blogposten uit te leggen hoe het gebruik van een LED-matrix als een hanger (http://hackaday.com/2013/01/10/8x8-led-matrix-pendant-sealed-in-a-block-of-epoxy/ en https://sites.google.com/site/tinymatrix/ ). De 8 x 8
TFT Touch scherm Animation Engine en 8 x 8 RGB LED Matrix Controller

TFT Touch scherm Animation Engine en 8 x 8 RGB LED Matrix Controller

Deze ingesloten toepassing heeft hoopjes van creatieve potentieel voor elke aspirant Arduino fanatici! Een TFT Touch scherm Animation Engine en optionele 8 x 8 RGB LED Matrix Controller. Bekijk de introductie video voor meer details:Wat je nodig hebt
Arduino 8 x 8 RGB LED Matrix Controller with 4 Shift Registers en temperatuursensor

Arduino 8 x 8 RGB LED Matrix Controller with 4 Shift Registers en temperatuursensor

De eerste helft van deze instructievideo toont dat een voltooide project van een Arduino met 4 shift registers (74HC595) gebruikt om te bepalen en 8 x 8 RGB LED Matrix. Er is ook een DS18B20 temperatuursensor gebruikt voor weergave van de temperatuur
Gemakkelijk 4 x 6 LED Matrix, Arduino!

Gemakkelijk 4 x 6 LED Matrix, Arduino!

In deze inst'able, zal ik u tonen hoe te creëren uw zeer eigen 4 x 6LED matrix evenals u tonen hoe om code te schrijven voor het!Er is een animatie Schepper programma in stap 4!Hier is één animatie om u enthousiast over het project!*** Golf animatie
8 x 8 LED matrix

8 x 8 LED matrix

dit instructable zal u tonen hoe te maken van een 8 x 8 LED matrix in heks kunt u controleren van evry één LED en uw eigen patronen maken, zolang ze hoeft alleen 64 pixels om ze te laten in één kleur.Update 25.09.10Ik heb toegevoegd een patroon gener
Arduino gebaseerd Bi-color LED Matrix Audio Spectrum Visualizer

Arduino gebaseerd Bi-color LED Matrix Audio Spectrum Visualizer

Nadat we met de Bi-color LED Matrix Driver Module kit kwamen, we hebben ons gebogen rond voor interessante projecten te werken.Bent u wellicht geïnteresseerd in een aantal van de projecten die we hebben opgemaakt op instructables met behulp van deze
Grote 8 x 8 LED Matrix Display

Grote 8 x 8 LED Matrix Display

Heb je gewerkt met kant en klare 8 x 8 LED matrix als beeldschermen? Ze komen in verschillende maten en zijn erg interessant om mee te werken. De grootte van een grote beschikbaar is rond 60 x 60 mm. Als u op zoek bent voor een veel grotere kant en k
Arduino gebaseerd Bi-color LED Matrix Game of Life

Arduino gebaseerd Bi-color LED Matrix Game of Life

Conway's Game of Life is geen conventionele spel. Het is de bekendste tweedimensionale cellulaire automaat gemaakt door de Britse wiskundige John Horton Conway in 1970.Het wordt gespeeld op een tweedimensionaal raster van cellen. Een cel kan worden d
Arduino gebaseerde Bi-color LED Matrix Tetris Game

Arduino gebaseerde Bi-color LED Matrix Tetris Game

Een van de elektronica DIY kit jolliFactory kwam omhoog met is de Bi-color LED Matrix Driver Module Kit. Deze module is ontworpen om kunnen keten-zodat u kan serieschakeling de modules samen aan het aantal modules moet u past bij uw project.De volgen
Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

Tijdens het browsen interessante projecten op Instructables, stuitte we op de indrukwekkende stem geactiveerd Arduino (Bluetooth + Android) instructable. Je kan check it out opOnlangs, hebben zetten we een instructable te bouwen een 7 Bi-color 8 x 8
8 x 8 LED Matrix voor RaspberryPi en 3 programma's

8 x 8 LED Matrix voor RaspberryPi en 3 programma's

Dit is een 8 x 8 LED matrix voor een RaspberryPi en drie programma's uit te voeren op het:1 - een "Hello World" programma met een volledige Engelse lettertype.2 - een dobbelspel.3 - een kleine versie van de 8 x 8 van Conway's Game of Life..U moe
Een 8 x 8 LED matrix verbinden met een klein Breadboard

Een 8 x 8 LED matrix verbinden met een klein Breadboard

deze matrices zijn leuk om te spelen met, maar hun grootte maakt hen moeilijk te gebruiken op de meeste breadboard. Hier is een manier om te mounten op een klein breadboard in een (relatief) nette manier.Hebt u nodig:1 breadboard1 8 x 8 LED matrix (d