Innehållsförteckning:

Kraak De Kluis: 4 steg
Kraak De Kluis: 4 steg

Video: Kraak De Kluis: 4 steg

Video: Kraak De Kluis: 4 steg
Video: Bram (13) scheert hoofd kaal na video over Kalvijn 2024, November
Anonim
Kraak De Kluis
Kraak De Kluis

Introduktion

Hallå alla, Jag kan verkligen säga att det här första gången är att jag kan instruera mig om mitt projekt ITTT. Dus för mijn 'If This Then That' -projekt kan jag inte instuktivera online.

Den här idén är en typ av utrymningsrum där du kan skapa vilken kod du kan använda för att veranda. LÅT OP: det är inte en skärmbild! Här finns de nödvändiga för en DIY 'en klubb med en anpassad klubbkod':- Arduino uno (en usb för arduino-kabel).- Bärbar dator (med arduino-program).- 4 knappar (annars kan du inte använda någon kodfaktor).- 6 kablar (du kan använda dem för Gnd (-).- 2 kablar (som du kan använda för 5V (+).- 4 stora kablar (som du kan använda för att använda knappar)).- 1 Gele-kabel (som du kan använda för att få tillgång till servo).- 1 Houten kistje- 1 Plastic bakje- 1 Ijzeren pin

Steg 1: Dreadboard:

Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard

Om du börjar kan du alltid hitta ett jämförbart projekt för att söka på internet. ^^^

Jag kan här med att slagna kommer att ha en egen 4x bekämpning av vad som här kan anges.

Även finns på denna webbplats en kod för 1 knapp. Denna hade jag köpt och jag fick dörren för fyra knappar.

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

#omfatta

Servo myservo;

int inputPin = 2; // knapp int outputPin = 9; // servo int buttonState = HIGH; // låg eftersom schakelaar open är int pos = 0; // starta positie servo int oldbuttonState; int tillstånd;

void setup () {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; tillstånd = 1; } annat {pos = 180; tillstånd = 0; } oldbuttonState = 1; } annars if (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

Steg 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öljande stap var en text som kan ge mig information om hur vi återkommer i varandra.

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

#omfatta

Servo myservo;

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

int buttonState2 = HIGH; // låg eftersom schakelaar open is int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = HIGH;

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 fullbordat = true;

void setup () {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 (complete) {for (int i = 0; i <4; i ++) {enterCode = 0; } pos = 100; myservo.write (pos); Serial.println ("Slutförd"); slutförd = falsk; }

annars {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 ++; // kodindex += 1 oldbuttonState2 = 1; } annars if (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

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

annars om (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

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

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

om (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = true; för (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}

if (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); fördröjning (5000); } slutfört = sant; Serial.println (codeEnteredCorrectly? "True": "false"); }}

Steg 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!

Nu är det handig om även rustig att göra och allt bra att bedenken! Gör först en soldeer shema'tje för att du kommer att börja med solderen.

Nu måste du beräkna att hålla med hur du kan se att du kommer att se. En så kan du också se hur du ska köra till tå. Ook je de arduino in het kluisje legt of erbuiten.

Jag fick en för att få en av mina kläder att göra. En om den andra min arduino (med en över en tryckplatta med där på de knapparna) för att göra.

Eindelijk! Här finns också en hel del hjälp av min mede studenten och en hoop som jag själv har gjort, här är WERKENDE -koden:

#omfatta

Servo myservo;

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

int buttonState2 = HIGH; // voor alla knappar en state int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = HIGH;

int oldbuttonState2; // voor alla knappar en oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // korrigera kod int enterCode [4]; // in given code int codeIndex = 0; //kassör

int outputPin = 9; // servomotortje -utmatning

int pos; // positie servo bool fullbordat = true; // Öppna valvet

void setup () {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 (complete) // the service to the correct punt te laten start

{för (int i = 0; i <4; i ++) // voor ieder cijfer i 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 att den här knappen gedrukt är 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 andra in gedrukt worden} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("BUTTON2 TRESSED"); // laat se att denna knapp gedrukt är enterCode [codeIndex] = 2; // zet het 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 andra in gedrukt worden}

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 TRESSED"); // laat se att denna knapp gedrukt är 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 andra in gedrukt worden}

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 TRESSED"); // laat se att denna knapp gedrukt är 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 andra in gedrukt worden}}

om (codeIndex == 4) // som mijn teller hoger är dan 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // gör en ny boolean aan för (int i = 0; i <4; i ++) // voor ieder cijfer in the enterCode {if (correctCode ! = enterCode ) // word gekeken of it niet in de correctCode zit {codeEnteredCorrectly = false; // som det är en cijfer på den felaktiga platsen där ordet är falskt}}

if (codeEnteredCorrectly) // som de code correct is: {pos = 0; // 0 grader was voor mij de 'open' stand myservo.write (pos); // skicka de pos till servo Serial.println ("Slutförd"); // ger indicatie dat hij compleet is delay (5000); // 5 sec om het kluisje te openen} complete = true; // de code is not goed Serial.println ("försök igen"); // indikation på att du måste uppdatera. }

}

Steg 4: Steg4 KLART:

Steg 4 KLART
Steg 4 KLART

Jag tror att du kan ha roliga saker tillsammans!

Jag läser gärna vad du har gjort.

Rekommenderad: