ዝርዝር ሁኔታ:

አስተማማኝ ሣጥን - 3 ደረጃዎች
አስተማማኝ ሣጥን - 3 ደረጃዎች

ቪዲዮ: አስተማማኝ ሣጥን - 3 ደረጃዎች

ቪዲዮ: አስተማማኝ ሣጥን - 3 ደረጃዎች
ቪዲዮ: የ 3 ወር የእርግዝና መከላከያ መርፌ አደገኛ ጉዳት እና አጠቃቀም ማወቅ አለባችሁ| Depo provera contraceptive injection 2024, ሀምሌ
Anonim
አስተማማኝ ሣጥን
አስተማማኝ ሣጥን
አስተማማኝ ሣጥን
አስተማማኝ ሣጥን
አስተማማኝ ሣጥን
አስተማማኝ ሣጥን

አንድ ላይ ካስቀመጡት እና ኮዱን ከሰቀሉ በኋላ የእርስዎ የመጨረሻ ውጤት መሆን ያለበት ይህ ነው።

ደረጃ 1: የሚያስፈልጉዎት ነገሮች።

የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።
የሚያስፈልጉዎት ነገሮች።

የጁምፐር ሽቦዎች ፣ 220 OHM resistor ፣ 16x2 ኤልሲዲ ማያ ገጽ ፣ የግፋ አዝራሮች ፣ ሰርቮ ሞተር ፣ የዳቦ ሰሌዳ ፣ አርዱዲኖ ኡኖ።

ደረጃ 2 ኮድ

ጄምስ ቺንቻይ

#ያካትቱ

#አካትት #አካትት

int አድራሻ = 0; የማይንቀሳቀስ ፊርማ ረጅም SaveTimer; የማይንቀሳቀስ ያልተፈረመ ረዥም SaveDelay = (30 * 1000);

ቻር ኮድ [10] = "1234E"; ቻር Str [10]; የቻር ኮድ ርዝመት = 4; int Pos = 0; bool ተከፍቷል; የማይንቀሳቀስ ያልተፈረመ ረጅም DisplayTimer; የማይንቀሳቀስ ያልተፈረመ ረጅም DisplayDelay = 200;

LiquidCrystal lcd (12, 11, 9, 8, 7, 6);

int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5;

int enterbutton = 10; int clearlockbutton = 13;

Servo myServo; // የግንባታ ፕሮግራሙን ባዶነት ማቀናበር () {

myServo.attach (A1);

int EEPROMCodeOK = እውነት; ለ (Pos = 0; Pos <= (CodeLength); Pos ++) {Str [Pos] = EEPROM.read (Pos); ከሆነ (! (strrchr ("1123456789" ፣ Str [Pos])))) {// ልክ ያልሆነ ኮድ EEPROMCodeOK = ሐሰት; }} Pos ++; Str [Pos] = EEPROM.read (Pos); ከሆነ (Str [CodeLength + 1]! = 'E') EEPROMCodeOK = ሐሰት; ከሆነ (EEPROMCodeOK) {Str [CodeLength + 2] = '\ 0'; strncpy (CODE ፣ Str ፣ CodeLength + 1); } ClearCode (); // የግብዓት ፒን ሞዶን (አዝራር ፒን 1 ፣ INPUT_PULLUP) ማቀናበር ፤ pinMode (አዝራር ፒን 2 ፣ INPUT_PULLUP); pinMode (አዝራር ፒን 3 ፣ INPUT_PULLUP); pinMode (አዝራር ፒን 4 ፣ INPUT_PULLUP);

pinMode (የመግቢያ ቁልፍ ፣ INPUT_PULLUP); pinMode (ግልጽ ቁልፍ ፣ INPUT_PULLUP);

lcd.begin (16, 2); lcd.setCursor (0, 0); // የተላከ lcd.print ("ሰላም ሚስተር በርች") ማዘጋጀት ፤ መዘግየት (2000); lcd.clear (); lcd.setCursor (0, 0); // የይለፍ ቃል lcd.print ("የይለፍ ቃል:") ጥያቄን ማቀናበር;

DisplayTimer = millis () + 200; }

ባዶነት loop () {

መቆለፊያ ();

Pos = constrain (Pos, 0, CodeLength); // ያንብቡ አዝራሮች int buttonState1 = digitalRead (buttonPin1); int buttonState2 = digitalRead (buttonPin2); int buttonState3 = digitalRead (buttonPin3); int buttonState4 = digitalRead (buttonPin4);

int clButtonState = digitalRead (clearlockbutton); int enterButtonState = digitalRead (enterbutton);

lcd.setCursor (9, 0); (buttonState1 == LOW) {Str [Pos] = '1') ከሆነ ለማግበር የሚያስፈልጉ መስፈርቶች Pos ++; Str [Pos] = '\ 0'; መዘግየት (250); ሳለ (digitalRead (buttonPin1) == LOW);

}

ሌላ ከሆነ (buttonState2 == LOW) {Str [Pos] = '2'; Pos ++; Str [Pos] = '\ 0'; መዘግየት (250); ሳለ (digitalRead (buttonPin2) == LOW);

}

ሌላ ከሆነ (buttonState3 == LOW) {Str [Pos] = '3'; Pos ++; Str [Pos] = '\ 0'; መዘግየት (250); ሳለ (digitalRead (buttonPin3) == LOW); }

ሌላ ከሆነ (buttonState4 == LOW) {Str [Pos] = '4'; Pos ++; Str [Pos] = '\ 0'; መዘግየት (250); ሳለ (digitalRead (buttonPin4) == LOW);

} ሌላ ከሆነ (enterButtonState == LOW) {Str [Pos] = 'E'; Pos ++; Str [Pos] = '\ 0'; መዘግየት (250); ሳለ (digitalRead (buttonPin1) == LOW); ከሆነ (strcmp (Str ፣ CODE) == 0) {ተከፍቷል = እውነት ፤ lcd.setCursor (0, 0); lcd.print ("መዳረሻ ተሰጥቷል"); መዘግየት (2000); lcd.clear (); lcd.print ("ተከፍቷል"); } ሌላ ከሆነ (SaveTimer> millis () && (Pos + 1) == CodeLength) {

strcpy (CODE ፣ Str); ለ (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.clear (); lcd.print ("መዳረሻ ተከልክሏል"); መዘግየት (2000); lcd.clear (); lcd.print ("የይለፍ ቃል:");

} // ሲከፈት (ሲከፈት) {ክፈት (); ከሆነ (digitalRead (clearlockbutton) == LOW) {መዘግየት (200); lcd.clear (); lcd.print ("ተቆል "ል"); መዘግየት (2000); lcd.clear (); ተከፍቷል = ሐሰት; SaveTimer = millis () + 30000; }}

ClearCode ();

}

ሌላ ከሆነ (clButtonState == LOW) {መዘግየት (500);

ሳለ (clearlockbutton == LOW); ከሆነ ((ሚሊስ () - SaveTimer)> 4500) {

}

ClearCode ();

}

ከሆነ ((ረጅም) (ሚሊስ () - DisplayTimer)> = 0) {DisplayTimer += DisplayDelay; lcd.setCursor (9, 0); lcd.print (Str); lcd.print ("");

} }

ባዶነት ClearCode () {

Pos = 0; Str [Pos] = '\ 0'; lcd.setCursor (0, 0); lcd.print ("የይለፍ ቃል:"); lcd.setCursor (0, 1); lcd.print ("");

}

ባዶነት ክፈት () {

myServo.write (150);

} // የፕሮግራም መቆለፊያ አዝራር ባዶ መቆለፊያ () {

myServo.write (50);

}

ደረጃ 3

ሁሉም ነገር ሲጠናቀቅ እንደዚህ መሆን አለበት።

የሚመከር: