Innholdsfortegnelse:

Kraak De Kluis: 4 trinn
Kraak De Kluis: 4 trinn

Video: Kraak De Kluis: 4 trinn

Video: Kraak De Kluis: 4 trinn
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Juli
Anonim
Kraak De Kluis
Kraak De Kluis

Introduksjon

Hallo alle sammen, Jeg kan virkelig si at jeg kan si at det første gangen er at jeg kan instruere meg om mitt prosjekt ITTT. Dus for mijn 'If This Then That' -prosjekt kan ikke settes på dette instruktable online.

Ideen er å finne et slikt rømningsrom for å finne ut hvilken datamaskin du kan kode koden til. LA OP: det er ikke noe med et skjermbilde! Her er de nødvendige behovene for DIY 'en klubb med en mulig kodekode':- Arduino uno (en usb til arduino-kabel).- Bærbar datamaskin (med arduino-program).- 4 knapper (anders kun du ikke har noen kodefaktor).- 6 doble kabler (denne kan du bruke for Gnd (-).- 2 kabler (som du kan bruke for 5V (+).- 4 store kabler (som du kan bruke for å bruke knapper)).- 1 Gele kabel (denne kan brukes til å betjene servoen).- 1 Houten kistje- 1 plastbakke- 1 pinne

Trinn 1: Dreadboard:

Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard

For å begynne er det alltid mulig å finne et lignende prosjekt for å søke på internett. ^^^

Jeg kan bli med på slaggen og ha en egen 4x opplevelse som kan vise til bilder. ^^^

Også tilgjengelig på dette nettstedet en kode tilgjengelig for 1 knapp. Denne hadde jeg kjopieerd og ben jeg åpnet for 4 knapper.

Hieronder the code die erbij hoorde (voor nu): NIET WERKEND

#inkludere

Servo myservo;

int inputPin = 2; // knapp int outputPin = 9; // servo int buttonState = HIGH; // lav fordi schakelaar open er int pos = 0; // start positie servo int oldbuttonState; int tilstand;

ugyldig oppsett () {myservo.attach (outputPin); pinMode (inputPin, INPUT_PULLUP); Serial.begin (38400); } void loop () {int buttonState = digitalRead (inputPin); if (buttonState == HIGH &&! oldbuttonState) {if (state == 0) {pos = 0; tilstand = 1; } annet {pos = 180; tilstand = 0; } oldbuttonState = 1; } annet hvis (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

Trinn 2: Juiste Aansluiting Dreadboard:

Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard
Juiste Aansluiting Dreadboard

Min følgende stap var en tekst som kan si at jeg vet hvordan vi kan komme tilbake til hverandre.

Hierboven mijn schema en hier under mijn code (voor nu): NIET WERKEND

#inkludere

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // knapp 4

int buttonState2 = HIGH; // lav fordi schakelaar open is int buttonState3 = HIGH; int buttonState4 = HØY; int buttonState5 = HØY;

int oldbuttonState2; int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 2, 3, 4}; int enterCode [4]; int codeIndex = 0;

int outputPin = 9; // servo

int pos; // start positie servo bool fullført = true;

ugyldig oppsett () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }

void loop () {if (fullført) {for (int i = 0; i <4; i ++) {enterCode = 0; } pos = 100; myservo.write (pos); Serial.println ("Fullført"); fullført = usant; }

else {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5);

if (buttonState2 == HIGH &&! oldbuttonState2) // button1 {enterCode [codeIndex] = 1; codeIndex ++; // kodeindeks += 1 oldbuttonState2 = 1; } annet hvis (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {Serial.println ("BUTTON2 TRESSED"); enterCode [codeIndex] = 2; codeIndex ++; oldbuttonState3 = 1; }

ellers hvis (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {enterCode [codeIndex] = 3; codeIndex ++; oldbuttonState4 = 1; } annet hvis (buttonState4 == LOW && oldbuttonState4) {oldbuttonState4 = 0; }

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {enterCode [codeIndex] = 4; codeIndex ++; oldbuttonState5 = 1; } annet hvis (buttonState5 == LOW && oldbuttonState5) {oldbuttonState5 = 0; } //Serial.print("enteret: "); //Serial.println(enterCode[codeIndex-1]); //Serial.print("On: "); //Serial.println(codeIndex-1); }

hvis (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = true; for (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}

hvis (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); forsinkelse (5000); } fullført = sant; Serial.println (codeEnteredCorrectly? "True": "false"); }}

Trinn 3: Solderen/ Juiste Code:

Solderen/ Juiste Code
Solderen/ Juiste Code
Solderen/ Juiste Code
Solderen/ Juiste Code
Solderen/ Juiste Code
Solderen/ Juiste Code

Ja! ben je al zover gekomen ?! Super!

Nå er det lett å gjøre alt for å gjøre alt du trenger! Velg først en soldeer for at du skal begynne med solderen.

Nå må du regne med å holde hvordan du kan se at du kan se noe. Ook je de arduino in the kluisje legt of erbuiten.

Ved meg hadde jeg en mulighet til å oppdage en av mine klokker for å lage den. Send en annen til min arduino (med over en utskriftsplate med knappene) for å lage. Se den siste platen for et tydelig utseende.

Eindelijk! Se også mye hjelp av min mede student og en hoop selv som vi har gjort, er her WERKENDE -koden:

#inkludere

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // knapp 4

int buttonState2 = HIGH; // for alle knapper en state int buttonState3 = HIGH; int buttonState4 = HØY; int buttonState5 = HØY;

int oldbuttonState2; // for alle knapper en oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // korrigere kode int enterCode [4]; // i gitt kode int codeIndex = 0; //forteller

int outputPin = 9; // servomotortje -utgang

int pos; // positie servo bool fullført = true; // Åpne hvelv

ugyldig oppsett () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }

