INHOUDSOPGAWE:
- Stap 1: Dreadboard:
- Stap 2: Juiste Aansluiting Dreadboard:
- Stap 3: Solderen/ Juiste -kode:
- Stap 4: Stap4 GEDOEN:
Video: Kraak De Kluis: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Inleiding
Hallo almal, Ek kan eerlik sê dat hierdie die eerste keer dat ek op my instruksies sit, my projek ITTT. Dus voor my 'If This Then That' -projek nie kan instel nie.
Die idee is om 'n soort van ontsnappingsruimte te vind, waarvan u die rekenaar op 'n rekenaar kan kodeer. LAAT OP: dit is nie 'n skermskerm nie! Hier is die benodigdhede vir die selfdoen ''n kluisje met 'n aanpasbare kluiskode':- Arduino uno (en usb naar arduino-kabel).- Laptop (met arduino-program).- 4 knoppies (anders kan u geen kode invoere nie.).- 1 kabel (dit kan gebruik word om die servo aan te skaf).- 1 Houten kistje- 1 plastiek bakje- 1 pen
Stap 1: Dreadboard:
Om te begin, is altyd 'n soortgelyke projek om op die internet te soek. ^^^
Ek kan hier met die slag 'n eie 4x gekopieerd kry wat hier op die geslote staat staan. Sien dit op die foto's ^^^
Ook kan hierdie webwerf 'n kode bied vir 1 knop. Hierdie het ek gekopieerd en ek kon deur 4 knoppies gaan.
Hieronder de code die erbij hoorde (voor nu): NIET WERKEND
#insluit
Servo myservo;
int inputPin = 2; // knoppie int outputPin = 9; // servo int buttonState = HOOG; // laag omdat schakelaar oop is int pos = 0; // begin positie servo int oldbuttonState; int toestand;
ongeldige opstelling () {myservo.attach (outputPin); pinMode (inputPin, INPUT_PULLUP); Serial.begin (38400); } void lus () {int buttonState = digitalRead (inputPin); if (buttonState == HIGH &&! oldbuttonState) {if (state == 0) {pos = 0; staat = 1; } anders {pos = 180; toestand = 0; } oldbuttonState = 1; } anders as (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }
Stap 2: Juiste Aansluiting Dreadboard:
My volgende stap was 'n tekening wat ek presies weet hoe ons weer in mekaar moet terugkeer.
Hierboven mijn schema en hier onder my code (voor nu): NIET WERKEND
#insluit
Servo myservo;
int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // knoppie 4
int buttonState2 = HOOG; // laag omdat skakelaar oop is int buttonState3 = HOOG; int buttonState4 = HOOG; int buttonState5 = HOOG;
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; // begin positie servo bool voltooid = waar;
ongeldige opstelling () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }
leegte lus () {if (voltooi) {for (int i = 0; i <4; i ++) {enterCode = 0; } pos = 100; myservo.write (pos); Serial.println ("Voltooi"); voltooi = vals; }
anders {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 ++; // kodeindeks += 1 oldbuttonState2 = 1; } anders as (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }
if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {Serial.println ("BUTTON2 GEDRUK"); enterCode [codeIndex] = 2; codeIndex ++; oldbuttonState3 = 1; }
anders as (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }
as (buttonState4 == HIGH &&! oldbuttonState4) // button3 {enterCode [codeIndex] = 3; codeIndex ++; oldbuttonState4 = 1; } anders as (buttonState4 == LOW && oldbuttonState4) {oldbuttonState4 = 0; }
if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {enterCode [codeIndex] = 4; codeIndex ++; oldbuttonState5 = 1; } anders as (buttonState5 == LOW && oldbuttonState5) {oldbuttonState5 = 0; } //Serial.print("entered: "); //Serial.println(enterCode[codeIndex-1]); //Serial.print("On: "); //Serial.println(codeIndex-1); }
as (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = true; for (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}
as (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); vertraging (5000); } voltooi = waar; Serial.println (codeEnteredCorrectly? "True": "false"); }}
Stap 3: Solderen/ Juiste -kode:
Ja! ben je al zover gekomen ?! Super!
Nu is dit handig om selfs rustig aan jou te doen en alles goed te bederf! Maak eers 'n soldeer wat jy vir solank kan begin.
Nou moet jy rekening hou met hoe jy jou kluis kan sien. Ook jy het die arduino in die kluisje van die buituiten.
By my het ek 'n kans gekry om 'n kant van my kluisje te maak. En gee aan die ander my arduino (met daarbo 'n drukplaat met daar op die knoppies) om te maak. Bekyk die laaste plaatjie vir 'n duidelike uitleg.
Eindelik! Hier is ook die WERKENDE -kode:
#insluit
Servo myservo;
int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // knoppie 4
int buttonState2 = HOOG; // voor alle knoppies 'n staat int buttonState3 = HOOG; int buttonState4 = HOOG; int buttonState5 = HOOG;
int oldbuttonState2; // voor alle knoppies 'n oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;
int correctCode = {1, 3, 4, 2}; // korrigeer kode int enterCode [4]; // in gegee kode int codeIndex = 0; // verteller
int outputPin = 9; // servomotortje -uitvoer
int pos; // positie servo bool voltooi = waar; // Maak kluis oop
ongeldige opstelling () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }
void lus () {as (voltooi) // die diens op die regte punt om te laat begin
{for (int i = 0; i <4; i ++) // voor ieder cijfer in eneterCode {enterCode = 0; } pos = 100; // 100 grade was voor mij de 'dichte' stand myservo.write (pos); // stuur die pos na die servo voltooi = vals; // die kode is nie volledig} anders {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5); if (buttonState2 == HIGH &&! oldbuttonState2) // button1 {Serial.println ("BUTTON1 GEDRUK"); // laat sien dat hierdie knoppie gedruk is enterCode [codeIndex] = 1; // stel die nommer 1 in die enterCode codeIndex ++ in; // teller + 1 oldbuttonState2 = 1; // kyk of die knop gedruk is} anders as (buttonState2 == LOW && oldbuttonState2) // as button1 is los gelaten {oldbuttonState2 = 0; // kan ander in gedrukt word} if (buttonState3 == HIGH && oldbuttonState3) // button2 {
Serial.println ("BUTTON2 GEDRUK"); // laat sien dat hierdie knoppie gedruk is enterCode [codeIndex] = 2; // dit kan 2 in die enterCode codeIndex ++; // teller + 1 oldbuttonState3 = 1; // kyk of die knop gedruk is} anders as (buttonState3 == LOW && oldbuttonState3) // as button2 is los gelaten {oldbuttonState3 = 0; // kan ander in gedrukt word}
if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 GEDRUK"); // laat sien dat hierdie knoppie gedruk is enterCode [codeIndex] = 3; // stel die nommer 3 in die enterCode codeIndex ++; // teller + 1 oldbuttonState4 = 1; // kyk of die knop gedruk is} anders as (buttonState4 == LOW && oldbuttonState4) // as button3 is los gelaten {oldbuttonState4 = 0; // kan ander in gedrukt word}
if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 GEDRUK"); // laat sien dat hierdie knoppie gedruk is enterCode [codeIndex] = 4; // dit is 4 in die enterCode codeIndex ++; // teller + 1 oldbuttonState5 = 1; // kyk of die knop gedruk word} anders as (buttonState5 == LOW && oldbuttonState5) // as button4 is los gelaten {oldbuttonState5 = 0; // kan ander in gedrukt word}}
as (codeIndex == 4) // as mijn teller hoger dan 4 {codeIndex = 0 is; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // maak een nieuwe boolean aan for (int i = 0; i <4; i ++) // voor ieder cijfer in the enterCode {if (correctCode ! = enterCode ) // word gekeken of it not in de correctCode zit {codeEnteredCorrectly = false; // as daar 'n fout op die plaat is, kan die woord vals wees}}
as (codeEnteredCorrectly) // as die kode korrek is: {pos = 0; // 0 grade was voor my de 'open' stand myservo.write (pos); // stuur die pos na die servo Serial.println ("Voltooi"); // gee indicatie dat hy compleet is delay (5000); // 5 sec om het kluisje te openen} complete = true; // die kode is nie goed Serial.println ("probeer weer"); // aandui dat jy oor die tyd moet proberen. }
}
Stap 4: Stap4 GEDOEN:
Ek kan u self plesier hê!
Ek lees graag wat jy van ons gemaak het. Veel sukses en maak iets moois van!
Aanbeveel:
Ingeboude kluis: 4 stappe
Ingeboude kluis .: In 'n salige aura is die behoud van die dinge aan die binnekant iets wat 'n groot opwinding is. Die naam 'Lock of Lock' is regtig 'n meeslepende deel van my daaglikse artikels wat oral voorkom, vanweë die aard daarvan, maar wat doen dit? Eenvoudig
Bou 'n kluis met 'n Rpi: 12 stappe
Bou 'n kluis met behulp van 'n Rpi: wil u leer hoe u u Framboos -pi kan omskep in 'n volledig funksionerende kluis? Volg dan hierdie instruksies van 12 stappe om te leer hoe. Die kluis het 'n volledig funksionele bedieningspaneel en 'n sluitstelsel, sodat u u besittings veilig kan hou
Instruksies is soos kraak !: 5 stappe
Instructables is Like Crack !: Hierdie instruksies sal wys hoe om weg te kom van die uiters verslawende Instructables -webwerf en weer aan die werk te kom. Waarskuwing: www.instructables.com is 'n baie verslawende webwerf en sal talle ure van u andersins produktiewe dag afloop. Dit
Die wagwoord op 'n toestel met Arduino kraak: 8 stappe
Deur die wagwoord op 'n toestel te kraak met Arduino: ek het 'n kamera om foto's van diere in vryheid te neem (merk VICTURE en model HC200) waarop ek 'n wagwoord geplaas het en na 'n rukkie sonder om dit te gebruik, het ek vergeet. Skakel nou die kamera aan, verskyn vier nulle (is die vier posisies van die wagwoord) en 'n
Kraak en herstel 'n elektroniese kluis: 3 stappe
N Elektroniese kluis kraak en herstel: 'n lang storie, as ek die inhoud van die kluis vir 'n vriend verwyder, kan ek die kluis bewaar … waarom nie 'n kans gee nie