Სარჩევი:
ვიდეო: სეიფი: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ეს არის ის, რაც უნდა იყოს თქვენი საბოლოო შედეგი მისი შედგენისა და კოდის ატვირთვის შემდეგ.
ნაბიჯი 1: ის, რაც დაგჭირდებათ
Jumper Wires, 220 OHM რეზისტორი, 16x2 LCD ეკრანი, Push ღილაკები, Servo Motor, Breadboard, Arduino Uno.
ნაბიჯი 2: კოდი
ჯეიმს ჩინჩაი
#ჩართეთ
#ჩართეთ #ჩართეთ
int მისამართი = 0; სტატიკური ხელმოუწერელი გრძელი SaveTimer; სტატიკური ხელმოუწერელი ხანგრძლივი SaveDelay = (30 * 1000);
char კოდი [10] = "1234E"; char Str [10]; char CodeLength = 4; int Pos = 0; bool გახსნილია; სტატიკური ხელმოუწერელი გრძელი DisplayTimer; სტატიკური ხელმოუწერელი ხანგრძლივი DisplayDelay = 200;
LiquidCrystal LCD (12, 11, 9, 8, 7, 6);
int ღილაკი pin1 = 2; int ღილაკი pin2 = 3; int ღილაკი Pin3 = 4; int ღილაკი Pin4 = 5;
int enterbutton = 10; int clearlockbutton = 13;
Servo myServo; // კონსტრუქციის პროგრამის დაყენება void setup () {
myServo.attach (A1);
int EEPROMCodeOK = ჭეშმარიტი; for (Pos = 0; Pos <= (CodeLength); Pos ++) {Str [Pos] = EEPROM.read (Pos); თუ (! (strrchr ("1123456789", Str [Pos]))) {// არ არის მოქმედი კოდი EEPROMCodeOK = ყალბი; }} პოზი ++; Str [Pos] = EEPROM.read (Pos); if (Str [CodeLength + 1]! = 'E') EEPROMCodeOK = false; if (EEPROMCodeOK) {Str [CodeLength + 2] = '\ 0'; strncpy (CODE, Str, CodeLength + 1); } ClearCode (); // შეყვანის pinMode (buttonPin1, INPUT_PULLUP) დაყენება; pinMode (ღილაკი Pin2, INPUT_PULLUP); pinMode (ღილაკი Pin3, INPUT_PULLUP); pinMode (ღილაკი Pin4, INPUT_PULLUP);
pinMode (შესვლის ღილაკი, INPUT_PULLUP); pinMode (გასაღების ღილაკი, INPUT_PULLUP);
lcd. დასაწყისი (16, 2); lcd.setCursor (0, 0); // შეტყობინებების გაგზავნა lcd.print ("გამარჯობა ბატონო არყო"); დაგვიანება (2000); lcd. წმინდა (); lcd.setCursor (0, 0); // პაროლის მოთხოვნის დაყენება lcd.print ("პაროლი:");
DisplayTimer = millis () + 200; }
ბათილი მარყუჟი () {
ჩაკეტვა ();
Pos = შეზღუდვა (Pos, 0, CodeLength); // ღილაკების წაკითხვა int buttonState1 = digitalRead (buttonPin1); int buttonState2 = digitalRead (ღილაკი Pin2); int buttonState3 = digitalRead (ღილაკი Pin3); int buttonState4 = digitalRead (ღილაკი Pin4);
int clButtonState = digitalRead (გასაღების ღილაკი); int enterButtonState = digitalRead (შესვლის ღილაკი);
lcd.setCursor (9, 0); // მოთხოვნები გააქტიურებისათვის if (buttonState1 == LOW) {Str [Pos] = '1'; პოზი ++; Str [Pos] = '\ 0'; დაგვიანება (250); ხოლო (digitalRead (buttonPin1) == LOW);
}
else if (buttonState2 == LOW) {Str [Pos] = '2'; პოზი ++; Str [Pos] = '\ 0'; დაგვიანება (250); ხოლო (digitalRead (buttonPin2) == დაბალი);
}
else if (buttonState3 == LOW) {Str [Pos] = '3'; პოზი ++; Str [Pos] = '\ 0'; დაგვიანება (250); ხოლო (digitalRead (buttonPin3) == დაბალი); }
else if (buttonState4 == LOW) {Str [Pos] = '4'; პოზი ++; Str [Pos] = '\ 0'; დაგვიანება (250); ხოლო (digitalRead (buttonPin4) == დაბალი);
} else if (enterButtonState == LOW) {Str [Pos] = 'E'; პოზი ++; Str [Pos] = '\ 0'; დაგვიანება (250); ხოლო (digitalRead (buttonPin1) == დაბალი); if (strcmp (Str, CODE) == 0) {Unlocked = true; lcd.setCursor (0, 0); lcd.print ("დაშვებული დაშვება"); დაგვიანება (2000); lcd. წმინდა (); lcd.print ("გახსნილია"); } else if (SaveTimer> millis () && (Pos + 1) == CodeLength) {
strcpy (CODE, Str); for (Pos = 0; Pos <= (CodeLength+1); Pos ++) {EEPROM.write (Pos, Str [Pos]); } lcd.setCursor (0, 0); lcd.print ("შენახვის კოდი:"); lcd.setCursor (0, 1); lcd.print (Str);
განბლოკილი = ჭეშმარიტი; }
სხვა {
lcd. წმინდა (); lcd.print ("წვდომა აკრძალულია."); დაგვიანება (2000); lcd. წმინდა (); lcd.print ("პაროლი:");
} // კოდის განბლოკვა (განბლოკილია) {განბლოკვა (); if (digitalRead (clearlockbutton) == LOW) {დაგვიანებით (200); lcd. წმინდა (); lcd.print ("ჩაკეტილი"); დაგვიანება (2000); lcd. წმინდა (); განბლოკილი = ყალბი; SaveTimer = millis () + 30000; }}
ClearCode ();
}
სხვა შემთხვევაში თუ (clButtonState == LOW) {დაგვიანებით (500);
ხოლო (clearlockbutton == LOW); if ((millis () - SaveTimer)> 4500) {
}
ClearCode ();
}
if ((long) (millis () - DisplayTimer)> = 0) {DisplayTimer += DisplayDelay; lcd.setCursor (9, 0); lcd.print (Str); lcd.print ("");
} }
ბათილია ClearCode () {
პოზი = 0; Str [Pos] = '\ 0'; lcd.setCursor (0, 0); lcd.print ("პაროლი:"); lcd.setCursor (0, 1); lcd.print ("");
}
ბათილად გახსნა () {
myServo.write (150);
} // პროგრამის დაბლოკვის ღილაკი void Lock () {
myServo.write (50);
}
ნაბიჯი 3:
როდესაც ყველაფერი კეთდება, ასე უნდა გამოიყურებოდეს.
გირჩევთ:
ნახევარი ნაბიჯი: 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 ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან