ዝርዝር ሁኔታ:

ክራክ ደ ክሉስ 4 ደረጃዎች
ክራክ ደ ክሉስ 4 ደረጃዎች

ቪዲዮ: ክራክ ደ ክሉስ 4 ደረጃዎች

ቪዲዮ: ክራክ ደ ክሉስ 4 ደረጃዎች
ቪዲዮ: #የቤላሚ ወጥቶ መውረድ የሚገደልበትን ሰዓትአንደሚጠብቅ የሞት ፍርደኛ ሆንኩ ፍቅር ይልቃል Fikir Yilkal Tribune Sport 2024, ሀምሌ
Anonim
ክራክ ደ ክሉስ
ክራክ ደ ክሉስ

መግቢያ

Hallo allemaal ፣

ኢክ ጋ eerlijk zijn en hierbij zeggen dat dit de erste keer is dat ik op instructables zit and mijn project ITTT. Dus voor mijn 'If This Then That' ፕሮጀክት zet ik deze instuctable online.

Het idee is om een soort van ማምለጫ ክፍል kluis te maken waarvan je makkelijk op je computer de code kan veranderen. LET OP: het is dus niet met een schermpje! Hier onder de benodigdheden voor de DIY 'een kluisje met aanpasbare kluis code':- Arduino uno (በ usb naar arduino cabel).- ላፕቶፕ (የአርዲኖ ፕሮግራም)- 4 አዝራሮች (anders kun je geen code invoeren).- 6 ዝዋርቴ ካቤል (ዴዜ ገብሩክ ጀ voor de Gnd (-).- 2 Rode kabels (deze gebruik je voor 5V (+).- 4 Groene kabels (deze gebruik je voor het uitlezen van knopjes).- 1 ገለ ካቤል (deze gebruik je voor de aansturing van de servo).- 1 Houten kistje- 1 Plastic bakje- 1 Ijzeren pin

ደረጃ 1 ዳርድቦርድ

ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦
ዳርድቦርድ ፦

ኦም ተጀማም ማለት አልቲጅድ ሃዲግ ኦም ኢየን vergelijkbaar ፕሮጀክት op te zoeken op internet. ^^^

Ik ben hier mee aan de slag gegaan en heb eigenlijk 4x gekopieerd wat hier aan gesloten staat. Dit zie je op de foto's ^^^

Ook stond op deze ጣቢያ een code erbij voor 1 knopje. ደዘ ኢክ gekopieerd en ben ik op በር gegaan voor 4 knopjes.

ሄይደርደር ዲ ኮድ erbij hoorde (voor nu): NIET WERKEND

#ያካትቱ

Servo myservo;

int inputPin = 2; // አዝራር int outputPin = 9; // servo int buttonState = HIGH; // ዝቅተኛ omdat schakelaar ክፍት int pos = 0; // positie servo int oldbuttonState ን ይጀምሩ። int ግዛት;

ባዶነት ማዋቀር () {myservo.attach (outputPin); pinMode (ግብዓት ፒን ፣ INPUT_PULLUP); Serial.begin (38400); } ባዶነት loop () {int buttonState = digitalRead (inputPin); ከሆነ (buttonState == HIGH &&! oldbuttonState) {ከሆነ (ግዛት == 0) {pos = 0; ግዛት = 1; } ሌላ {pos = 180; ግዛት = 0; } oldbuttonState = 1; } ሌላ ከሆነ (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

ደረጃ 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

ሚጂን ቮልገንዴ ስቴፕ ነበር een shema tekenen zo dat ik precies weet hoe het weer terug in elkaar moet.

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

#ያካትቱ

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // አዝራር 4

int buttonState2 = ከፍተኛ; // ዝቅተኛ omdat schakelaar ክፍት int buttonState3 = HIGH; int buttonState4 = ከፍተኛ; int buttonState5 = ከፍተኛ;

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

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

int outputPin = 9; // ሰርቪስ

int pos; // ጀምር positie servo bool ተጠናቀቀ = እውነት;

ባዶነት ማዋቀር () {myservo.attach (outputPin); pinMode (ግብዓት ፒን 2 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 3 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 4 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 5 ፣ INPUT_PULLUP); Serial.begin (38400); }

ባዶነት loop () {(ከተጠናቀቀ) {ለ (int i = 0; i <4; i ++) {enterCode = 0; } ፖዝ = 100; myservo.write (pos); Serial.println ("ተጠናቀቀ"); ተጠናቀቀ = ሐሰት; }

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

ከሆነ (buttonState2 == HIGH &&! oldbuttonState2) // button1 {enterCode [codeIndex] = 1; ኮድ ኢንዴክስ ++; // ኮድ ማውጫ += 1 oldbuttonState2 = 1; } ሌላ ከሆነ (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

ከሆነ (buttonState3 == HIGH &&! oldbuttonState3) // button2 {Serial.println ("BUTTON2 PRESSED"); enterCode [codeIndex] = 2; ኮድ ኢንዴክስ ++; oldbuttonState3 = 1; }

ሌላ ከሆነ (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

ከሆነ (buttonState4 == HIGH &&! oldbuttonState4) // button3 {enterCode [codeIndex] = 3; ኮድ ኢንዴክስ ++; oldbuttonState4 = 1; } ሌላ ከሆነ (buttonState4 == LOW && oldbuttonState4) {oldbuttonState4 = 0; }

ከሆነ (buttonState5 == HIGH &&! oldbuttonState5) // button4 {enterCode [codeIndex] = 4; ኮድ ኢንዴክስ ++; oldbuttonState5 = 1; } ሌላ ከሆነ (buttonState5 == LOW && oldbuttonState5) {oldbuttonState5 = 0; } //Serial.print("entered: ") ፤ //Serial.println(enterCode [ኮድ ኢንዴክስ -1])); //Serial.print("On: "); //Serial.println(codeIndex-1); }

ከሆነ (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = እውነት; ለ (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}

ከሆነ (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); መዘግየት (5000); } ተጠናቀቀ = እውነት; Serial.println (codeEnteredCorrectly? "True": "false"); }}

ደረጃ 3 የሶልዴረን/ የጁስቴ ኮድ

የ Solderen/ Juiste ኮድ
የ Solderen/ Juiste ኮድ
የ Solderen/ Juiste ኮድ
የ Solderen/ Juiste ኮድ
የ Solderen/ Juiste ኮድ
የ Solderen/ Juiste ኮድ

ጃ! ben je al zover gekomen ?! ልዕለ!

ኑ ሄት ሃዲግ ኦም እንኳ ሩስቲግ አነ ተ ዶን እን አለስ ጎድ ተ bedenken! Maak erst een soldeer shema'tje voor dat je gaat beginnen met solderen. (Dit helpt je een hoop als je dit voor af doet inplaats van achteraf!)።

ኑ ሞት ጀ ረከንግ ጋአን ሁደን መቱ ሆ ዬ ክሉይስ ኤሪት ጋት ዣን ።እን ዱስ ኦክ ዋር ዬ ዬ ካብልስ ናር ጣት እግር። ኦርክ ጀ ደ አርዱinoኖ በኤርቡታይን ውስጥ het kluisje legt.

Bij mij had ik er voor gekozen om aan een kant mijn kluisje te maken. En om om de deere mijn arduino (met daar boven een printplaatje met daar op de knopjes) te maken. Bekijk het laatste plaatje voor een duidelijkere uitleg.

አይንድሊጅክ! ና ኦክ veel hulp van mijn mede studenten en een hoop zelf te hebben gedaan, is hier de WERKENDE code:

#ያካትቱ

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // አዝራር 4

int buttonState2 = ከፍተኛ; // voor alle አዝራሮች een state int buttonState3 = HIGH; int buttonState4 = ከፍተኛ; int buttonState5 = ከፍተኛ;

int oldbuttonState2; // voor alle አዝራሮች een oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // intCode ኮድ ያስተካክሉ [4]; // በጌጌቨን ኮድ int codeIndex = 0; // ተናጋሪ

int outputPin = 9; // servomotortje ውፅዓት

int pos; // positie servo bool ተጠናቀቀ = እውነት; // ግምጃ ቤት ይክፈቱ

ባዶነት ማዋቀር () {myservo.attach (outputPin); pinMode (ግብዓት ፒን 2 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 3 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 4 ፣ INPUT_PULLUP); pinMode (ግብዓት ፒን 5 ፣ INPUT_PULLUP); Serial.begin (38400); }

ባዶነት loop () {(ከተጠናቀቀ) // de servo op het juiste punt te laten starten

{ለ (int i = 0; i <4; i ++) // voor ieder cijfer eneterCode ውስጥ {enterCode = 0; } ፖዝ = 100; // 100 graden ነበር voor mij de 'dichte' stand myservo.write (POS); // stuurt de pos naar de servo ተጠናቀቀ = ሐሰት; // de code niet compleet} ሌላ {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5); ከሆነ (buttonState2 == HIGH &&! oldbuttonState2) // button1 {Serial.println ("BUTTON1 PRESSED"); // laat zien dat deze አዝራር gedrukt enterCode ነው [codeIndex] = 1; // zet het cijfer 1 በ de enterCode codeIndex ++; // ተናጋሪ + 1 oldbuttonState2 = 1; // kijkt of de knop gedrukt} ሌላ ከሆነ (buttonState2 == LOW && oldbuttonState2) // als button1 los gelaten {oldbuttonState2 = 0; // kunnen er andere in gedrukt worden} ከሆነ (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("BUTTON2 ተጭኗል"); // laat zien dat deze አዝራር gedrukt enterCode ነው [codeIndex] = 2; // zet het cijfer 2 በ de enterCode codeIndex ++; // ተናጋሪ + 1 oldbuttonState3 = 1; // kijkt of de knop gedrukt} ሌላ ከሆነ (buttonState3 == LOW && oldbuttonState3) // als button2 los gelaten {oldbuttonState3 = 0; // kunnen er andere in gedrukt worden}

ከሆነ (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 PRESSED"); // laat zien dat deze አዝራር gedrukt enterCode ነው [codeIndex] = 3; // zet het cijfer 3 በ de enterCode codeIndex ++; // ተናጋሪ + 1 oldbuttonState4 = 1; // kijkt of de knop gedrukt} ሌላ ከሆነ (buttonState4 == LOW && oldbuttonState4) // als button3 los gelaten {oldbuttonState4 = 0; // kunnen er andere in gedrukt worden}

ከሆነ (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 PRESSED"); // laat zien dat deze አዝራር gedrukt enterCode ነው [codeIndex] = 4; // zet het cijfer 4 በ de enterCode codeIndex ++; // ተናጋሪ + 1 oldbuttonState5 = 1; // kijkt of de knop gedrukt} ሌላ ከሆነ (buttonState5 == LOW && oldbuttonState5) // als button4 los gelaten {oldbuttonState5 = 0; // kunnen er andere in gedrukt worden}}

ከሆነ (codeIndex == 4) // als mijn teller hoger is dan 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // maakt een nieuwe boolean aan for (int i = 0; i <4; i ++) // voor ieder cijfer in de enterCo ({(ትክክል ኮድ ! = enterCode ) // ቃል gekeken of het niet in de correctCode zit {codeEnteredCorrectly = false; // als er een cijfer op de foute plaatst staat dan word hij false}}

ከሆነ (codeEnteredCorrectly) // als de ኮድ ትክክል ነው ፦ {pos = 0; // 0 graden ነበር voor mij de 'open' stand myservo.write (POS); // stuurt de pos naar de servo Serial.println ("ተጠናቀቀ"); // geeft indicatie dat hij compleet መዘግየት ነው (5000); // 5 ሰከንድ om het kluisje te openen} ተጠናቀቀ = እውነት; // ዴ ኮድ niet goed ነው Serial.println ("እንደገና ይሞክሩ"); // አመላካች dat je overnieuw moet proberen. }

}

ደረጃ 4 ደረጃ 4 ተከናውኗል

ደረጃ 4 ተከናውኗል
ደረጃ 4 ተከናውኗል

ሽሮፍ ጀ ክሉይጄ ቢጅ ኢልካር እንዝናና!

Ik lees graag wat jullie er van hebben gemaakt. Veel suc6 en maak er iets moois van!

የሚመከር: