ዝርዝር ሁኔታ:
- ደረጃ 1 - ሀሳቡን በአዕምሮ ማሳደግ
- ደረጃ 2 ንድፍ እና ቁሳቁሶች
- ደረጃ 3 - የውጪ መያዣን መፍጠር
- ደረጃ 4: ሌዘር የውጭ መያዣን መቁረጥ
- ደረጃ 5: አንድ ላይ ማዋሃድ
- ደረጃ 6 ኮድ
- ደረጃ 7 ኤሌክትሮኒክስ
- ደረጃ 8: የመጨረሻ
ቪዲዮ: የጠዋት ጓደኛ: 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
አንዳንድ ሰዎች በጣም ሥራ የበዛባቸው መርሐግብሮች አሏቸው ፣ ይህም አንድ ወይም ሁለት ነገርን መርሳት ቀላል ያደርገዋል። በዚህ የማንቂያ ሰዓት እርስዎን መርሐግብር ለማስያዝ ብዙ ማንቂያዎችን ማዘጋጀት ይችላሉ። ሰዓቱ በ 24-ጊዜ ላይ ይሠራል እና እርስዎ ማድረግ ያለብዎት መርሃ ግብርዎን በሚስማማ የቀኑ በተለያዩ ጊዜያት እንዲጠፋ መርሃ ግብር ማድረግ ነው። ይህንን ሲያደርጉ እርስዎ ያስተካከሏቸው ጊዜዎች ትክክል መሆናቸውን ለማረጋገጥ እና እንደ ተጨማሪ አስታዋሽ ሆነው እንዲያረጋግጡ በ LCD ማያ ገጹ ላይ ብቅ ይላል።
ደረጃ 1 - ሀሳቡን በአዕምሮ ማሳደግ
ጉዳዩን ለመፍታት ስንሞክር አንድ ሀሳብ ለማውጣት የዓሳ አጥንት ዘዴን ተጠቅመን የማንቂያ ሰዓታችንን አስከትለናል።
ደረጃ 2 ንድፍ እና ቁሳቁሶች
በዚህ ደረጃ ለኤሌክትሮኒክስ እና ለውጭ መያዣ እንፈልጋለን ብለን ያሰብናቸውን ነገሮች ሁሉ ዝርዝር ለማድረግ ሞክረናል። ከዚያ የማንቂያ ሰዓቱ እንዲመስል የምንፈልገውን እና የውጭ መያዣውን እንዴት እንደምንሰበስብ ረቂቅ ንድፍ አመጣን።
ደረጃ 3 - የውጪ መያዣን መፍጠር
ለመጀመሪያው ምሳሌ የጣት መገጣጠሚያዎች እንዴት እንደሚገጣጠሙ ለማየት ፈልጌ ነበር ፣ ስለሆነም የጫማ ሣጥን ተጠቀምኩ እና ትክክለኛ ልኬቶችን አልጠቀምኩም።
ደረጃ 4: ሌዘር የውጭ መያዣን መቁረጥ
ለሁለተኛው ምሳሌ ትክክለኛ ልኬቶችን ለማግኘት ፈልጌ ነበር እና ወደ ሌዘር መቁረጫ ለመላክ ፒዲኤፍ መፍጠር ነበረብኝ። ይህንን ለማድረግ የሳጥን ሰሪ የመተግበሪያ ድር ጣቢያ ፣ https://boxdesigner.connectionlab.org ን እጠቀም ነበር። በዚያ ድር ጣቢያ ላይ ከዚያ የሳጥን 3-ል ልኬቶችን ፣ የእቃዎቻችንን ውፍረት ፣ የመለኪያ አሃዶችን እና ምን ዓይነት ፋይል እንዲፈጥር ፈልጌ አስገባሁ። የሳጥኖቹ ልኬቶች በ 7.5 በ x 3 በ x 5 ውስጥ ነበሩ እና በወፍራም አክሬሊክስ ቁሳቁስ ውስጥ 1/8 ን እጠቀም ነበር። ከዚያ የጣት መገጣጠሚያ መለኪያዎች መለኪያዎች በራስ -ሰር 0.46875 ኢንች እንዲሆኑ ተዋቅረዋል። የፒዲኤፍ ስሪቱን መርጫለሁ ምክንያቱም ያ ሌዘር አጥራቢ የሚያነበው ፋይል ዓይነት ስለሆነ በፋይሉ ላይ አንዳንድ ለውጦችን ማድረግ ስለፈለግኩ ነው። የሌዘር መቁረጫው ቅርፁን ከመቅረጽ ይልቅ እነሱን ለመቁረጥ እንዲያውቅ የመስመር ቀለሞችን ወደ ቀይ ቀይሬአለሁ ፣ እና የፊት ክፍል ቁራጭ በሚሆነው ላይ 3.92 በ 1.56 ኢንች ያለው አራት ማእዘን ሳጥን ጨመርኩ። ሣጥን። እንዲሁም ከማንቂያ ሰዓቱ ጋር ለተገናኘው ገመድ እንደ መክፈቻ ሆኖ ለማገልገል ከታች በቀኝ በኩል ባለው ቁራጭ በ 1 ኢን በ 0.5 ኢንች ስፋት የተቆረጠ አራት ማእዘን ጨመርኩ። ለመጨረሻው ለሁለት buzzers እና ለአዝራሩ ሶስት ክብ መክፈቻዎችን ጨመርኩ። የጩኸት ክፍተቶች የ 0.5 ዲያሜትር እና የአዝራሩ መክፈቻ 0.375 ኢንች ነበር።
ደረጃ 5: አንድ ላይ ማዋሃድ
ሁሉም ቁርጥራጮች ሲቆረጡ አንድ ላይ ለማተም መርፌ እና አክሬሊክስ ሙጫ እጠቀማለሁ። እኔ ቁርጥራጮቹን አንድ ላይ ያዝኩ እና ጎኖቹን አንድ ላይ ለማድረግ በጫፎቹ መካከል ያለውን ሙጫ ያንጠባጥባሉ ፣ ግን ከላይ ወደ ታች አልተለጠፈም።
ደረጃ 6 ኮድ
መግቢያ ፦
ይህ ፕሮጀክት በአርዱዲኖ አይዲኢ ሶፍትዌር ላይ የ c ++ ቋንቋን በመጠቀም ኮድ ተሰጥቶታል። ጥቅም ላይ የዋለው ማይክሮ መቆጣጠሪያ ከ ESP8266 ጋር NodeMCU ነበር። ለዚህ ፕሮጀክት ጊዜን በትክክል የምናስቀምጥበት ፣ ጫጫታ የሚጮህበት ፣ የማንቂያ ደውሉ እንዲነፋ የሚያደርግ የማንቂያ ስርዓት እና ጊዜውን ሁሉ እና የማንቂያ ሰዓቱን ለማሳየት ማያ ገጽ እንፈልጋለን። ለሙሉ ኮድ ይህንን አገናኝ ይመልከቱ
ቤተመፃህፍት ማስመጣት
በመጀመሪያ ነገሮች ፣ አስፈላጊዎቹን ቤተ -መጻሕፍት ከውጭ ማስመጣት አለብን።
#"RTClib.h" ን ያካትቱ
#"Wire.h" #አካትት #አካትት #አካትት #አካትት
ተለዋዋጭዎችን በማስጀመር ላይ
በመቀጠል ተለዋዋጮችን በኋላ ላይ ማስነሳት ፣ ለቦዝለር ቁልፎች የፒን አቀማመጥ መመደብ ፣ RTC ን ማቀናበር እና የ LCD ማሳያውን I2C አድራሻ ማዘጋጀት አለብን።
LiquidCrystal_I2C lcd (0x27, 20, 4);
const int buzzer1 = 12; const int buzzer2 = 0; const int አዝራር = 2; RTC_DS3231 rtc; char daysOfTheWeek [7] [12] = {"እሁድ" ፣ "ሰኞ" ፣ "ማክሰኞ" ፣ "ረቡዕ" ፣ "ሐሙስ" ፣ "አርብ" ፣ "ቅዳሜ"} በጅምር ሰዓት ፤ int activetime; int prevoustime = 0; char ahours1 [3]; char amins1 [3]; int ሰዓት 1 = 0; int min1 = 0; char ahours2 [3]; ቻር አሚንስ 2 [3]; int ሰዓት2 = 0; int min2 = 0; char ahours3 [3]; char amins3 [3]; int ሰዓት 3 = 0; int min3 = 0; int ማንቂያ = 0; int ByteReived; char recievedChar; const ባይት numChars = 32; ቻር ተቀበሉ [numChars];
አዘገጃጀት
በመቀጠል ሁሉንም አስፈላጊ ሂደቶች የሚጀምር ተግባር ሊኖረን ይገባል። በዚህ ተግባር ፣ ኤልሲዲውን መጀመር እና የመጀመሪያ ጊዜዎችን ማተም ፣ እሱ ከሌለው የ RTC እውነተኛ ጊዜን የሚሰጥ አነስተኛ ተግባር ማድረግ እና ተከታታይ ማሳያውን መጀመር አለብን።
ባዶነት ማዋቀር () {
#ifndef ESP8266 እያለ (! ተከታታይ); #endif ከሆነ (! rtc.begin ()) {Serial.println ("RTC ን ማግኘት አልተቻለም"); ሳለ (1); } ከሆነ (rtc.lostPower ()) {Serial.println ("RTC ኃይል ጠፍቷል ፣ ሰዓቱን ያዘጋጁ!"); rtc.adjust (DateTime (F (_ DATE_)) ፣ F (_ TIME_)))} lcd.init (); lcd.backlight (); // Baklight ን ያበራል። lcd.clear (); // ያጸዳል LCD lcd.print ("00:00"); // ከኮድ ጭነት lcd.setCursor (10 ፣ 0) በኋላ በ LCD ላይ ማሳያ። lcd.print ("00:00"); lcd.setCursor (0, 1); lcd.print ("ጊዜ"); lcd.setCursor (10, 1); lcd.print ("ማንቂያ 1"); lcd.setCursor (0, 3); lcd.print ("ማንቂያ 2"); lcd.setCursor (0, 2); lcd.print ("00:00"); lcd.setCursor (10, 3); lcd.print ("ማንቂያ 3"); lcd.setCursor (10, 2); lcd.print ("00:00"); rtc.begin (); pinMode (አዝራር ፣ ግቤት); // ለዝምታ አዝራር ፒን ሞዶ (buzzer1 ፣ OUTPUT) ፒን ያዘጋጁ። // ለ buzzer ውፅዓት pinMode (buzzer2 ፣ OUTPUT) ፒን ያዘጋጁ። // ለ buzzer ውፅዓት ፒን ያዘጋጁ Serial.begin (9600); Serial.println (“በማንቂያ ደወሎች መካከል ክፍተት በሌለው በኤችኤችኤምኤም ቅርጸት የማንቂያዎች ጊዜ”) ፤ የመነሻ ሰዓት = ሚሊስ ()/1000; }
ውሂብን በመቀበል ላይ
አሁን ፣ የማንቂያ ጊዜዎችን መቀበል መቻል አለብን። ይህንን ለማድረግ ውሂቡን ከተከታታይ ሞኒተር ለመቀበል እና በድርድር ውስጥ ለማከማቸት ተግባር ፈጠርን።
ባዶ ባዶ recvWithEndMarker () {
የማይንቀሳቀስ int ndx = 0; ሕብረቁምፊ timein = Serial.readString (); ለ (ndx = 0; timein [ndx]; ndx ++) {receivedChars [ndx] = timein [ndx]; } የተቀበሉ ቻርቶች [ndx] = '\ 0'; Serial.print (receivedChars); }
ማንቂያዎችን በማቀናበር ላይ
ቀጣዩ ደረጃ ማንቂያዎችን ማዘጋጀት መቻል ነው። ለማንቂያ ደውል ኮድ 1 ነው። ለማንቂያ 2 እና 3 ተመሳሳይ ሂደት በጥቂት የቁጥር ለውጦች ተደግሟል።
/* ማንቂያ 1*/
recvWithEndMarker (); int h, m; ለ (h = 0; ሸ <2; h ++) {ahours1 [h] = የተቀበሉት Chars [h]; } ለ (m = 2; m <4; m ++) {amins1 [m-2] = receivedChars [m]; } ahours1 [h] = '\ 0'; amins1 [m-2] = '\ 0'; Serial.print (ahours1); Serial.print (amins1); ሰዓት 1 = atoi (ahours1); min1 = atoi (amins1); Serial.print (ሰዓት 1); Serial.print (ደቂቃ 1);
Buzzer/አዝራር
ይህን በማድረግ እውነተኛ ጊዜ እና የማንቂያ ሰዓት እኩል ሲሆኑ ጫጫታውን ማጥፋት አለብን። እንዲሁም በዚህ ደረጃ እርስዎ በሚይዙበት ጊዜ ጫጫታውን የሚያቆም እንደ አሸልብ አዝራር እናደርጋለን።
/ * የዝምታ አዝራር */
int ዝምታ; int ለ; ለ = digitalRead (2); ከሆነ (ለ == ዝቅተኛ) {ዝምታ = 1; } ሌላ {ዝምታ = 0; } / * ማንቂያ ጀምር * / ከሆነ (ሰዓታት == ሰዓት 1 && ደቂቃዎች == min1) {ማንቂያ = 1; } ሌላ ከሆነ (ሰዓታት == ሰዓት 2 && ደቂቃዎች == min2) {ማንቂያ = 1; } ሌላ ከሆነ (ሰዓታት == ሰዓት 3 && ደቂቃዎች == min3) {ማንቂያ = 1; } ሌላ {ማንቂያ = 0; ዝምታ = 0; } ከሆነ (ማንቂያ == 1 && ዝምታ == 0) {ቶን (buzzer1, 4000, 1000); ቶን (buzzer2, 4000, 1000); መዘግየት (1000); noTone (buzzer1); noTone (buzzer2); መዘግየት (1000); }
የህትመት ጊዜያት
በመጨረሻም ፣ የማንቂያ ሰዓቶችን እና እውነተኛ ጊዜን ወደ ኤልሲዲ ማያ ገጽ ማተም አለብን።
DateTime now = rtc.now ();
int ሰዓታት = (now.hour ()); int mins = (now.minute ()); / * የማንቂያ ጊዜ በ 00:00 ቅርጸት */ lcd.setCursor (10 ፣ 0) ፤ lcd.print (ahours1); lcd.setCursor (13, 0); lcd.print (amins1); lcd.setCursor (0, 2); lcd.print (ahours2); lcd.setCursor (3, 2); lcd.print (amins2); lcd.setCursor (10, 2); lcd.print (ahours3); lcd.setCursor (13, 2); lcd.print (amins3); / * የማሳያ ጊዜ ከ RTC */ lcd.setCursor (0, 0); lcd.print (ሰዓታት); lcd.print (":"); lcd.print (ደቂቃዎች);
ደረጃ 7 ኤሌክትሮኒክስ
በቁሳቁስ ሂሳብ ውስጥ እንደታየው ለዚህ ፕሮጀክት ኤሌክትሮኒክስ በርካታ ቁርጥራጮች አሉ። የመጀመሪያው ምስል የፕሮጀክቶች የመጨረሻ ኤሌክትሮኒክስ ንድፍ ነው። ሁለተኛው ምስል የእኛ የመጨረሻ የኤሌክትሮኒክ ዲዛይን ነው። ሦስተኛው ምስል በሁለተኛው አምሳያ መካከል ያለው የእኛ ፕሮጀክት ነው።
የእርስዎን NodeMCU ከእርስዎ የዳቦ ሰሌዳ ሩቅ ጫፍ ጋር ማያያዝ ለመጀመር። ከዚያ ሁሉንም ሌሎች ኤሌክትሮኒክስዎን ከኖድኤምሲዩ እና ዳቦ ሰሌዳ ጋር ማገናኘት ያስፈልግዎታል። የኤልሲዲ ማያ ገጽዎን ለ SCL እና D2 ለ SDA ፒኖች D1 በማገናኘት ይጀምሩ። ኤልሲዲው ተጠቃሚው የአሁኑን ጊዜ እና የተቀናበሩ የማንቂያ ጊዜዎችን እንዲያይ ያስችለዋል። አሁን ሽቦዎችዎን ከፒ 3 D እና D6 ጋር ያገናኙት። ባዝዘሮቹ ሰዓቱ ሲደርስ ማንቂያው ማንቂያውን ለተጠቃሚው እንዲያሳውቅ ያስችለዋል። ማንቂያው እንዲቆም ለማድረግ አሁን አንድ አዝራር ማያያዝ አለብዎት። D4 ን ለመሰካት ይህንን ቁልፍ ያያይዙ። አሁን የእውነተኛ-ሰዓት ሰዓትዎን ከዳቦ ሰሌዳ ጋር ያያይዙታል። ለኤልሲዲ ማሳያ ጥቅም ላይ የዋሉትን ተመሳሳይ የ SDA እና SCL ፒኖችን እንዲጠቀም የእውነተኛ-ሰዓት ሰዓቱን ሽቦ ያድርጉ።
ደረጃ 8: የመጨረሻ
የእርስዎ ፕሮጀክት የተሰጠውን መረጃ ከተከተሉ ከላይ ያለውን ምስል ሊመስል ይችላል። ይህንን ፕሮጀክት እንደገና ለመፍጠር በሚያደርጉት ሙከራዎች መልካም ዕድል እንመኝዎታለን እና ፕሮጀክትዎን ሲጨርሱ በአስተያየቶቹ ውስጥ ስዕሎችን እና አስተያየቶችን ከእኛ ጋር እንዲያጋሩ እናበረታታዎታለን። አመሰግናለሁ እና መልካም ዕድል የሥራ ባልደረቦች።
የሚመከር:
የጥናት ጓደኛ: 10 ደረጃዎች
የጥናት ጓደኛ - ይህ ትምህርት ሰጪ ጓደኛ ጓደኛን እንዴት ማድረግ እንደሚቻል ያብራራል የዚህ የጥናት ጓደኛ ተግባር ከ 14 እስከ 18 ዓመት ዕድሜ ያላቸውን ታዳጊዎች እንዴት ማቀድ እና ማጥናት እንዲማሩ መርዳት ነው። ዓላማው ሮቦቱ ከተማሪዎቹ ጋር መማር ይችላል። ሽፋኑ በ
የ ShWelcome ሣጥን -አንዳንድ ጊዜ ጓደኛ: 8 ደረጃዎች
የ ShWelcome ሣጥን -አንዳንድ ጊዜ ጓደኛ -ኩባንያ እየፈለጉ ነው?
የፊት ማጠብ የጠዋት የዕለት ተዕለት እንቅስቃሴ (ለልጆች) - 7 ደረጃዎች
የፊት ማለዳ የዕለት ተዕለት እንቅስቃሴን (ለልጆች) ማጠብ - በሳምንቱ መጨረሻ ፣ ወላጆቼ ቤት ስላልነበሩ ትንሹ የአክስቴ ልጅ በቤታችን ውስጥ ቆየ ፣ ለሁለት ቀናት ከእሱ ጋር ሲኖር ፣ ሲታጠብ እያንዳንዱን እርምጃ ለማስታወስ ትንሽ እንደሚቸገር አስተዋልኩ። ከእንቅልፉ ከተነሳ በኋላ ፊቱ። ስለዚህ እሱን ለመገንባት ወሰንኩ
ወደ ጓደኛ እንኳን በደህና መጡ - 10 ደረጃዎች
ወደ ጓደኛ እንኳን በደህና መጡ -የተፈጠረ ፕሮጀክት በ ክሪስ ካንግ ፣ ዴቪድ ካልማን ፣ ሪክ ሹት እና ሚሻ ግሊኒ
የጠዋት እና የሌሊት ብርሃን - 4 ደረጃዎች
የጠዋት እና የሌሊት ብርሃን-ይህ ለጠዋት እና ለሊት ጥቅም ላይ የሚውል የራስ-ሠራሽ የወረቀት መብራት ነው