LED Nintendoscape (4 / 5 steg)

Steg 4: Arduino kod


För vårt projekt att köra behöver vi trycka koden till Arduino att kontrollera elektriska komponenter. Bibliotek ingår i en zip-fil och mappar inuti måste placeras i främsta Arduino library-mappen på din dator efter packa. Här ingår bibliotek för IR-sensor, stegmotor och LED displayen från Adafruit. Den bifogade zipfilen med titeln Arduino koden innehåller mappen med Arduino skiss behövs för att köra koden. Detta måste helt enkelt bli blinkat till Arduino för att koden ska köras.

#include < Adafruit_GFX.h >
#include < Adafruit_NeoMatrix.h >
#include < Adafruit_NeoPixel.h >
#include < StepperAK.h >
#include < IRremote.h >
#define PIN 6 //LED Matrix ingång på Pin 6
#define gearratio 64 //1:64 utväxling för stegmotor
#define BOARDCOUNT 1 / / antal ledde matriser
Adafruit_NeoPixel strip = Adafruit_NeoPixel (64 * BOARDCOUNT, stift, NEO_GRB + NEO_KHZ800); Ställer in antalet LED noder
dubbel ljusstyrka =. 1; minska ljusstyrka för ledde matrisen
CONST int stepsPerRevolution = 2048; 2048 steg vända motor en revolutionen
Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); 4-tråds stepper på stift A0-A3
int RECV_PIN = 9; IR-mottagare ansluten till Pin 9
IRrecv irrecv(RECV_PIN); Skapa en IR-mottagare objekt
decode_results resultat. Skapa ett decode_results-objekt
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix (8, 8, PIN, //Initiates en 8 x 8 ledde matrisen
NEO_MATRIX_TOP + NEO_MATRIX_RIGHT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
NEO_GRB + NEO_KHZ800);
CONST uint16_t färger [] = {
Matrix. Färg (255, 0, 0), matrix. Färg (0, 255, 0), matrix. Färg (0, 0, 255)}; Definierar ledde matrisen färger

Koden fungerar genom att fastställa vilka bibliotek behövs och definiera alla stift används och variabler krävs. Den sedan tonas ned ljusstyrkan på ledde matrisen, sätter upp den motoriska revolutionen och skapar ett objekt för IR-sensorn. Den ledde matrisen initieras sedan och färgerna ställs in.

void setup() {

myStepper.setSpeed(0.15*gearratio); motorn verkar vara inriktad ner 1/64,

vilket innebär att hastigheten måste ställas in 64 x.
irrecv.enableIRIn(); Gör den IR-enheten
Matrix.BEGIN(); Startar den ledde matrisen med en tom skärm
matrix.setTextWrap(false);
matrix.setBrightness(40);
matrix.setTextColor(colors[0]);
}

int x = matrix.width(); Upprättar X som matris bredd
int pass = 0; Upprättar passera variabel
int flagga = 0; variabel för att fastställa när enheten drivs på via fjärrkontroll

I avsnittet installation stepper utväxlingen är inställt att kontrollera hastigheten, IR-sensorn är aktiverad och matrisen är till en tom skärm. Flera variabler är också etablerade som används senare för matrisen och bestämma när strömknappen trycktes.

void loop() {

om (irrecv.decode (& resultat)) {//has en överföring har fått?
om (results.value == 3584887633) {//If strömbrytaren trycks flagga variabel ändringarna och exekverar huvudsakliga
Flagga = 1;
}
}
irrecv.Resume(); Ta emot nästa värde från IR-Sensor

Projektet startar med en blank LED display, och IR-sensorn är aktiverad och väntar på strömbrytaren för att skjutas. När strömbrytaren trycks in huvudloop för projektet. Numret i det results.value utrymmet är avkodad resultatet från strömbrytaren på en Panasonic Audio System fjärrkontroll, men en annan fjärrkontroll kan vara använt annd måste du avkoda fjärrkontrollen först för att få fram den numeriska siffror associerade med dina knappar.

om (flagga == 1) //If flagga är lika med 1, sedan strömknappen trycktes
{

om (irrecv.decode (& resultat)) {//has en överföring har fått?
Serial.println (results.value), //If ja: tolka de mottagna kommandona...
om (results.value == 2354352215) {//If den "-"-knappen trycks gör du följande:
matrix.fillScreen(0); Rensar ledde matrisen
matrix.setCursor (2, 0); Anger markörens position
matrix.setTextColor(colors[2]); Anger textfärg
Matrix.Print(F("?")); Utskrifter av "?" karaktär till skärmen
Matrix.show(); Gör att matrisen
Delay(100); Förseningar i matrisen
myStepper.step(stepsPerRevolution); Roterar stegmotor

Om den "+" eller "-" knappen är hit på fjärrkontrollen, champinjonen roterar åt motsatt håll och ett frågetecken visas på matrisen. Exempelkod ovan visar processen för den "-"-knappen trycks, och koden för den "+" är nästan identiska.

om (results.value == 3584887633) {//If strömbrytaren trycks en regnbåge lyser upp
colorWipe (remsa. Color(Brightness * 255, 0, 0), 5); Röd
colorWipe (remsa. Color(0, Brightness * 255, 0), 5); Grön
colorWipe (remsa. Color(0, 0, Brightness * 255), 5); Blå
Rainbow(5);
rainbowCycle(5);
}
irrecv.Resume(); Ta emot nästa värde från IR-Sensor
}
matrix.fillScreen(0); Om ingen ingång på fjärrkontrollen, rensa matrix skärmen
matrix.setCursor (x, 0); Anger markörens position till variabeln 'x'
Matrix.Print(F("make")); Skriver ut ordet "Göra" i matrisen
om (--x <-36) {//Cycles markörens position att göra texten verkar rulla
x = matrix.width();
om (++ passera > = 3) passera = 0; Cykler genom tre färger för text visas
matrix.setTextColor(colors[pass]);
}
Matrix.show(); Skriver ut texten till matris
Delay(100); Upprättar en fördröjning
}
}

När strömbrytaren trycks en regnbåge visas och växlar mellan flera färger och mönster. Denna process, ordet "gör" sedan rullar över skärmen i roterande färger om en annan knapp trycker på fjärrkontrollen. Om strömbrytaren slås igen upprepas rainbow displayen. Denna process upprepas på obestämd tid så länge Arduino powered.

Koden nedan är funktioner som kallas för att verkställa rainbow displayen som visas när du trycker på strömbrytaren.

Fylla prickar en efter den andra med en färg
void colorWipe (uint32_t c, uint8_t vänta) {
för (uint16_t jag = 0; jag
{Ogiltig rainbow (uint8_t vänta)
uint16_t i, j.
för (j = 0; j < 256; j ++) {
för (jag = 0; jag
Något annorlunda, detta gör regnbågen jämnt fördelat i hela
void rainbowCycle (uint8_t vänta) {
uint16_t i, j.
för (j = 0; j < 256 * 5; j ++) {/ / 5 cykler av alla färger på hjul
för (jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, hjulet (((i * 256/strip.numPixels()) + j) & 255));
}
Strip.show();
Delay(Wait);
}
}
Ange ett värde 0 till 255 att få ett färgvärde.
Färgerna är en övergång r - g - b - tillbaka till r.
uint32_t hjul (byte WheelPos) {
IF(WheelPos < 85) {
returnera strip. Färg (ljusstyrka * WheelPos * 3, ljusstyrka * (255 - WheelPos * 3), 0);
}
annat if(WheelPos < 170) {
WheelPos-= 85.
returnera strip. Färg (ljusstyrka * (255 - WheelPos * 3), 0, ljusstyrka * WheelPos * 3);
}
annat {
WheelPos-= 170;
returnera strip. Färg (0, ljusstyrka * WheelPos * 3, ljusstyrka * (255 - WheelPos * 3));
}
}

Se Steg
Relaterade Ämnen

LED STRIP SKATEBOARD

detta är ett roligt och enkelt projekt som är värt tid! Det är endast sju steg, så det borde vara ganska snabb. Även om, den enda nackdelen är att det krävs flera extrema elverktyg. Lycka till! :)Steg 1: Samla materialCAD-OnShape programmet12 "x 36&q...

En nedräkning klocka med LED

dessa är några korta anteckningar om en "Countdown klocka" byggde jag 10 år sedan för Y2K, klockan är 4 fot torget framifrån. Det är cirka 4 inches tjock, och körs på en inbäddad mikrokontroller. Varje Segment är tillverkad av ca 20 x 10mm lysdi...

Arduino binär klocka med LED-matris

Denna webbplats har många fina inlägg som beskriver byggandet av armbandsur. Jag är oerhört skakig, emellertid, och har svårt med någon lödning. Jag ville därför göra mig från en 8 x 8 MAX7219-kontrollerade ledde matrisen.Steg 1: Läsa BCD binär klock...

Digital klocka RTC i LED-Display av 4 siffror och 7 segment

Hej, alla!Detta är mitt projekt av en digital klocka med RTC (realtidsklocka) med hjälp av en LED-skärm av 04 siffror och 07 segment, inklusive funktioner för temperatur och luftfuktighet.För att kontrollera displayen jag har använt en Arduino Uno oc...

Glass Clock with LED backlight

This clock incorporates LEDs and mirrors behind a glass face. Det fanns 20 eller 30 olika glasrutor att välja mellan på hobby butik, men jag valde här en på grund av dess konsistens och unika reflektioner. Detta instructable, du kanske lär dig en ell...

Klok mötte LED

STAP 1 klok maken träffade LED verlichting.Steg 1:Wat ga ik makenAankomende gångtid wil ik een kok gaan maken, ik wil kijken wat de mogelijkheden zijn qua ontwerpen sv Print. Bestaande klokken wil ik als voorbeeld nemen sv aanpassen naar eigen smaak....

LED Binary Clock

detta är andra översynen av min bild baserat LED binary clock. Den ursprungliga versionen var det första PIC projektet jag försöket, det brukade en PIC16F84A göra båda tidtagningen och kontrollera display matrix, tyvärr den inte hålla bra tillräcklig...

LED Binary Clock 2.0

ni kanske minns min första version av LED binary clock (1,0);Denna version var tänkt som en gåva, så det är i några tävlingar som Holiday gåvor utmaning. Snälla, om du gillar det, gärna kommentera, betygsätta den (enligt vad du tycker den förtjänar)...

LED-klocka

en 24-timmarsklocka med timme, minut och andra indikatorer. Här är haken, trots att det är en digital media (LED) det fortfarande visar med en analog metod (cirklar!). Jag slutade att göra denna klocka månader sedan men ta inte med mig till skolan så...

LED Dawn / Sunrise väckarklocka, nattlampa & säkerhet ljus - Arduino kompatibel

som nätterna förlängs successivt under hösten 2011, jag upptäckt glädjen med Arduino och trodde att det skulle vara ett bra sätt att genomföra något som jag har velat ha en lång stund - ett skonsamt sätt att vakna upp på en vintermorgon. Tyvärr, det...

LED belyst trä bröllop klockan

jag började detta projekt för att göra en unik, en av en slag bröllop klocka för min syster och svåger. Ville göra något kunde de ha ljus upp och Visa någon aspekt av deras bröllopsdag för en lång tid framöver. Gick igenom många mönster och slutligen...

LED Sunrise väckarklocka med anpassningsbara låten larm

min MotivationDenna vinter min flickvän hade en massa problem med att vakna på morgonen och verkade lida av SAD (Seasonal Affective Disorder). Jag ens märker hur mycket svårare det är att vakna på vintern eftersom solen inte har kommit ännu. Symtom p...

Auto ändra RGB led fläkt för PC

Jag hade beställa en påse med 100 rgb ledde så får jag i tanken att ändra ledde i någon anordning med rgb... Nej.Ledsen detta är min första instuctubleand är det lite mesh...Steg 1: material 1 pc fläkt transparent så att ljuset kan passera igenom...3...

Blå LED mus

trött på att standard rött ljus under musen? Byt ut!allt du behöver är en lödkolv (och helst en desoldering verktyg också), en multimeter, och färgen ledde du vill (och möjligen en resistor).Jag använde en billig $10 Ativa varumärke mus från Office D...

Blumcaw Cupcake (blinkar, LED, ultraljud, Motorized, kacklande, Arduino, häxa) med 3d tryckta delar

Denna gamla häxa har en blinkande vårta på näsan. Om du kliver kommer alltför nära (som bestäms av en Ping ultraljud givare), hon kackel ut en hälsning, hennes hatt kommer att snurra och hennes ögon blinkar sju färger.Blumcaw kan göras som en "vanlig...

Battery Powered bärbar LED lampor

detta är en enkel krets "Bärbara LED belysning" som kan hantera oväntade och oönskade mörkret i vårt hem eller kontor. Det ger betydande mängd ljusstyrka krävs för att göra våra vardagssysslor. Denna krets använder IC 555 timer i astable läge. F...

1 watt led driver

Hej! vännerVälkommen till min en annan 1 watt led driver projektet. Det är enkelt och lätt att bygga. Jag hittade bara en 1 watt led driver kopplingsschemat på internet och jag bygga det eftersom det är bra för mig.Så låt oss komma igång.Steg 1: Kopp...

1.5V LED Flasher med hjälp av en gammal klocka

Hej... Detta är min första instructable! Jag hade mixtra med elektronik sedan min barndom... Nu är jag en läkare men jag fortfarande kärlek byggnad och att utforska kretsar och lära sig hur saker fungerar...LED-lampor lyser inte upp i 1.5V vanligtvis...

10 år LED Flasher

Denna LED flasher blinkar kontinuerligt i 10 år på en enda 1, 5V AA alkaliska cellen. Detta är möjligt genom att uppnå en genomsnittlig strömförbrukning av 35uA (mikroampere).Steg 1: Detta är komplett kopplingsschemat för blottarenHuvudkomponenter:IC...