void loop () {hvis (fullført)

{for (int i = 0; i <4; i ++) // voor ieder cijfer in eneterCode {enterCode = 0; } pos = 100; // 100 grader was voor mij de 'dichte' stand myservo.write (pos); // sendt de pos naar the servo complete = false; // de code is not compleet} else {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5); if (buttonState2 == HIGH &&! oldbuttonState2) // button1 {Serial.println ("BUTTON1 TRESSED"); // laat se at denne knappen gedrukt er enterCode [codeIndex] = 1; // zet it cijfer 1 in the enterCode codeIndex ++; // teller + 1 oldbuttonState2 = 1; // kijkt of the knop is gedrukt} else if (buttonState2 == LOW && oldbuttonState2) // als button1 is los gelaten {oldbuttonState2 = 0; // kan er andre i gedrukt bli} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("BUTTON2 TRESSED"); // laat se at denne knappen gedrukt er enterCode [codeIndex] = 2; // zet it cijfer 2 in the enterCode codeIndex ++; // teller + 1 oldbuttonState3 = 1; // kijkt of the knop is gedrukt} else if (buttonState3 == LOW && oldbuttonState3) // als button2 is los gelaten {oldbuttonState3 = 0; // kan er andre in gedrukt word}

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 TRESSED"); // laat se at denne knappen gedrukt er enterCode [codeIndex] = 3; // zet it cijfer 3 in the enterCode codeIndex ++; // teller + 1 oldbuttonState4 = 1; // kijkt of the knop is gedrukt} else if (buttonState4 == LOW && oldbuttonState4) // als button3 is los gelaten {oldbuttonState4 = 0; // kan er andre in gedrukt worden}

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 TRESSED"); // laat se at denne knappen gedrukt er enterCode [codeIndex] = 4; // zet it cijfer 4 in the enterCode codeIndex ++; // teller + 1 oldbuttonState5 = 1; // kijkt of the knop is gedrukt} else if (buttonState5 == LOW && oldbuttonState5) // als button4 is los gelaten {oldbuttonState5 = 0; // kan er andre in gedrukt worden}}

if (codeIndex == 4) // als mijn teller hoger is dan 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // gjør en ny boolsk aan for (int i = 0; i <4; i ++) // for ieder cijfer in the enterCode {if (correctCode ! = enterCode ) // word gekeken of it not in de correctCode zit {codeEnteredCorrectly = false; // som det er en feil som kan oppstå som feilaktig ord}}

hvis (codeEnteredCorrectly) // som den riktige koden er: {pos = 0; // 0 grader var voor mij de 'open' stand myservo.write (pos); // sendt de pos naar the servo Serial.println ("Fullført"); // gir indicatie dat hij compleet is delay (5000); // 5 sec om het kluisje te openen} fullført = true; // de code is not goed Serial.println ("prøv igjen"); // indikasjon på at du ikke trenger å prøve noe nytt. }

}

Trinn 4: Trinn 4 GJORT:

Trinn 4 UTFØRT
Trinn 4 UTFØRT

Du kan glede deg over hverandre og ha det gøy!

Jeg vil gjerne se hva du har gjort. Velsuksess og en ting kan jeg gjøre!

Anbefalt: