Мазмуну:

Kraak De Kluis: 4 кадам
Kraak De Kluis: 4 кадам

Video: Kraak De Kluis: 4 кадам

Video: Kraak De Kluis: 4 кадам
Video: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Июль
Anonim
Kraak De Kluis
Kraak De Kluis

Introductie

Салам алемал, Бул жерде ITTT долбоорунун ITTT. Dus vijn 's This If That That' долбоору онлайн режиминде ишке ашырылууга тийиш.

Эң башкысы - бул качып кетүүчү бөлмө, бул компьютердин жардамы менен компьютердин коду болуп саналат. LET OP: het is not dus niet meten een schermpje! Бул жерде DIY 'een kluisje met aanpasbare kluis code':- Arduino uno (usb naar arduino cabel).- Ноутбук (arduino программасы менен жолугушту).- 4 Buttons (anders kun je geen code invoeren).- 6 Zwarte kabels (deze gebruik je voor de Gnd (-).- 2 Rode kabels (deze gebruik je voor 5V (+).- 4 Groene kabels (deze gebruik je voor het uitlezen van knopjes)).- 1 Геле кабели (сервистик кызматтар)

1 -кадам: Dreadboard:

Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard

Дагы башталгыч нерсе - бул интернет. Ик конструкциялардын бири - бул интернеттеги маалымат! ^^^

Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсун Которуу 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 ^^^

Каттоодон өтүү үчүн сайт 1 кодду басыңыз. Deze had ik gekopieerd en ben ik op door door gangan voor 4 knopjes.

Hieronder de code erbij hoorde (nou nu): NIET WERKEND

#кошуу

Servo myservo;

int inputPin = 2; // баскычы int outputPin = 9; // servo int buttonState = HIGH; // төмөн omdat schakelaar open is int pos = 0; // oldbuttonState кызматын баштоо; int state;

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; мамлекет = 1; } else {pos = 180; мамлекет = 0; } oldbuttonState = 1; } else if (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

2 -кадам: Жүйстө 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

Mijn volgende stap was een shema tekenen zo dat ik precies weet hoe het weer terug in elkaar moet.

Hierboven схемасы бул коддун үстүндө (vu nu): NIET WERKEND

#кошуу

Servo myservo;

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

int buttonState2 = HIGH; // төмөн omdat 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; // баштоо позициясы servo bool аяктады = чын;

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 ("Аякталды"); аяктады = жалган; }

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 ++; // код Индекс += 1 oldbuttonState2 = 1; } else if (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

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

else if (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

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

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

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

if (codeEnteredClaimly) {pos = 0; myservo.write (pos); Serial.println (pos); кечигүү (5000); } аяктады = чындык; Serial.println (codeEnteredClaimly? "True": "false"); }}

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 ?! Супер!

Жөн эле эмес, ал тургай, эң башкысы да!

Жөнөкөй сөз менен айтканда, бул жерде эмне бар экени белгилүү болду. Ооба же жокпу, айтор, эрбуитен.

Bij mij had ik er voor gekozen om aan een kant mijn kluisje te maken. En om aan de andere mijn arduino (met daar boven een printplaatje met daar op de knopjes) te maken.

Eindelijk! Бул жерде эч нерсе жок, бирок бул WERKENDE коду:

#кошуу

Servo myservo;

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

int buttonState2 = HIGH; // бардык баскычтар мамлекеттик int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = HIGH;

int oldbuttonState2; // бардык баскычтар oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // int enterCode кодун оңдоо [4]; // gegeven кодунда int codeIndex = 0; // айтуучу

int outputPin = 9; // servomotortje чыгаруу

int pos; // pozitie servo bool аяктады = чын; // Ачык сактагыч

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) // de servo op het juiste punt te laten starten

{for (int i = 0; i <4; i ++) // eneterCode {enterCode = 0; } pos = 100; // 100 gradens was voor mij de 'dichte' stand myservo.write (pos); // stuurt de pos naar de servo аяктады = жалган; // де коду niet 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 PRESSED"); // баскыч баскычы enterCode [codeIndex] = 1; // zet het cijfer 1 enterCode codeIndex ++ ичинде; // теллер + 1 oldbuttonState2 = 1; // de knopтун кижкти gedrukt} else if (buttonState2 == LOW && oldbuttonState2) // als button1 los gelaten {oldbuttonState2 = 0; // күндөн -түнгө өтүү начарлайт} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("BUTTON2 PRESSED"); // баскыч баскычы enterCode [codeIndex] = 2; // zet het cijfer 2 enterCode codeIndex ++ ичинде; // теллер + 1 oldbuttonState3 = 1; // de knopтун кижкти gedrukt} else if (buttonState3 == LOW && oldbuttonState3) // als button2 los gelaten {oldbuttonState3 = 0; // күндөн эр andere in gedrukt worden}

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 PRESSED"); // баскыч баскычы enterCode [codeIndex] = 3; // zip het cijfer 3 enterCode codeIndex ++; // теллер + 1 oldbuttonState4 = 1; // de knopтун кижкти gedrukt} else if (buttonState4 == LOW && oldbuttonState4) // als button3 los gelaten {oldbuttonState4 = 0; // күндөн эр andere in gedrukt worden}

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 PRESSED"); // баскыч баскычы enterCode [codeIndex] = 4; // enterCode codeIndex ++ ичинде 4 -кат; // теллер + 1 oldbuttonState5 = 1; // de knopтун кижкти gedrukt} else if (buttonState5 == LOW && oldbuttonState5) // als button4 los gelaten {oldbuttonState5 = 0; // куннен эр andere in gedrukt worden}}

эгерде (codeIndex == 4) // башка дагы айтуучу Хогер дан 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // maakt een nieuwe логикалык аан үчүн (int i = 0; i <4; i ++) // enterCode {if (correctCode ! = enterCode ) // het nietтин сөзү гекен туура коддун коду {codeEnteredCorrectly = false; // als er een cijfer op de foute plaatst staat dan word hij false}}

if (codeEnteredCorrectly) // дагы код туура: {pos = 0; // 0 graden was voor myij de 'open' stand myservo.write (pos); // Serial.println ("Аякталды"); // geeft indicatie dat hij compleet is delay (5000); // 5 сек. // de code is niet goed Serial.println ("кайра аракет кыл"); // көрсөткүчтөрдү текшерүү. }

}

4 -кадам: 4 -кадам АТКАРЫЛДЫ:

4 -АТКАРЫЛДЫ
4 -АТКАРЫЛДЫ

Көңүл ачкыла!

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

Сунушталууда: