Rainbow lyktor (4 / 5 steg)

Steg 4: Tråd och kod

Nu är dags att koppla allt upp för testning (alltid en bra idé att använda skydd, 120VAC är inte så vänliga).

Jag hade en bänk multimeter kontrollera spänningsnivåer med mig också, som visat sig vara användbara vid några tillfällen.

Nedan är min kod, Känn dig fri att ändra det, dess inget märkvärdigt. Om du gör ett nytt mönster som du tycker är cool, vänligen dela det!

Koden cyklar slumpmässigt genom några mönster i matrisen. Jag använde stift 8-13 för att styra reläerna. Jag lämnade också debug uttalanden, eftersom de kan vara användbara när du testar.

Kod:
/*
Lykta Blink
Arduino koden för Rainbow lyktor
*/

int timer = 250; Ju högre siffra, desto långsammare tidpunkten.

char lampor [6] = {8,9,10,11,12,13}.

int PATTERN_COUNT = 5;
int RANDOM_COUNT = 4;

byte ptn [] [7] =
{
Mönster #0
{B100000,
B010000,
B001000,
B000100,
B000010,
B000001},

Mönster #1
{B101000,
B010100,
B001010,
B000101,
B001010,
B010100},

Mönster #2
{B100000,
B110000,
B011000,
B001100,
B000110,
B000011,
B000001},

Mönster #3
{B100001,
B010010,
B001100,
B010010}
};

int randCt = 0;
void setup() {
Serial.BEGIN(9600);
använda en for-loop att initiera varje stift som en utgång:
för (int thisPin = 0; thisPin < 6; thisPin ++) {
pinMode (ljus [thisPin], produktionen);
}

Initilize slumptalsfrö
om analog ingångsstift 0 är osammanhängande, slumpmässiga analog
buller gör anropet till randomSeed() att generera
olika utsäde nummer varje gång skissen körs.
randomSeed() kommer sedan shuffle funktionen random.
randomSeed(analogRead(0));
randomSeed(0);
}

void loop() {
Switch(Random(PATTERN_COUNT+1)-1)
{
fall -1:
{
Serial.Print ("aktivt mönster #-1");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");
pattern_0(randCt,timer);
Serial.println("Done!");
bryta;
}
fall 0:
{
Serial.Print ("aktivt mönster #0");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");
defaultPatternLoop(0,randCt,timer);
Serial.println("Done!");
bryta;
}
fall 1:
{
Serial.Print ("aktivt mönster #1");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");
defaultPatternLoop(1,randCt,timer);
Serial.println("Done!");
bryta;
}
fall 2:
{
Serial.Print ("aktivt mönster #2");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");
defaultPatternLoop(2,randCt,timer);
Serial.println("Done!");
bryta;
}
fall 3:
{
Serial.Print ("aktivt mönster #3");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");
defaultPatternLoop(3,randCt,timer);
Serial.println("Done!");
bryta;
}
standard:
{
Serial.Print ("aktivt Standardmönstret");
Serial.Print (randCt = (random(RANDOM_COUNT)+5));
Serial.Print ("gånger...");

för (; randCt > 0; randCt--)
{
Serial.Print(randCt);
int arraySize = sizeof(ptn[1]) / sizeof(byte);
för (int thisPin = 0; thisPin < arraySize; thisPin + = 1)
{
WritePattern(ptn[1][thisPin]);
Delay(500);
WritePattern(ptn[1][thisPin]);
}
}

Serial.println("Done!");
}
}
}

void WritePattern (byte mönster) {
för (int jag = 5; jag > = 0; i--, mönster >> = 1) {
digitalWrite (ljus [i], mönster & 1? HÖG: LÅG);
}
}

void pattern_0 (int tider, int waitPeriod)
{
för (; tider > 0; gånger--)
{
Serial.Print(Times);
loop från lägsta PIN-koden till den högsta:
för (int thisPin = 0; thisPin < 6; thisPin ++) {
aktivera PIN-koden:
digitalWrite (ljus [thisPin], hög);
Delay(waitPeriod);
Inaktivera PIN-koden:
digitalWrite (ljus [thisPin], låg);
}

loop från det högsta stiftet till lägsta:
för (int thisPin = 5; thisPin > = 0, thisPin--) {
aktivera PIN-koden:
digitalWrite (ljus [thisPin], hög);
Delay(waitPeriod);
Inaktivera PIN-koden:
digitalWrite (ljus [thisPin], låg);
}
}
}

void defaultPatternLoop (int mönster, int gånger, int waitPeriod)
{
int arraySize = sizeof(ptn[pattern]) / sizeof(byte);
för (; tider > 0; gånger--)
{
Serial.Print(Times);
för (int thisPin = 0; thisPin < arraySize; thisPin + = 1)
{
om (ptn [mönster] [thisPin]! = 0) / / om det är inte tomma
{
WritePattern(ptn[pattern][thisPin]);
Delay(waitPeriod);
WritePattern(ptn[pattern][thisPin]);
}
}
}
}

Se Steg
Relaterade Ämnen

Twisted prisma lyktor

Jag har lekt med tanken på paneler som är 3d tryckt i PLA, men som flex i endast särskilda anvisningar (jag avser att göra en Halloween-kostym med detta). Det finns gott om instanser av plywood som är laserskurna för att åstadkomma detta (som denna f...

RAINBOW LED LANTERN ROLIG TID!

Hello! Jag bara wana säger att detta är min första instructable så gå lätt på mig.Den standard LED lantern kan vara användbart ibland genom att ge ljus och inte förbrukar mycket energi, men det är lite tråkigt. Så försöker vi att krydda upp det med l...

Smaksatta rainbow sockerbitar

-Dessa rainbow smaksatt sockerbitar är så vackra och perfekta för vissa tebjudning.-Dessa sockerbitar är inbäddade med naturligt hemgjorda rosenvatten, kanel smaksatt vatten och kalk.-Dessa kuber när läggas till te du wil får fin smak och färg på gru...

Hur man gör Rainbow skott

Detta är en av de bästa party tricks jag någonsin sett. Det finns inget som en bra magiska show och Rainbow skott definitivt leverera - när du häller sju olika färgade skott av samma shaker rakt framför ögonen gäster?! En perfekt presto.Hur det funge...

Cupcake toppade Rainbow Cupcakes

min dotter efterfrågades en rainbow cupcake för hennes födelsedag... med kaka bollen toppers. Jag beslöt att göra rainbow cupcake slagklippare att gå ovanpå rainbow cupcakes, pillowed med marshmallow glasyr.Steg 1: Det första du måste göra din cupcak...

Bejeweled Jar lyktor

Återvunna burkar göra vackra boho bejeweled burk lyktor!Steg 1: Titta på den korta video tutorial här!Steg 2: Saker du behöverSpetsarTejpTacky limSpraya guldfärgBurkarAllure tredimensionell Design självhäftande färg (eller puff färg)Plan baksida pärl...

Digital Rainbow - hur man färga från Scratch

Denna handledning handlar om att göra val och färglägga delar av dina digitala bilder. Du kan använda tekniker här färga något. Eller gör regnbågen som visas och använda den som en bakgrund, eller en fyllning för typ.Ska jag Visa med Photoshop, men d...

Hand färgade Rainbow tofs halsduk

Vem skulle inte vilja en trevlig funky rainbow halsduk med en pastell klänning på en varm sommardag. Jag har skapat en av min en och delat förfarandet med dig.Steg 1: Du behöverVit bomull halsduk, vitt bomullsgarn, färgämnen lämplig för bomull, Dye f...

CUSTOM RAINBOW SKOSNÖREN och "RAINBOW DASH" skor!

När jag började mitt projekt, jag hade ett par vanliga vita skosnören och ett par plain vit duk stickade tröjor, små barn storlek 1. Jag köpte också permanent, vattentät markörer som inte "blöder" när det används på tyget, det finns många storle...

DIY vävda Baby Wrap Rainbow Grad Dye

Jag är så exalterad över denna Rainbow Grad färg! Detta är en Ellevill Zara naturlig vävda baby sjal, färgade med 3 färger för att göra denna grad/ombre. Jag lärde mig massor, älskar hur det blev, och är glada att dela!Steg 1: Steg 1: samla allt du b...

Hur man snurra ett Rainbow Gradient garn

Detta Instructable kommer att visa hur att snurra en gradient garn. En gradient garn är en där färger ändringen jämnt från en färg till nästa och varje färg presenteras en gång. I motsats till andra flerfärgade Garner där varje färg visas flera gånge...

Ombre färgade Rainbow T-Shirt

Jag är en erfaren dyer. Jag älskar verkligen konsten att färga. Nyligen frågade min dotter mig att göra henne en balklänning som var ombre färgade från en färg till en annan. Jag gjorde henne klä från en lyxig vit rayon twill som draperier som smält...

Spela Silk Rainbow

Barn älskar ljusa färger och saker som de kan använda för fantasifulla och öppna slutade spela. Spela silks är ett bra objekt att göra för ditt barn (eller barn du vet) som kommer att ge dem timmar av roligt. Du kan göra dem i alla former och storlek...

Rainbow Tie-Dye Silk Wrap

Rainbow tie-dye silk wrap projekt! Ett enkelt sätt att göra något speciellt trevligt. Var annars kan du få bundna i knop, färgade, sätta i varmt vatten, kommer ut ännu vackrare än innan!? Här!Denna enkla teknik kan användas till färgning silk blanks,...

VARA den hetaste Toy of The Year - The Rainbow vävstol

Rainbow vävstol är omåttligt populära i Amerika just nu - och särskilt i mitt hus. Min son Ryan ville vara en Rainbow vävstol för Halloween och vi räknat ut hur man gör. Du kan se resten av min familj Halloween och några fler Rainbow vävstol bilder h...

7 saker vi lärt oss bygga sugru Rainbow Gatling vatten Pistol

Vi älskar att testa gränserna för vad sugru kan göra.Våra tekniska och materiella team alltid matlagning upp nya sätt att flex, stick och sträcka sugru, för att testa hur mycket det kan ta. De fullfölja envist excellence, bryr sig djupt om varenda de...

Christmas lyktor

Christmas lyktor Lägg holiday flair över dörrar och kan också fungera som höjdpunkten på borden när du spendera tid med familjen. Dessa centerpieces är gjord av toalettpapper rullar, målad och dekorerad med glitter och tillfälligt under en lampa att...

Double Rainbow hälsningskort

det blir lite sent till jul, men det är okej, kort arbete för alla hjärtans dag också. Här är en full-on double rainbow popup-kort för någon speciell i ditt liv.PS Om någon där ute inte får skämtet, en snabb sökning på YouTube på "Double Rainbow"...

Pärlstav Fishtail Rainbow vävstol

Steg 1: leveranser Behöver du följande:1. rainbow vävstol band2.c/s klipp3. rainbow vävstol eller fingrarna4. (om du väljer vävstolen) regnbåge vävstol krok5. pärlor (låt hålet i kornet vara tillräckligt stor för bandet att gå igenom)Steg 2: Du först...