Super Secret Lock Box w / Capacitieve Touch (2 / 3 stap)

Stap 2: code


Interrupts kunnen worden lastig, digitale pin 2 is ook PCINT0. dat is de reden waarom de knop is verbonden met pin 2, maar de interrupt vastzit op 0.

#include < Servo.h >

#include < CapacitiveSensor.h >

#include < avr/sleep.h >

Const byte rood = 6;
Const byte groen = 7;
Const byte blauw = 8;

Const byte pot1 = A0;
Const byte pot2 = a1 worden verkregen;
Const byte pot3 = A2;

Const byte knop = 2;

int Overzichtscode1 = 1;
int code2 = 1;
int code3 = 1;

int pot_val1 = 0;
int pot_val2 = 0;
int pot_val3 = 0;

int button_val = 0;

int de aanraking;

unsigned long currentMillis = 0;
unsigned long codeMillis = 0;
unsigned long buttonMillis = 0;
unsigned long sleepMillis = 0;

CapacitiveSensor cs_10_11 = CapacitiveSensor(3,4);

Servo myservo;

int sleepCounter = 0;
Booleaanse staat = laag;

VOID Setup
{
Serial.begin(9600);
pinMode (rood, OUTPUT);
pinMode (groen, uitvoer);
pinMode (blauw, uitvoer);
pinMode (button, INPUT);
pinMode (pot1, INPUT);
pinMode (pot2, INPUT);
pinMode (pot3, INPUT);
cs_10_11.set_CS_AutocaL_Millis(20000);
digitalWrite (knop, hoge);
attachInterrupt (0, interrupt, stijgt);

}
void loop
{
getPots(); lezen in pot waarden
mapAllPots(); hen aan te passen aan de juiste schaal
Als (pot_val1 == Overzichtscode1 & & pot_val2 == code2 & & pot_val3 == code3) //if wachtwoord correct is
{
Serial.println("success!");
g(); lichtgroen geleid
Unlock(); ontgrendelen van de vergrendeling
sleepNow(); Ga slapen
}
anders
{
Serial.println("Failure");
r(); inschakelen van rode led
}

currentMillis = millis();
button_val =! digitalRead(button); luiden naar de waarde van de knop
Serial.println(button_val);
Serial.println(sleepCounter);

if(button_val == 1) //if knop is ingedrukt, reset de timers.
{
sleepMillis = currentMillis;
codeMillis = currentMillis;
}

Als ((currentMillis-sleepMillis) > 20000) //if timer verloopt, gaan slapen
{
sleepMillis = currentMillis;
sleepNow();
}

aanraken = highLow(cs_10_11.capacitiveSensor(30)); Lees touch precisiecapaciteit en kaart het naar een binair getal hoog of laag
Serial.println(Touch);
currentMillis = millis();
if(Touch == 1)
{
Als ((currentMillis-codeMillis) > 5000) //if touch is 1 gedurende 5 seconden
{
b(); th lichtblauw geleid
storeCode(); code uit pot waarden opslaan
delay(300);
codeMillis = currentMillis;
}
}
if(Touch == 0) //if geen aanraking reset timer om te voorkomen dat de accumulatie van tijd
{
codeMillis = currentMillis;
}

}

einde van de lus
////////////////////////////////

VOID interrupt()
{
currentMillis = millis();

Als ((currentMillis-buttonMillis) > 200)
{

buttonMillis = currentMillis;
}
}
VOID sleepNow() / / hier zetten we de arduino te slapen
{
Off(); alle LED's uitschakelen

set_sleep_mode(SLEEP_MODE_PWR_DOWN); slaapstand ligt hier

sleep_enable(); kunnen de slaap bit in het mcucr-register
slapen is dus mogelijk. gewoon een veiligheidsspeld

attachInterrupt (0, interrupt, stijgt); interrupt 0 (pin 2) gebruikt en de functie uitvoert
wakeUpNow wanneer pin 2 krijgt een laag
MCUCR = bits (BODS) | bit (BODSE); brown-out inschakelen Selecteer inschakelen
MCUCR = bits (BODS); Dit moet gebeuren binnen 4 klokcycli van bovenstaande

SLEEP_MODE(); Hier is het apparaat eigenlijk laten inslapen!!
HET PROGRAMMA BLIJFT VANAF HIER NA HET WAKKER WORDEN

sleep_disable(); eerste ding na het ontwaken uit de slaap:
Ontredderen slaap...
detachInterrupt(0); Hiermee schakelt u onderbreken 0 op pin 2 zodat de
wakeUpNow code zal niet worden uitgevoerd
tijdens normale speelduur

}
int highLow (niet-ondertekende lang x)
{
Als (x > = 300)
{
return 1;
}
anders
{
keren 0;
}

}

VOID getPots()
{
pot_val1 = analogRead(pot1);
pot_val2 = analogRead(pot2);
pot_val3 = analogRead(pot3);
}
VOID mapAllPots()
{
pot_val1 = mapPot(pot_val1);
pot_val2 = mapPot(pot_val2);
pot_val3 = mapPot(pot_val3);
}
int mapPot (int in)
{
Als (in > 1010) {}
return 1;
}
anders als (in > 950) {}
terug 2;
}
anders als (in > 900) {}
terug 3;
}
anders als (in > 630) {}
terug 4;
}
anders als (in > 480) {}
terug 5;
}
anders als (in > 190) {}
terug 6;
}
anders als (in > 80) {}
terug 7;
}
anders als (in > 30) {}
terug 8;
}
anders als (in > 3) {}
retourneren van 9;
}
}
VOID storeCode()
{
Overzichtscode1 = pot_val1;
code2 = pot_val2;
code3 = pot_val3;
}
VOID r()
{
digitalWrite (rood, hoge);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
}
VOID g()
{
digitalWrite (rood, laag);
digitalWrite (groen, hoog);
digitalWrite (blauw, laag);
}
VOID b()
{
digitalWrite (rood, laag);
digitalWrite (groen, lage);
digitalWrite (blauw, hoge);
}
VOID off()
{
digitalWrite (rood, laag);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
}
VOID unlock()
{
myservo.attach(9);
myservo.write(75);
delay(750);
myservo.write(96);
delay(250);
myservo.Detach();
}

Gerelateerde Artikelen

How To Make A Super Secret Safe - voor minder dan $3

How To Make A Super Secret Safe - voor minder dan $3

In dit project leert u hoe maak je een super secret kluis die niemand herkent, zelfs als ze rechtdoor het kijken.Ik maakte een lijst van onderdelen voor dit project dat u hebben kostenloos kuntVoor andere project video's, check out: http://www.thekin
Arduino Capacitieve Touch spel

Arduino Capacitieve Touch spel

Dit is een spel, vanaf verschillende spellen zoals pacman en mario brothers, ten uitvoer gelegd, zoals u waarschijnlijk kunt zien!Ik kreeg het idee om het combineren van de aanraakgevoelige en verwerking een om spel te maken door middel van een instr
Capacitieve Touch Sensing voor een persoonlijke massage

Capacitieve Touch Sensing voor een persoonlijke massage

Maak snel een banaan, een drankje, uw bed frame, een spanking peddel of zelfs uw sex partner een aanraakgevoelig controller voor uw dildo! De aangename gevoelens van een metalen hoofd massage synchroniseren met uw dildo, of je geliefde lichaam zoals
Twin Lock Box

Twin Lock Box

"Twin Lock Box" is een houten combinatieslot puzzel doos die ik ontworpen. Ik heb toegepast het monteur van mijn "Tricky openen van de fles" in dit vak typt.Deze puzzel doos heeft vijf sleutels aan beide kanten. U kunt alle houten sleu
Arduino - TTP223B - capacitieve TOUCH SENSOR SWITCH

Arduino - TTP223B - capacitieve TOUCH SENSOR SWITCH

Hello wereld! Vandaag maakte ik een code voor de ttp223b Capacitieve touch sensor. Een sensor die ik aan het testen ben voor mijn webshop, en het doet zijn werk! Zo snel ik zal toevoegen op mijn webshop op arduinosensors.nl. De code is heel eenvoudig
Arduino gecontroleerd Lock Box met magneetklep en RFID

Arduino gecontroleerd Lock Box met magneetklep en RFID

De RFID Lock Box combineert Arduino RFID en een solenoïde uw zeer eigen persoonlijke om veilig te maken! Het vergrendelen kunnen alleen worden geopend met sleutel kaarten die u hebt geprogrammeerd in het systeem, vergrendeling iedereen uit!Deze gids
Verborgen voertuig Lock Box glijdende

Verborgen voertuig Lock Box glijdende

Vind je jezelf nodig om waardevolle spullen in uw auto en niet vertrouwen uw handschoenenkastje ooit? Ik geconfronteerd dit probleem op een bijna dagelijkse basis. Of het een reis naar de golfbaan en willen verlaten mijn trouwring en horloge zijn opg
Capacitieve-Touch Arduino toetsenbord Piano

Capacitieve-Touch Arduino toetsenbord Piano

met alleen een Arduino, een paar weerstanden, een zoemer en sommige stukjes aluminiumfolie, kunt u uw eigen piano klavier van touch-sensor maken in slechts een paar minuten! Met behulp van een Arduino Uno, kunt u een piano met 18 toetsen; of met een
Morse Code met Capacitieve Touch!

Morse Code met Capacitieve Touch!

Hejo! Vandaag, zal ik u tonen hoe maak je een Capacitieve touch morse code thingamajigger! Zijn pretty cool en leuk voor een fundamentele arduino project. Zijn vrij gemakkelijk en het leren over aanraakgevoelige schakelopties is een weg die brengt u
Eenvoudige Capacitieve Touch Stylus Super

Eenvoudige Capacitieve Touch Stylus Super

ik struikelde over dit volledig bij toeval. Ik was te luisteren naar muziek op mijn telefoon op het werk een dag en het snoer op mijn koptelefoon gehouden aanraken van het scherm en waardoor het te jatten en klik op allerlei spullen. Toen ik thuis kw
Super Secret Safe boek

Super Secret Safe boek

maken een boek veilig met een geheim compartiment dat een sleutel moet te openen.Ik maakte mijn eerste boek veilig toen ik ongeveer 10 was.  Ik nog steeds hebben, en hoewel het is vrij ruw, dat het nog steeds doet precies wat het verondersteld wordt
Capacitieve Touch Arduino Lamp

Capacitieve Touch Arduino Lamp

bewerken: Ik maakte een andere een van deze, en een lamp van de ikea mee gehackt. U kunt zien de ' ible overe hierHet probleemHet is's avonds laat, en uw cellphone ringen. U kan niet zien waar het is, je blindelings betasten rond uw nachtkastje, teve
Hoe maak je een polyfone muziekinstallatie veroorzaakt door Capacitieve touch punten met behulp van een Arduino

Hoe maak je een polyfone muziekinstallatie veroorzaakt door Capacitieve touch punten met behulp van een Arduino

Tijdens een project bij KISD maakte wij een interactieve muziekinstallatie die speelbaar op een openbaar vervoer plaats was. De uitstraling van het is geïnspireerd door de kleurrijke metro plannen die elke trein-lijn te met een andere kleur scheiden.
Crystal Key Lock Box

Crystal Key Lock Box

Heb je ooit wilde iets om veilig te houden, maar saaie oude dozen gewoon niet jouw stijl? U zijn sterven voor een gloeiende lockbox die geopend door een kristal? Hier is de remedie die.Dit is een geweldige manier om indruk op iemand die u bereid bent