ዝርዝር ሁኔታ:

የጠዋት ጓደኛ: 8 ደረጃዎች
የጠዋት ጓደኛ: 8 ደረጃዎች

ቪዲዮ: የጠዋት ጓደኛ: 8 ደረጃዎች

ቪዲዮ: የጠዋት ጓደኛ: 8 ደረጃዎች
ቪዲዮ: ሴት ልጅ በድብቅ ስትወድ የምታሳያቸው 6 ምልክቶች| 6 Signs That A Girl Is In Love 2024, ሀምሌ
Anonim
Image
Image

አንዳንድ ሰዎች በጣም ሥራ የበዛባቸው መርሐግብሮች አሏቸው ፣ ይህም አንድ ወይም ሁለት ነገርን መርሳት ቀላል ያደርገዋል። በዚህ የማንቂያ ሰዓት እርስዎን መርሐግብር ለማስያዝ ብዙ ማንቂያዎችን ማዘጋጀት ይችላሉ። ሰዓቱ በ 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: የመጨረሻ

የመጨረሻ
የመጨረሻ

የእርስዎ ፕሮጀክት የተሰጠውን መረጃ ከተከተሉ ከላይ ያለውን ምስል ሊመስል ይችላል። ይህንን ፕሮጀክት እንደገና ለመፍጠር በሚያደርጉት ሙከራዎች መልካም ዕድል እንመኝዎታለን እና ፕሮጀክትዎን ሲጨርሱ በአስተያየቶቹ ውስጥ ስዕሎችን እና አስተያየቶችን ከእኛ ጋር እንዲያጋሩ እናበረታታዎታለን። አመሰግናለሁ እና መልካም ዕድል የሥራ ባልደረቦች።

የሚመከር: