Blinker hängslen (15 / 15 steg)

Steg 15: Min full kapacitet kod



/ * jag gjorde mitt bästa att fixa stympningen av min formatering som hände när jag klistrade in min kod i sidan. Vissa saker hade även rensat/inte klistrats!

Skulle vara klokt att kontrollera och att något viktigt inte var kommenteras ut när du får det i Arduino-miljö.

Original sammanställer bra, kommentar om det är broken.* /

int sensor1 = A2; sytt till min... pekaren finger

int sensor2 = A3; //middle int sensor3 = A4; Ring int sensor4 = A5; Pinky

#include / / yaaap, vill inklusive detta. se deras uberguide för hur man installerar det till arduino-biblioteket.

Det är en relativt lätt ~ 3 steg, värt det. Filer och instruktioner finns på följande webbplats:

https://learn.adafruit.com/adafruit-neopixel-uber...

Klicka sedan på filen bannern "Skiss" och välj Lägg till fil i menyn Navigera till där filen .h sparas för att lägga till dess flik till detta projekt

statisk int PIN = 10; Om du glömmer detta, där det står PIN där nere kommer att arg kompilatorn.

Numret är namnet på stiftet på din lilypad som data skickas från.

Följande är raka från exempelfilen som "strandtest"

Parametern 1 = antal pixlar i remsa

Parameter 2 = pin-kod (de flesta är giltig)

Parameter 3 = pixel typ flaggor, Lägg ihop som behövs: (vänster ut extra info, betyder lite för mig) Adafruit_NeoPixel strip = Adafruit_NeoPixel (15, PIN, NEO_GRB + NEO_KHZ800);

Jag har 15 pixlar, således det numret

/******************************************************************** *********************************************************************

* upprätta mer *

* *

********************************************************************/

void setup() {

Lights:

Strip.BEGIN();

Strip.show();

"Initiera alla pixlar till"off""

initiera seriell kommunikation på 9600 bitar per sekund:

pinMode (sensor1, ingång); sätter pekaren sticka potentiometer pin till INPUT

digitalWrite (sensor1, hög); //initializes sensorn

pinMode (sensor2, ingång); uppsättningar mellersta sticka potentiometer stift till INPUT

digitalWrite (sensor2, hög); initierar sensorn

pinMode (sensor3, ingång); uppsättningar ring sticka potentiometer's folie stift till INPUT

digitalWrite (sensor3, hög); initierar sensorn

pinMode (sensor4, ingång); anger pinky sticka potentiometer pin till INPUT

digitalWrite (sensor4, hög); initierar sensorn

Serial.BEGIN(9600); }

/******************************************************************** *********************************************************************

* *

* Huvudfunktionen *

* *

********************************************************************* ********************************************************************/

void loop() {

int mitten = 8. mitt ljus

int höger = 15. till höger ljus (högsta LED adress)

int vänster = 1; vänster ljus (lägsta LED adress)

Läs input på analoga stift:

3.3 V är 1024

0 V är 0

"SV" kort för "sensor värde"

int SV1 = analogRead(sensor1); 300-400 lo 890-950 Hej

int SV2 = analogRead(sensor2); 650-700 lo 900-1015 Hej

int SV3 = analogRead(sensor3); min avg 650-700 max avg 1000

int SV4 = analogRead(sensor4); min 530 max 1024 - avg Hej 950 avg lo 650ish

Om blanda färger var en önskan, kunde mappa 0-250 till 300-950 som värdet av en RGB per finger skulle vara cool pinky några slumpmässiga weird blanda RGB ekvationer med hjälp av mappade värdet. eh.

/ * //uncomment detta avsnitt om du vill använda följetong utskriftsfunktionen och få ditt eget finger pads spänner.

skriva ut värdet du läsa:

Serial.Print ("värde 1 =");

Serial.Print(sensorValue1);

Serial.Print ("värde 2 =");

Serial.Print(sensorValue2);

Serial.Print ("värde 3 =");

Serial.Print(sensorValue3);

Serial.Print ("värde 4 =");

Serial.println(sensorValue4);

*/

/********************************************************************

IF/THEN svar *

********************************************************************/

Ange max svar på 950, jag tror att detta bör hålla dem från alla svarar sanna.

för nu, kommer att jag ha hög/låg bestämmer... shoot, antal repetitioner låter bra. Färg också?

uint16_t upprepas = 2; initieras på två >> bara kasta nummer i funktionsanropet!

PEKAREN FINGER---> sväng höger

300-400 lo 890-950 Hej

om ((SV1 < = 950) & & (SV1 > = 650))

valde 650 sedan dess omkring mitten av min "låga high end" och högre "låg" avläsningar.

{

Right_then (remsa. Color(250,140,0),4,Middle,Right); kan ändra färg här RGB

}

om ((SV1 < = 649) & & (SV1 > = 0))

{Right_then (remsa. Color(250,0,0),8,Middle,Right); }

LÅNGFINGRET---> sväng vänster

650-700 lo 900-1015 Hej

om ((SV2 < = 950) & & (SV2 > = 775))

{Left_I_go (remsa. Color(250,140,0), 4, mitten, vänster); }

om ((SV2 < = 774) & & (SV2 > = 0))

{Left_I_go (remsa. Color(250,0,0), 8, mitten, vänster); }

RINGFINGRET---> söt blink

min avg 650-700 max avg 1000

om ((SV3 < = 950) & & (SV3 > = 840))

{Notice_me_Cute (remsa. Color(0,0,150), 3, vänster, mitten, höger); blå}

om ((SV3 < = 839) & & (SV3 > = 0)) //not stor skillnad == lägre noggrannhet == jag håller upprepar kort för att säkerställa svängar kan signaleras

{Notice_me_Cute (remsa. Color(127,255,0), 5, vänster, mitten, höger); Limegrön}

PINKY---> meh

min 530 max 1024 - avg Hej 950 avg lo 650ish 650 + (950-650) / 2 = mellersta värde jag väljer

om ((SV4 < = 960) & & (SV4 > = 800))

{dualFade (vänster, höger);}

om ((SV4 < = 799) & & (SV4 > = 0))

{dualFade2 (vänster, höger);}

/********************************************************************

* standard blink *

********************************************************************

/ senare, kan försöka göra det den "söta" genom att ha en generisk räknare, säger counter ++; varje slinga,

och använda en % 8 vara knepigt om att göra en annan variabel förändring mellan 1-7

.. .och byta mellan + och -? kanske behöver en tredje variabel existerande i den "om %8 == 0" att gå %2 med och ha ett kapslat if uttalande om +/-

"att märka mig"

för (int jag = vänster; jag > = höger; i ++)

{//strip.setPixelColor(pixel#,(R,G,B) definierats i funktionen feed)

strip.setPixelColor(i,255,215,0); "guld" färg

Strip.show();

}

Delay(300);

sätta utanför parentes att försöka ha ljus aktiverar "på en gång" sedan vistelse på för lite

nu stänga av

för (int jag = höger; jag > = vänster; i--)

{/ / strip.setPixelColor(pixel#,R,G,B);

strip.setPixelColor(i,0,0,0);

Strip.show();

}

Delay(300);

fördröjning mellan läsningar/blinkar för stabilitet (var 75 för seriell utskriften.)

> <> <> <> <> <

}

/********************************************************************

* SLUTET av huvudfunktionen *

********************************************************************

********************************************************************

* *

* SENSOR FUNKTIONER! *

* *

* Jag älskar anropa funktioner, dess så... REN!!! *

* *

* Behövs: blink kvar hälften (1-8 pixlar... eller är det 0-7?) *

* blinka höger halva (pixlar 8-15... eller 7-14?) *

* "märker mig" blinka (rainbow, säker) *

* för kul: rainbow torka *

*********************************************************************

* är min lysdioder riktade

[1] [2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

eller [0] [1] [2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]?

Kommer att ändra min inre for() iterationer *

********************************************************************

* blinka vänster *

********************************************************************/

void Left_I_go (uint32_t färg, uint16_t repetitioner, int mitten, int vänster)

baserat på colorWipe i strandtest. Här är hur "uint32_t c" hette i 'main ()' 50 var "vänta"!

/ * colorWipe (remsa. Color(255, 0, 0), 50); Röd

colorWipe (remsa. Color(0, 255, 0), 50); / / grön

colorWipe (remsa. Color(0, 0, 255), 50); / / blå * /

Strip. Color(_,_,_),Repeats,Middle,Left)

{//variables

uint8_t vänta = 20;

uint16_t i.

uint16_t z; "z" ser annorlunda än "i"

vill att det ska blinka några gånger, så att göra en nästlade for-loop

för (z = 0; z < = repetitioner; z ++)

{för (jag = mitten; jag > = vänster; i--)

{

strip.setPixelColor(i,color);

Strip.show();

Delay(Wait); }

en annan fördröjning att hålla dem för lite

Delay(100);

nu stänga av

> <> <

för (jag = mitten; jag > = vänster; i--)

{/ / strip.setPixelColor(pixel#,R,G,B);

strip.setPixelColor(i,0,0,0);

Strip.show();

}

Delay(100);

> <> <

}

}

/********************************************************************

* blinka höger *

********************************************************************/

void Right_then (uint32_t färg, uint16_t repetitioner, int mitten, int rätt

) {/ / / strip. Color(_,_,_),Repeats,Middle,Right)

variabler

uint8_t vänta = 20; göra kort

uint16_t i.

uint16_t z;

vill att det ska blinka några gånger, så att göra en nästlade for-loop

för (z = 0; z < = repetitioner; z ++)

{för (jag = mitten; jag < = höger; i ++)

{

strip.setPixelColor(i,color);

Strip.show();

Delay(Wait);

}

en annan fördröjning att hålla dem för lite

Delay(100);

nu stänga av

> <> <

för (jag = mitten; jag < = höger; i ++) //note hur jag bläddrade > till <-- och till ++

{

strip.setPixelColor(i,0,0,0);

Strip.show();

}

Delay(100); }

}

/********************************************************************

* söt skumpande blink *

********************************************************************/

HM. kanske det finns ett sätt att, um... ordet. göra standard blinka del av void loop(), som sätter det innan någon sensor kontrollerar, bör vara snabb nog, höger? lägga till en försening. Ja! Jag ska bara göra detta en en söt fancy version, två lampor bounching av varandra i mitten och av ändarna...

void Notice_me_Cute (uint32_t färg, uint16_t repetitioner, int kvar, int mitten, int rätt)

{/ / band. Color(_,_,_),Repeats,Left,Middle,Right)

strip.setPixelColor(pixel#,R,G,B);

variabler

uint8_t vänta = 50; lite långsammare än 20 för svarvning

uint16_t i.

uint16_t z;

för (z = 0; z < = repetitioner; z ++)

{

sätta på och stänga av mitt ljus

strip.setPixelColor(middle,color);

Strip.show();

Delay(Wait);

strip.setPixelColor(middle,0,0,0);

Strip.show();

nu för split

för (jag = 1; jag

{

strip.setPixelColor(middle-i,color); går åt vänster från center

strip.setPixelColor(middle+i,color); går rakt från center

Strip.show(); visas tillsammans?

Delay(Wait);

eftersom "en i taget" behöva stänga lampor av insidan för loop

strip.setPixelColor(middle-i,0,0,0);

strip.setPixelColor(middle+i,0,0,0);

Strip.show();

}

nu gå tillbaka till mitten

Kontrollera om några sensor ingång här vore det klokt om jag vill ha det upprepas mycket... men jag inte vet om det är möjligt/hur till

för (jag = 1, jag, jag--) //did (mitten-1) eftersom jag inte vill att kanterna blinkar två gånger, de är hit en gång när resten är borta två gånger i en cykel.

{

strip.setPixelColor(middle-i,color); Detta bör gå rätt från vänster

strip.setPixelColor(middle+i,color); och denna vänster från höger

Strip.show();

Delay(Wait);

strip.setPixelColor(middle-i,0,0,0);

strip.setPixelColor(middle+i,0,0,0);

Strip.show(); }

}

}

/********************************************************************

* dualFade (meh!) *

4. alternativ skulle vara coolt att koppla till ljud eller något annat i stället.

********************************************************************

/ något att kasta på pinky eftersom jag inte kan få regnbågen funktioner i strandtest att arbeta.

void dualFade (int kvar, int rätt)

{

för (int jag = 0; jag < 255; i = i + 1)

{

för (int k = vänster; k < = höger; k ++)

{

int klyftan = k %2.

om (dela upp == 0)

strip.setPixelColor (k, i, 0, 255-i);

annat

strip.setPixelColor (k, 0, i, 255-i);

Delay(10);

Strip.show(); }

}

}

/********************************************************************

* meh 2 *

********************************************************************

/ void dualFade2 (int kvar, int rätt)

{för (int jag = 0; jag < 255; i = i + 1) {

för (int k = vänster; k < = höger; k ++)

{int klyftan = k %2.

om (dela upp == 0)

strip.setPixelColor (k, i, 255-i, 0);

annat

strip.setPixelColor (k, 0, 255-i, i);

Delay(10);

Strip.show();

}

}

}

Se Steg
Relaterade Ämnen

Svans ljus och Blinker Setup för motoriska cyklar

OK här går vi detta är ett grundläggande steg som hjälper dig förstå hur man gör detta projekt. Inte exakt hur man gör det eftersom det är olika för alla. (låter bekant dess zoomar moto) Hoppas du kan få detta och ill se många fler bilder av bemannar...

Blinka komparator på persondator

utföra en aktivitet på din dator som tidigare kunde göras endast av en stor, otymplig, dyr maskin, och göra det bättre. Detta Instructable använder många ord för att beskriva en ganska enkel procedur, men utdelning är värt det. Du kommer skratta, du...

BBB (besvärande Blinker för cyklar)

i min stad, som jag antar att i många andra, du måste alltid göra ditt bästa att överleva när du rida din cykel, det gäller framför allt nattetid. Detta är anledningen som kom mig för att utforma denna krets.Jag räknar orolig drivrutiner (jag ska var...

Bristfällig läder hängslen

Detta är ett projekt som har vissa omfattningen krypning frågor, vissa bilder har försvunnit till vinden av tid, men minnen skall förbli här, på Instructables.Det är en grundläggande uppsättning läder hängslen som för närvarande funktionella, men kom...

Alternerande Blinker krets gjord av Timer NE 555P

Här visas hur man bygger en alternerande blinker krets.Prova och njut!Steg 1: Materiallist & schemaVad du behöver:Strömkälla (USB-TTL modul 5V ut)SkärbrädaBygel WireTimer NE555PResistor 1K OhmResistor 10K Ohm2 x motstånd 220 Ohm2 X LEDKondensatorer (...

Blinka en lysdiod med assembler & en PIC

för att ange alldeles uppenbart, det finns många varianter av mikrokontroller i världen. Det finns otaliga program för dem också. Detta Instructable kommer att täcka stegen för att blinka en LED med hjälp av en PIC mikrokontroller och mikrochip assem...

Dapper Dandy hängslen {på tio minuter!}

Dessa hängslen bokstavligen tog mig tio minuter, jag tidsinställda mig själv, det är 10 minuter att göra dem och ta bilder för den här läraren! Det är snabbt. De är sååå lätt och bedårande!Detta är vad du behöver (jag använde "baddräkt elastiska"...

Blinka Snap kretsar LED med Kano dator

Jag ska visa hur du flash en Snap kretsar ledde med Kano datorn (min version av Kano har Raspberry Pi 2). Jag har tappat räkningen på hur många datorer har jag byggt genom åren, men jag tror det är säkert att säga att Kano datorn var den enklaste byg...

Blinka en LED från en webbläsare med hjälp av visuell programmering

Lär dig att blinka och leds från en webbläsare. Du behöver:* en Raspberry Pi* en skärbräda* hoppare ledningar* LED...

Blinka ett antal lysdioder med hjälp av Python Programming Language och Raspberry Pi

översikt av stegI den första fasen, kommer jag att installera bara en LED. Nästa, jag ladda ner modulen LED klass python som representerar en hårdvara LED. Jag kommer att köra klassen LED Pythonmodul blinka det LED. Den första fasen fungerar som ett...

DIY cykel blinker

Många av oss använder cyklar för pendling och fritid, och många av oss lider av långa och mörka vintrar också! Om så är fallet, har du förmodligen ett par ljusa främre & bakre ljus, som gör spotting du mycket lättare för förare och andra trafikanter,...

Blinker cykling jacka

denna tutorial ska show dig hur man bygger en jacka med blinkers som låter folk veta vart du är på väg när du på din cykel. Vi använder ledande tråd och sewable elektronik så din jacka blir mjuk och bärbara och tvättbara när du är klar. Njut!En versi...

Pontiac blinker diagnostisera

vänster blinker i min 2000 Pontiac handlade upp. Mekanikern sa det var ett vanligt fel och skulle kosta runt $200 att ersätta. Även den elektroniska blottaren skulle vara $40-50 att ersätta. Så, jag hade inte råd att bara börja byta ut saker.Jag best...

LittleBits Arduino MacBook Air Blink skiss

Har du provat Littlebits Arduino? Det är super enkelt och rättframt att använda.Steg 1: Dra Littlebits modulerna ur satsen för den blinka skiss Samla komponenterna för projektet 9V batteri + kabelPowerBargraphArduinoenMacBook AirSteg 2: Anslut Little...

Arduino "Blinka att prata" med Charlieplexing

Detta projekt kan klassificeras som en AAC (alternativ och kompletterande kommunikation) enhet, som används som ett kommunikationsmedel för dem som lider av försvagande sjukdomar som ALS och liknande, som leder till fullständig förlamning och nära-to...

Skapa en Blinkie

Hej, killar! Denna handledning hjälper dig att skapa en blinkie, en animerad .gif. Du kan använda denna metod för typsnitt, färg förändringar, och (för de mest avancerade) ritningar. Jag kommer att använda Adobe Photoshop CS3 för att skapa denna blin...

Adrian monk Disneytopian blinkar Hand rättfärdighetens (blinker handske)

verkligen en vänsterhänt handske men något att Visa riktning eller ge som behövs backhand för dem som får ut på linjen. Detta är verkligen en upplyst LED handske att belysa synligheten för din hand när du ger rätt hand tur signaler när man rider i mö...

Trafikljus kit + XXL grön LED Blinker Kit i en låda med ett batteri!

jag byggt en hel del dessa typer av kit och mest de inte kommer med lådor att skydda kretsar. Många gånger inte kommer de också med delar som rymma dem för att vara i fina rutor heller. Så måste du köpa några extra delar.För detta projekt jag köpte T...

BBC Micro: Bit Blink simulering

Idag, ska jag visa dig hur du simulera BBC micro: bit elektroniska styrelsen för första gången. Som jag har inte fått denna styrelse tyvärr att inspektera men jag undersökt liknande brädor också. Så, låt oss säga "Hello World" från micro: bit.Va...