Mündəricat:

Kraak De Kluis: 4 addım
Kraak De Kluis: 4 addım

Video: Kraak De Kluis: 4 addım

Video: Kraak De Kluis: 4 addım
Video: De FOMO show pleegt een overval | De Kluis'23 #4 2024, Iyul
Anonim
Kraak De Kluis
Kraak De Kluis

Giriş

Salam allemaal

Bu proqramlar, ITTT layihəsi ilə əlaqədar olaraq, "Əgər bu sonra olarsa" layihəsi onlayn olaraq həyata keçirilə bilər.

Qaçış otağının hər hansı bir hissəsini kompüterdən çıxarmaq üçün hər şeyi etmək lazımdır. LET OP: het is not dus niet met een schermpje! Bu təsviri ingilis (Amerika Birləşmiş Ştatları) dilinə geri tərcümə edin Tərcümə edin:- Arduino uno (en usb naar arduino cabel).- Laptop (arduino proqramına uyğun).- 4 Buton anders kun je geen code invoeren).- 6 Zwarte kabels (de 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 Gele kabel (servis xidməti)

Addım 1: Dreadboard:

Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard

Başlanğıcda İnternetdən bir layihə əldə etmək çox asandır, çünki bu, ən yaxşı xidmətdir! ^^^

Şəkil 4x çox böyükdür və bu fotoşəkillərin böyük bir hissəsidir. ^^^

Saytdakı bütün məlumatların kodunu 1 gündən sonra tapa bilərsiniz. Deze 4 il əvvəl qapını açdı.

Hieronder de erbij hoorde (nu): NIET WERKEND

#daxil edin

Servo xidməti;

int inputPin = 2; // düymə int outputPin = 9; // servo int düyməsiState = HIGH; // aşağı omdat schakelaar açıqdır int pos = 0; // pozitie servo int oldbuttonState -ə başlayın; int dövlət;

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; vəziyyət = 1; } başqa {pos = 180; vəziyyət = 0; } oldbuttonState = 1; } başqa halda (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

Addım 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

Məşqlər bir -birinin ardınca başa çatdı.

Hierboven kodu bu kodda (nu) göstərilir: NIET WERKEND

#daxil edin

Servo xidməti;

int inputPin2 = 2; // button1 int inputPin3 = 3; // düymə2 int inputPin4 = 4; // button3 int inputPin5 = 5; // düymə4

int düyməsiState2 = YÜKSƏK; // aşağı açıqdır int düyməsidirState3 = YÜKSƏK; int düyməsiState4 = YÜKSƏK; int düyməsiState5 = YÜKSƏK;

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 pozitie servo bool tamamlandı = doğru;

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 (tamamlandı) {for (int i = 0; i <4; i ++) {enterCode = 0; } pos = 100; myservo.write (pos); Serial.println ("Tamamlandı"); tamamlandı = yalan; }

başqa {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5);

əgər (buttonState2 == HIGH &&! oldbuttonState2) // button1 {enterCode [codeIndex] = 1; codeIndex ++; // kod indeksi += 1 oldbuttonState2 = 1; } başqa halda (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

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

başqa halda (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

əgər (buttonState4 == HIGH &&! oldbuttonState4) // button3 {enterCode [codeIndex] = 3; codeIndex ++; oldbuttonState4 = 1; } başqa halda (buttonState4 == LOW && oldbuttonState4) {oldbuttonState4 = 0; }

əgər (buttonState5 == HIGH &&! oldbuttonState5) // button4 {enterCode [codeIndex] = 4; codeIndex ++; oldbuttonState5 = 1; } başqa halda (buttonState5 == LOW && oldbuttonState5) {oldbuttonState5 = 0; } //Serial.print("daxil edildi:"); //Serial.println(enterCode[codeIndex-1]); //Serial.print("On: "); //Serial.println(codeIndex-1); }

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

if (codeEnteredClaimly) {pos = 0; myservo.write (pos); Serial.println (pos); gecikmə (5000); } tamamlandı = doğru; Serial.println (codeEnteredClaimly? "True": "false"); }}

Addım 3: Lehimləmə/ Juiste Kodu:

Lehim/ Juiste Kodu
Lehim/ Juiste Kodu
Solderen/ Juiste Kodu
Solderen/ Juiste Kodu
Lehim/ Juiste Kodu
Lehim/ Juiste Kodu

Bəli! ben je al zover gekomen ?! Super!

Əlbəttə ki, hər hansı bir problem yoxdur!

Bir az daha çox məlumat əldə etmək üçün ən yaxşı yolları tapın. Başlanğıcda bir çox problem var.

Bij mij had ik er voor gekozen om aan een kant mijn kluisje te maken. En om aan de andere mijn arduino (met niar boven een printplaatje met dear op de knopjes) te maken. Bekjk het laatste plaatje voor een duidelijkere.

Edelijk! Bu proqramlar WERKENDE kodudur:

#daxil edin

Servo xidməti;

int inputPin2 = 2; // düymə1 int inputPin3 = 3; // düymə2 int inputPin4 = 4; // button3 int inputPin5 = 5; // düymə4

int düyməsiState2 = YÜKSƏK; // bütün düymələr dövlət int düymələriState3 = YÜKSƏK; int düyməsiState4 = YÜKSƏK; int düyməsiState5 = YÜKSƏK;

int oldbuttonState2; // bütün düymələr oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // kodu daxil edin enterCode [4]; // gegeven kodunda int codeIndex = 0; // danışan

int outputPin = 9; // xidmətin çıxışı

int pos; // pozitie servo bool tamamlandı = doğru; // Açıq tonoz

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 ilə əlaqəli məlumatlar {enterCode = 0; } pos = 100; // 100 dərəcəyə çatdı 'dichte' stand myservo.write (pos); // xidmət də tamamlandı = yalan; // de kodu niet compleet} başqa {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5); əgər (buttonState2 == HIGH &&! oldbuttonState2) // button1 {Serial.println ("BUTTON1 PRESSED"); // düyməni basmaqla EnterCode [codeIndex] = 1; // enterCode codeIndex ++ daxilində zet het cijfer 1; // teller + 1 oldbuttonState2 = 1; // ki knkt of knop gedrukt} else if (buttonState2 == LOW && oldbuttonState2) // als button1 los gelaten {oldbuttonState2 = 0; // gadrukt pis vəziyyətdə} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("DÜĞMƏ2 BASILDI"); // düyməni basmaqla EnterCode [codeIndex] = 2; // enterCode codeIndex ++ daxilində zet het cijfer 2; // teller + 1 oldbuttonState3 = 1; // kijkt of knop gedrukt} else if (buttonState3 == LOW && oldbuttonState3) // als button2 los gelaten {oldbuttonState3 = 0; // gedrükdə pis günlər var}

əgər (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 PRESSED"); // düyməni basmaqla EnterCode [codeIndex] = 3; // enterCode codeIndex ++ daxilində zet het cijfer 3; // teller + 1 oldbuttonState4 = 1; // knop of de knop gedrukt} else if (buttonState4 == LOW && oldbuttonState4) // als button3 los gelaten {oldbuttonState4 = 0; // gedrükdə pis günlər var}

əgər (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 PRESSED"); // düyməni basmaqla EnterCode [codeIndex] = 4; // enterCode codeIndex ++ daxilində zet het cijfer 4; // teller + 1 oldbuttonState5 = 1; // kijkt of knop gedrukt} else if (buttonState5 == LOW && oldbuttonState5) // als button4 los gelaten {oldbuttonState5 = 0; // gündən sonra andru gedrukt pisləşdi}}

if (codeIndex == 4) // hər şeydən əvvəl teller hoger dan 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredClaimly = doğru; (ma int e = 0; i <4; i ++) doğrucode kodu {codeEnteredCorrectly = yalan; // başqa sözlər də yanlışdır}

if (codeEnteredClaimly) // digər kod düzgündürsə: {pos = 0; // 0 dərəcəsi "açıq" idi myservo.write (pos); // Serial.println ("Tamamlandı"); // gecikmənin göstəricisi gecikdir (5000); // 5 saniyə açıldı} tamamlandı = doğru; // de kod niet goed Serial.println ("yenidən cəhd edin"); // indiki məlumatları yoxlayın. }

}

Adım 4: Adım 4 YAPILDI:

Addım 4
Addım 4

Əyləncə! Əylən!

Bir az daha çox şey var, amma heç bir problem yoxdur!

Tövsiyə: