Druk geactiveerd knuffel-Detector (PAD) (4 / 6 stap)

Stap 4: Code

De code is gebaseerd op een paar van if-voorwaarden. De code leest de waarde van de drukknop (ingedrukt of niet), en de gemeten druk van de sensor. De eerste als-voorwaarde wordt gecontroleerd als de knop wordt ingedrukt of niet. Als de drager heeft het ingedrukt, zal onmiddellijk de LED rood licht uitstralen en in deze toestand blijven, totdat de drager op de knop opnieuw. In de anders-voorwaarde controleert de code de waarde van de gecensureerde druk. Boven de drempel (in ons geval 500), zal de LED veranderen naar rood. Onder de drempel blijft groen. Deze kleuren zijn gekozen zoals ze best daarom erkend zijn als de kleuren voor 'stop' en 'Ga' respectievelijk. De piëzo-sensor is gevoelig en gaat wat testen om te ontdekken de geschikte drempel. In de meeste tutorials deze sensor vereist de weerstand van een 1MOhm, maar omdat in onze schakeling we een ander één op de drukknop hebben aangesloten, het zeer beïnvloed de waarden.

Voor de NeoPixel zal u moeten installeren de NeoPixel library aan uw bibliotheek van de Arduino. U vindt het hier. Wij gebruikt om onze code in het voorbeeld strandtest en meer in het bijzonder de colorWipe-deel van de code.

Voor de drukknop gebruikten we de drukknop-voorbeeld 3C uit aan de slag met Arduino door Massimo Banzi.

Voor de piëzo-sensor zijn er ook verschillende tutorials online. U moet controleren welke dient uw doel het beste. Voor deze tutorial is het gewoon het lezen van de waarde.

Hier is onze code op basis van de voorbeelden gevonden elders:

#include

#define PIN 9

Parameter 1 = aantal pixels in strip
Parameter 2 = Arduino pin nummer (de meeste zijn geldig)
Parameter 3 = pixel type vlaggen, wens samen toevoegen:
NEO_KHZ800 800 KHz bitstream (de meeste NeoPixel producten w/WS2812 LEDs)
NEO_GRB Pixels zijn bedraad voor GRB bitstream (de meeste NeoPixel produkten)

Adafruit_NeoPixel strip = Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800);

Deze constanten niet gewijzigd:
Const int piezo = A0;
Const int buttonPin = 2; het nummer van de drukknop pin

Variabelen zal veranderen:
int buttonState = 0; huidige toestand van de knop
int old_ButtonState = 0;
int status = 0; 0 = groen en 1 = rood

VOID Setup {}
Serial.begin(9600);
pinMode (buttonPin, INPUT);

strip.begin();
strip.show(); Initialiseren van alle pixels op 'off'
}

void loop {/
/ Lees de stand van de drukknop waarde:
buttonState = digitalRead(buttonPin);
int piezoVal = analogRead(piezo);
Serial.println(piezoVal);

Controleer als de drukknop ingedrukt is.

Als ((buttonState == HIGH) & & (old_ButtonState == LOW)) {}
staat = 1 - staat;
delay(10);
}

old_ButtonState = buttonState;

Als (staat == 1) {}
colorWipe (strip. Color(255, 0, 0), 50); ROOD
} else {}
Als (piezoVal < = 500) {}
colorWipe (strip. Color(0, 255, 0), 50); GROEN
} else {}
colorWipe (strip. Color(255, 0, 255), 50); ROOD
}
}

wacht 2 milliseconden voordat de next-lus
voor de analoog / digitaal-converter te regelen
na de laatste lezing:
delay(2);
}

De puntjes een na de andere te vullen met een kleur
Dit deel is vereist voor de NeoPixel, net omvatten het

VOID colorWipe (uint32_t c, uint8_t wachten) {}
voor (uint16_t i = 0; ik < strip.numPixels(); i ++) {}

strip.setPixelColor (i, c);
strip.show();
delay(wait);
}
}

Gerelateerde Artikelen

Druk geactiveerd paraplu licht-Up

Druk geactiveerd paraplu licht-Up

*** VIDEO: ***Once upon a time, 2 meisjes enorm genoten lopen in de regen met parasols.Ze besloten dat het genot van deze ervaring zou kunnen worden gemaximaliseerd door het bouwen van hun eigen web druk-geactiveerd voor LEDs te installeren onder hun
Druk geactiveerde voorjaar Snare val

Druk geactiveerde voorjaar Snare val

Een hoe over de oprichting van een druk geactiveerd voorjaar snare voor overleving of pest dierlijke controle.Deze valstrik werd gebouwd om te vangen van wilde katten die hadden overvallen en doden van kippen op de boerderij. Wanneer de katten niet h
Druk geactiveerd Zen heiligdom

Druk geactiveerd Zen heiligdom

2 grote bladen van karton of houtAluminiumfolie of metaalTapeSeveral voeten van geïsoleerde draadVerlichting/Any decoraties u zou willen toevoegenTools:Draad StrippersEen scherp mes10K Ohm weerstandSoldeerboutVerlengsnoerStap 1: Persoonlijk tintje Mi
Hoe vervang ik een ontbrekende druk Pad op een cassettebandje

Hoe vervang ik een ontbrekende druk Pad op een cassettebandje

Dit Instructable leert u hoe te repareren van een gemeenschappelijke mislukking op zeer oude cassettebandjes. Alleen elementaire technische bekwaamheid is vereist. Je moet een tandenstoker, een nieuwe Q-tip en een klein stukje klittenband (haak en lu
Vintage hometrainer – wrijving Pad Upgrade

Vintage hometrainer – wrijving Pad Upgrade

De eerste upgrade naar mijn jaren 1980 Panasonic EX-1000 vliegwiel hometrainer moest de voorraad vilt remblokken vervangen. De OEM vonden pads dezelfde grootte als de rubberen remblokken op straat fietsen. De vilten kussentjes had versleten waren geg
Huis branden met de rookmelder Scheider voorkomen

Huis branden met de rookmelder Scheider voorkomen

Bijna een decennium geleden ben ik begonnen met een grote huis brand. Yep, ongelukken gebeuren en soms een foutje kan ernstige gevolgen hebben. Een jonge maker gek rond met elektriciteit kunnen bijzonder kwetsbaar zijn voor deze soorten ongevallen.He
Winter Soldier kostuum Build

Winter Soldier kostuum Build

UPDATED: aan het einde van de wedstrijd 2014 superhelden/superschurken, wij wilde bedanken iedereen die gestemd voor ons, iedereen die favorited ons en al onze collega contest finalisten voor hun geweldige inzendingen. Wij de iPhone niet gewonnen, ma
Winning van ertsen (en andere materialen) in Minecraft

Winning van ertsen (en andere materialen) in Minecraft

Minecraft zou niet wat het was zonder mijnbouw! Ik ga in dit Instructable over alle verschillende ertsen en speciale bronnen u kan mij in het spel en wat ontzagwekkende dingen u met hen doen kunt!Stap 1: Oven en smelten Om het ambacht van sommige din
Koeler met Blender, spreker & meer

Koeler met Blender, spreker & meer

Ik begon dit project eerder deze zomer met één doel: meer plezier te hebben buitenshuis door te brengen van mijn muziek en lekkere blended drankjes naar het avontuur.Ik weet de eerste hand hoe leuk het is om een koeler met luidsprekers en een draagba
Afgedrukt van inkscape (Vector) naar 3D geometrische achtbaan.

Afgedrukt van inkscape (Vector) naar 3D geometrische achtbaan.

Tijdens mijn stage bij FABLAB Breda vond ik nuttig iets. Dus ontdekt Ik heb net dat u een vector tekenprogramma's maken van 3D-modellen met behulp van twee programma's kunt gebruiken. Ik ben begonnen met het programma Inkscape. Vanaf daar gebruikte i
Bouw een Foamcore CNC Machine

Bouw een Foamcore CNC Machine

een low cost CNC machine in uw keuken, bouwen voor onder $120, met behulp van tools verkrijgbaar bij uw lokale kunst en ijzerwinkels.Dit project wil verlagen van de begane grond van CNC machinebouw. Het maakt gebruik van foamcore - een gemakkelijk te
Draagbare Raspberry Pi emulatie Machine

Draagbare Raspberry Pi emulatie Machine

u ooit geweest in de situatie waar je wilde spelen die nostalgiac Super Nintendo games met je vrienden terwijl op een 200 mijl lange tocht door het regenwoud van Madagaskar? Waarschijnlijk niet, maar als de situatie ooit zich u voordoet kunt deze zoe
Bamboe eettafel en zitbanken

Bamboe eettafel en zitbanken

ik wilde maken van een eettafel, dat zou een leven lang meegaan. Ik had genoten hebben van de bamboe meubels bij ons op kantoor en ik had een heleboel 1'x 8' lengtes om mee te werken. Ik gebruikte een waterjet door OMAX voor alle van het snijden om t
Iphone scherm krassen verwijderen

Iphone scherm krassen verwijderen

problemen met het verwijderen van krassen van dat stoere nails als scherm? Er is een manier, maar het duurt een heleboel elleboog vet.Stap 1: over de telefoon De iPhone, anders dan de ipods heeft een scherm van glas aan de voorzijde om te helpen bij