Mündəricat:
- Addım 1: Dreadboard:
- Addım 2: Juiste Aansluiting Dreadboard:
- Addım 3: Lehimləmə/ Juiste Kodu:
- Adım 4: Adım 4 YAPILDI:
Video: Kraak De Kluis: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
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:
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:
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:
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:
Əyləncə! Əylən!
Bir az daha çox şey var, amma heç bir problem yoxdur!
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Robot texnikasında bir dəst ilə addım-addım təhsil: 6 addım
Bir dəst ilə Robototexnikada Addım-addım Təhsil: Öz robotumu düzəltdikdən bir neçə ay sonra (zəhmət olmasa bunların hamısına baxın) və iki dəfə hissələri arızalandıqdan sonra bir addım geri çəkilmək və öz fikrimi yenidən düşünmək qərarına gəldim. strategiya və istiqamət. Bir neçə aylıq təcrübə bəzən çox mükafatlandırıcı idi və
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)