İçindekiler:

Kraak De Kluis: 4 Adım
Kraak De Kluis: 4 Adım

Video: Kraak De Kluis: 4 Adım

Video: Kraak De Kluis: 4 Adım
Video: Mocro Maffia pleegt een overval | De Kluis'22 #3 2024, Kasım
Anonim
Kraak De Kluis
Kraak De Kluis

tanıtım

Merhaba allemaal, Ik ga eerlijk zijn en hierbij zeggen dat dit de eerste keer, ITTT. Dus voor mijn projesi zet ik deze çevrimiçi olarak öğretilebilir.

En iyi fikir, minibüsten kaçış odası için hazırlanmış bir bilgisayar kodudur. LET OP: en iyi iş görüşmesi oldu! Kendin Yap'ın 'genel koduyla tanıştım':- Arduino uno (arduino kablosunda usb).- Dizüstü bilgisayar (arduino programıyla tanıştı).- 4 Düğme (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 Gele kabel (deze gebruik je voor de aansturing van de servo).- 1 Houten kistje- 1 Plastik bakje- 1 Ijzeren pimi

Adım 1: Dreadboard:

Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard
Dreadboard

Om te başlangıç, het altijd handig o een vergelijkbaar projesi op te zoeken op internet. Ik kon hier niet veel van vinden en ben het plaatje hierboven wel tegen gekomen! ^^^

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

Ook stond op deze site een kodu erbij voor 1 knopje. Deze'de 4 kapılı kapı vardı.

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

#Dahil etmek

Servo myservo;

int inputPin = 2; // button int outputPin = 9; // servo int buttonState = YÜKSEK; // düşük omdat schakelaar açık int konum = 0; // positie servoyu başlat int oldbuttonState; int durumu;

geçersiz kurulum() { myservo.attach(outputPin); pinMode(inputPin, INPUT_PULLUP); Seri.başla(38400); } void loop() { int buttonState = digitalRead(inputPin); if (buttonState == HIGH && !oldbuttonState){ if (durum == 0) { konum = 0; durum = 1; } başka { konum = 180; durum = 0; } oldbuttonState = 1; } else if (buttonState == LOW && oldbuttonState) { oldbuttonState = 0; } Seri.println(konum); Serial.println(buttonState); myservo.write(konum); }

Adı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

Mijn volgende stap, elkaar moet'te çok değerliydi.

Hierboven mijn şeması ve hier onder mijn kodu (voor nu): NIET WERKEND

#Dahil etmek

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // düğme4

int buttonState2 = YÜKSEK; // düşük omdat schakelaar open is int buttonState3 = HIGH; int buttonState4 = YÜKSEK; int buttonState5 = YÜKSEK;

int eskidüğmeDurum2; int eskidüğmeState3; int eskidüğmeState4; int eskidüğmeState5;

int doğruKod = {1, 2, 3, 4}; int enterKodu[4]; int kodIndex = 0;

int çıktıPin = 9; // servo

int konum; // başlangıç konumu servo bool tamamlandı = true;

geçersiz kurulum() { myservo.attach(outputPin); pinMode(inputPin2, INPUT_PULLUP); pinMode(inputPin3, INPUT_PULLUP); pinMode(inputPin4, INPUT_PULLUP); pinMode(inputPin5, INPUT_PULLUP); Seri.başla(38400); }

void loop() { if (tamamlandı) { for (int i = 0; i < 4; i++) { enterCode = 0; } konum = 100; myservo.write(konum); Serial.println("Tamamlandı"); tamamlandı = yanlış; }

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++; //kod İndeks +=1 oldbuttonState2 = 1; } else if (buttonState2 == LOW && oldbuttonState2) { oldbuttonState2 = 0; }

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

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

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

if (buttonState5 == HIGH && !oldbuttonState5)//button4 { enterCode[codeIndex] = 4; codeIndex++; eskidüğmeDurum5 = 1; } else if (buttonState5 == LOW && oldbuttonState5) { oldbuttonState5 = 0; } //Serial.print("girildi: "); //Serial.println(enterCode[codeIndex-1]); //Serial.print("Açık: "); //Serial.println(codeIndex-1); }

if (codeIndex == 4) { codeIndex = 0; bool codeEnteredCorrectly = true; for (int i = 0; i < 4; i++) { if (doğruKod != enterKod) { kodEnteredDoğru = yanlış; } }

if (codeEnteredDoğru) { pos = 0; myservo.write(konum); Seri.println(konum); gecikme (5000); } tamamlandı = doğru; Serial.println(kodGirildiDoğru ? "doğru": "yanlış"); } }

Adım 3: Lehim/ Juiste Kodu:

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

Ya! ben je al zover gekomen?! Süper!

Her şey aynı bedenken!

En iyi şeyler, en iyiler, en iyiler. Ook je de arduino, erbuiten'in het kluisje bacağında.

Bij mij, iker voor gekozen om aan een kant mijn kluisje te maden. En om aan de andere mijn arduino (bir araya geldi, op de knopjes bir araya geldi.

Eindelijk! Na ook veel hulp van mijn mede Studenten en een hoop zelf te hebben gedaan, hier de WERKENDE kodudur:

#Dahil etmek

Servo myservo;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // düğme4

int buttonState2 = YÜKSEK; //tüm düğmeler een durum int buttonState3 = HIGH; int buttonState4 = YÜKSEK; int buttonState5 = YÜKSEK;

int eskidüğmeDurum2; // tüm düğmeler een eski durum int eskidüğmeState3; int eskidüğmeState4; int eskidüğmeState5;

int doğruKod = {1, 3, 4, 2}; // kodu düzelt int enterCode[4]; //gegeven kodunda int codeIndex = 0; // veznedar

int çıktıPin = 9; // servomotor çıkışı

int konum; // positie servo bool tamamlandı = true; // Kasayı aç

geçersiz kurulum() { myservo.attach(outputPin); pinMode(inputPin2, INPUT_PULLUP); pinMode(inputPin3, INPUT_PULLUP); pinMode(inputPin4, INPUT_PULLUP); pinMode(inputPin5, INPUT_PULLUP); Seri.başla(38400); }

void loop() { if (tamamlandı) //de servo op het juiste punt te laten starten

{ for (int i = 0; i < 4; i++) // eneterCode { enterCode = 0; } konum = 100; //100 sınıf oldu voor mij de 'dichte' stand myservo.write(poz); //servo stuurt de pos naar de servo tamamlandı = false; //kod tamdır } else { int buttonState2 = digitalRead(inputPin2); int buttonState3 = digitalRead(inputPin3); int buttonState4 = digitalRead(inputPin4); int buttonState5 = digitalRead(inputPin5); if (buttonState2 == YÜKSEK && !oldbuttonState2) //button1 { Serial.println("BUTTON1 BASILI"); // zien dat deze düğmesi gerukt enterCode[codeIndex] = 1; // zet het cijfer 1 in de enterCode codeIndex++; //teller + 1 oldbuttonState2 = 1; // de knop'un kijkt'si gedrukt } else if (buttonState2 == LOW && oldbuttonState2) // als button1 los gelaten { oldbuttonState2 = 0; // gerukt worden'de kunnen er andere } if (buttonState3 == HIGH && !oldbuttonState3)//button2 {

Serial.println("BUTTON2 BASILI"); // laat zien dat deze düğmesi gedrukt enterCode[codeIndex] = 2; // zet het cijfer 2 in de enterCode codeIndex++; //teller + 1 oldbuttonState3 = 1; // de knop'un kijkt'si gedrukt'tur } else if (buttonState3 == LOW && oldbuttonState3) // als button2 los gelaten'dir { oldbuttonState3 = 0; // gedrukt worden'de kunnen er andere }

if (buttonState4 == HIGH && !oldbuttonState4)//button3 { Serial.println("BUTTON3 BASILI"); // laat zien dat deze düğmesi gedrukt enterCode[codeIndex] = 3; // zet het cijfer 3 in de enterCode codeIndex++; //teller + 1 oldbuttonState4 = 1; // de knop'un kijkt'si gerukt'tur } else if (buttonState4 == LOW && oldbuttonState4) // als button3 los gelaten'dir { oldbuttonState4 = 0; // gedrukt worden'de kunnen er andere }

if (buttonState5 == HIGH && !oldbuttonState5)//button4 { Serial.println("BUTTON4 BASILI"); // zien dat deze düğmesi gerukt enterCode[codeIndex] = 4; //zet het cijfer 4 in de enterCode codeIndex++; //teller + 1 oldbuttonState5 = 1; // de knop'un kijkt'si gedrukt'tur } else if (buttonState5 == LOW && oldbuttonState5) // als button4 los gelaten'dir { oldbuttonState5 = 0; // gedrukt worden'de kunnen er andere } }

if (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++) // enterCode { if (correctCode != enterCode)//het niet'in kelime gekeken'i de CorrectCode zit { codeEnteredCorrectly = false; //als er een cijfer op de foute plaatst staat ve word hij false } }

if (codeEnteredCorrectly) // kod de doğru ise: { pos = 0; // 0 derece, 'açık' stant oldu myservo.write(kon); //servo için konum bilgisi Serial.println("Tamamlandı"); //geeft göstergesi, bitiş tarihi gecikmedir(5000); //5 saniye sonra açıldı } tamamlandı = doğru; //kod sıfırlandı Serial.println("tekrar deneyin"); // daha fazla bilgi için işaretle. }

}

4. Adım: 4. Adım TAMAMLANDI:

4. Adım TAMAMLANDI
4. Adım TAMAMLANDI

İyi eğlenceler! Ik heb er zelf raadsels bij bedacht om het zo iets moeilijker te yapılmış!

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

Önerilen: