Სარჩევი:
- ნაბიჯი 1: დაფის დაფა:
- ნაბიჯი 2: Juiste Aansluiting Dreadboard:
- ნაბიჯი 3: Solderen/ Juiste კოდი:
- ნაბიჯი 4: ნაბიჯი 4 შესრულებულია:
ვიდეო: კრაკ დე კლუისი: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
შესავალი
ჰალო ალმაალ, Ik ga eerlijk zijn en hierbij zeggen dat dit de eerste keer is dat ik op instructables zit na mijn project ITTT. Dus voor mijn 'If This Then That' პროექტი zet ik deze instuctable online.
Het idee არის om een soort van escape room 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 (en usb naar arduino cabel).- ლეპტოპი (შეხვდა arduino პროგრამას).- 4 ღილაკი (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: დაფის დაფა:
Om te beginnen is het altijd handig om an vergelijkbaar project 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 slag gegaan en heb eigenlijk 4x gekopieerd wat hier aan gesloten staat. Dit zie je op de foto's ^^^
Ook stond op deze site een code erbij voor 1 knopje. Deze had ik gekopieerd en ben ik op door gegaan voor 4 knopjes.
Hieronder de code die erbij hoorde (voor nu): NIET WERKEND
#ჩართეთ
სერვო მისერვო;
int inputPin = 2; // ღილაკი int outputPin = 9; // servo int buttonState = მაღალი; // დაბალი omdat schakelaar open is int pos = 0; // დაწყება პოზიტიური სერვისი oldbuttonState; int სახელმწიფო;
void setup () {myservo.attach (outputPin); pinMode (inputPin, INPUT_PULLUP); სერიული.დაწყება (38400); } void loop () {int buttonState = digitalRead (inputPin); if (buttonState == HIGH &&! oldbuttonState) {if (მდგომარეობა == 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: Juiste Aansluiting Dreadboard:
Mijn volgende stap იყო ema shema tekenen zo dat ik precies weet hoe het weer terug in elkaar moet.
Hierboven mijn სქემა და hier onder mijn კოდი (voor nu): NIET WERKEND
#ჩართეთ
სერვო მისერვო;
int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // ღილაკი 4
int ღილაკი სახელმწიფო 2 = მაღალი; // დაბალი omdat schakelaar open is int buttonState3 = HIGH; int buttonState4 = HIGH; 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; // დაწყება პოზიტივის servo bool დასრულდა = ჭეშმარიტი;
void setup () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); სერიული.დაწყება (38400); }
ბათილი მარყუჟი () {თუ (დასრულებულია) {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(" შესულია: "); //Serial.println(enterCodEcodeIndex-1]); //Serial.print("On: "); //Serial.println(codeIndex-1); }
if (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = ჭეშმარიტი; for (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}
if (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); დაგვიანება (5000); } დასრულებულია = მართალია; Serial.println (codeEnteredCorrectly? "True": "false"); }}
ნაბიჯი 3: Solderen/ Juiste კოდი:
ჰა! ben je al zover gekomen ?! სუპერ!
Nu is het handig om even rustig aan te doen en alles goed te bedenken! Maak eerst een soldener shema'tje voor dat je gaat beginnen met solderen. (Dit helpt je een hoop als je dit voor af doet inplaats van achteraf!).
Nu moet je rekening gaan houden met hoe je kluis eruit gaat zien. En dus ook waar je je kabels naar toe legt. Ook je de arduino in het kluisje legt of erbuiten.
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. Bekijk het laatste plaatje voor een duidelijkere uitleg.
ეინდელიელი! Na ook veel hulp van mijn mede studenten en een hoop zelf te hebben gedaan, is hier de WERKENDE კოდი:
#ჩართეთ
სერვო მისერვო;
int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // ღილაკი 4
int ღილაკი სახელმწიფო 2 = მაღალი; // voor alle ღილაკები een state int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = მაღალი;
int oldbuttonState2; // voor alle buttons een oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;
int correctCode = {1, 3, 4, 2}; // შეასწორეთ კოდი int enterCode [4]; // gegeven კოდში int codeIndex = 0; //მთხრობელი
int outputPin = 9; // სერვისმოტორული გამომავალი
int pos; // positie servo bool დასრულდა = ჭეშმარიტი; // ღია სარდაფი
void setup () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); სერიული.დაწყება (38400); }
void loop () {თუ (დასრულებულია) // de servo op het juiste punt te laten starten
{for (int i = 0; i <4; i ++) // voor ieder cijfer eneterCode {enterCode = 0; } pos = 100; // 100 graden was voor mij de 'dichte' stand myservo.write (pos); // stuurt de pos naar de servo დასრულებული = ყალბი; // de კოდი არის niet plotëset} 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"); // laat zien dat deze ღილაკი gedrukt არის enterCode [codeIndex] = 1; // zet het cijfer 1 in 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} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {
Serial.println ("BUTTON2 PRESSED"); // laat zien dat deze ღილაკი gedrukt არის enterCode [codeIndex] = 2; // zet het cijfer 2 in 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}
if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 PRESSED"); // laat zien dat deze ღილაკი gedrukt არის enterCode [codeIndex] = 3; // zet het cijfer 3 in 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}
if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 PRESSED"); // laat zien dat deze ღილაკი gedrukt არის enterCode [codeIndex] = 4; // zet het cijfer 4 in 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}}
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 ++) // voor ieder cijfer in enterCode {if (correctCode ! = enterCode ) // სიტყვა gekeken of het niet in de correctCode zit {codeEnteredCorrectly = false; // als er een cijfer op de foute plaatst staat dan word hij false}}
if (codeEnteredCorrectly) // სხვა კოდი სწორია: {pos = 0; // 0 graden was voor mij de 'open' stand myservo.write (pos); // stuurt de pos naar de servo Serial.println ("დასრულებულია"); // გასაგები მითითებით, რომ მისი შევსება დაგვიანებულია (5000); // 5 წმ om het kluisje te openen} დასრულებული = ჭეშმარიტი; // de code is niet goed Serial.println ("სცადე ხელახლა"); // მითითება არის ზედმეტი მოთხრობა. }
}
ნაბიჯი 4: ნაბიჯი 4 შესრულებულია:
Schroef je kluisje bij elkaar en fun! Ik heb er zelf raadsels bij bedacht om het zo iets moeilijker te maken!
Ik lees graag wat jullie er van hebben gemaakt. Veel suc6 en maak er iets moois van!
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან