ዝርዝር ሁኔታ:

የተግባር አቀናባሪ - የቤት ውስጥ ሥራ አያያዝ ስርዓት 5 ደረጃዎች (ከስዕሎች ጋር)
የተግባር አቀናባሪ - የቤት ውስጥ ሥራ አያያዝ ስርዓት 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የተግባር አቀናባሪ - የቤት ውስጥ ሥራ አያያዝ ስርዓት 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የተግባር አቀናባሪ - የቤት ውስጥ ሥራ አያያዝ ስርዓት 5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: STUDY LIKE HERO | ጎበዝ ተማሪዎች የማይናገሩት ሚስጥር | Hakim Insight 2024, ሀምሌ
Anonim
የተግባር ሥራ አስኪያጅ - የቤት ሥራ አያያዝ አስተዳደር ስርዓት
የተግባር ሥራ አስኪያጅ - የቤት ሥራ አያያዝ አስተዳደር ስርዓት
የተግባር ሥራ አስኪያጅ - የቤት ሥራ አያያዝ አስተዳደር ስርዓት
የተግባር ሥራ አስኪያጅ - የቤት ሥራ አያያዝ አስተዳደር ስርዓት

በቤተሰባችን ውስጥ (እና ፣ እኔ እንደማስበው ፣ የሌሎች ብዙ አንባቢዎች) የገጠመውን እውነተኛ ችግር ለመቅረፍ መሞከር ፈለግሁ ፣ ይህም ልጆቼን የቤት ውስጥ ሥራዎችን በመርዳት እንዴት መመደብ ፣ ማነሳሳት እና መሸለም ነው።

እስከ አሁን ድረስ የታሸገ የ A4 ወረቀት ከማቀዝቀዣው ጎን ተጣብቆ ቆይተናል። በላዩ ላይ የታተሙ የተግባሮች ፍርግርግ አለው ፣ ተጓዳኝ የኪስ ገንዘብ ያንን ተግባር ለማጠናቀቅ ሊገኝ ይችላል። ሀሳቡ አንዱ ልጆቻችን አንዱ የቤት ውስጥ ሥራን በረዳ ቁጥር በዚያ ሳጥን ውስጥ መዥገሪያ ያገኛሉ እና በየሳምንቱ መጨረሻ ላይ የተገኘውን ገንዘብ እንጨምራለን ፣ ሰሌዳውን ጠረግ እና እንደገና እንጀምራለን። ሆኖም ፣ የተግባሮች ዝርዝር ጊዜ ያለፈበት እና ለመለወጥ ከባድ ነው ፣ አንዳንድ ጊዜ ሰሌዳውን በየሳምንቱ ማፅዳቱን አናስታውስም ፣ እና አንዳንድ ተግባራት በተለያዩ ድግግሞሽ መከናወን አለባቸው-አንዳንዶቹ በየቀኑ በየቀኑ ይከናወናሉ ፣ ሌሎች በወር አንድ ጊዜ ብቻ ሊሆኑ ይችላሉ። ስለዚህ ፣ እነዚህን ችግሮች ለመቅረፍ በአርዱዲኖ ላይ የተመሠረተ መሣሪያን ለመፍጠር ተነሳሁ - ዓላማዬ ተግባሮችን በቀላሉ ለመጨመር/ለማስወገድ/ለማዘመን ፣ አንድ ሥራ ሲሠራ ለመቅረጽ እና ብድርን ለ አግባብ ያለው ሰው ፣ እና የተለያዩ ሥራዎችን ለማከናወን የሚያስፈልጉትን የተለያዩ መርሃግብሮችን እና ድግግሞሾችን ለመከታተል እና ጊዜ ያለፈባቸውን ተግባራት ለማጉላት መንገድ። እና ይህ አስተማሪው የተገኘው “የተግባር አስተዳዳሪ” መሣሪያ እንዴት እንደወጣ ያሳያል።

ደረጃ 1 - ሃርድዌር

ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር

ፕሮጀክቱ በርካታ በጥሩ ሁኔታ ጥቅም ላይ የዋሉ እና በሰነድ የተሠሩ የሃርድዌር ክፍሎችን ይጠቀማል-

  • አርዱዲኖ UNO/ናኖ - ይህ የስርዓቱ “አንጎል” ነው። በመርከቡ ላይ ያለው የ EEPROM ማህደረ ትውስታ ስርዓቱ ሲጠፋ እንኳን የተግባሮችን ሁኔታ ለማዳን ጥቅም ላይ ይውላል። ሽቦን ለማቃለል ፣ ናኖን በመኪና መስታወት ላይ ሰቅዬዋለሁ ፣ ግን ከፈለጉ ከፈለጉ በጂፒዮ ፒን ላይ የተበላሹ ግንኙነቶችን መሸጥ ወይም መጠቀም ይችላሉ።
  • የእውነተኛ ሰዓት ሰዓት (RTC) ሞዱል - ተግባራት የተከናወኑበትን የጊዜ ማህተም ለመቅዳት የሚያገለግል ፣ እና የመጨረሻውን ጊዜ ከአሁኑ ጊዜ ጋር በማነፃፀር የትኞቹ ሥራዎች ጊዜ ያለፈባቸው እንደሆኑ ይወስኑ። እኔ የተቀበልኩት ክፍል ሊሞላ በሚችል የ LiPo ባትሪ (LIR2032) ጥቅም ላይ እንዲውል የተቀየሰ መሆኑን ልብ ይበሉ። ሆኖም ፣ እኔ የማይሞላ CR2032 ባትሪ እጠቀማለሁ ፣ ስለሆነም የኃይል መሙያ ወረዳውን ለማሰናከል ጥቂት ማሻሻያዎችን ማድረግ ነበረብኝ (የማይሞላ ባትሪ ለመሙላት መሞከር አይፈልጉም ፣ ወይም ፍንዳታ ሊያጋጥምዎት ይችላል….). በተለይ እኔ R4 ፣ R5 እና R6 ን ተከላካዮችን አስወግጄ ነበር ፣ እና ዲዲዮው D1 ን ምልክት አድርጓል። ከዚያ R6 በነበረበት ቦታ ላይ አጭር እንዲሆን የሽያጭ ድልድይ ፈጠርኩ። እነዚህ ለውጦች ከዚህ በታች ባለው ፎቶ ላይ ተገልፀዋል።
  • ISO14443 RFID አንባቢ + በአንድ ተጠቃሚ አንድ መለያ- ስርዓቱን እንደ “ማጫወቻ” መንገድ ፣ እያንዳንዱ ልጆቼ የራሳቸው ልዩ የ RFID መለያ አላቸው። አንድ ተግባር መምረጥ እና ከዚያ መለያቸውን በአንባቢው ላይ ማንሸራተት አንድን ተግባር እንደ ተጠናቀቀ ለማመልከት የሚያገለግል ዘዴ ይሆናል
  • 16x2 LCD ማሳያ - የተጠቃሚ በይነገጹን ለስርዓቱ ለማቅረብ ያገለግላል። ወሳኝ የሆነ የ PCF8574A ቦርሳ ያለው ሰሌዳ በመጠቀም ፣ ቦርዱ ሽቦውን በከፍተኛ ሁኔታ የሚያቃልል በ I2C በይነገጽ በኩል ወደ አርዱinoኖ ሊገናኝ ይችላል።
  • ሮታሪ ኢንኮደር - የተለያዩ የሚገኙ ተግባራትን ለመምረጥ ተጠቃሚዎች የሚዞሩበት ዋናው የቁጥጥር ቁልፍ ይሆናል
  • ዋጎ ማያያዣዎች - እነዚህ በፍጥነት የሚዘጉ አያያorsች የጋራ አካላትን አንድ ላይ ለማገናኘት ወይም እያንዳንዳቸው የጋራ መሬትን ወይም 5 ቪ አቅርቦትን ለሚፈልጉ ለብዙ ሞጁሎች ቀላል አውቶቡሶችን ለመፍጠር ምቹ መንገድ ናቸው።

ደረጃ 2 - ሽቦ

ሽቦ
ሽቦ

16x2 ኤልሲዲ ማሳያ እና DS1307 RTC ሁለቱም I2C በይነገጽን ይጠቀማሉ ፣ ይህም ሽቦውን በጣም ቀላል ስለሚያደርግ ፣ ወደ አርዱዲኖ A4 (SDA) እና A5 (SCL) ፒኖች የሚሄዱ ጥንድ ሽቦዎችን ብቻ የሚፈልግ ነው።

MFRC-522 RFID አንባቢ የ SPI በይነገጽን ይጠቀማል ፣ እሱም ቋሚ የሃርድዌር ፒን 11 (MOSI) ፣ 12 (MISO) እና 13 (SCK) ይጠቀማል። እንዲሁም ለባሮች 10 እና 9 በቅደም ተከተል የሰጠኋቸውን የባሪያ መምረጥ እና ዳግም ማስጀመር መስመርን ይፈልጋል።

የ rotary ኢንኮደር ጥንድ ፒን ይፈልጋል። ለተመቻቸ አፈጻጸም ፣ እነዚህ ፒንዎች ውጫዊ ማቋረጫዎችን ማስተናገድ ቢችሉ ጥሩ ነው ፣ ስለዚህ እኔ ዲጂታል ፒኖችን 2 እና 3 ን እጠቀማለሁ እንዲሁም እርስዎ እንደ መቀየሪያ ውስጥ ኢንኮደርን ጠቅ ማድረግ ይችላሉ ፣ እና ይህንን በፒን 4. ገምቼዋለሁ። በአሁኑ ጊዜ በኮዱ ውስጥ ጥቅም ላይ የዋለ ፣ ተጨማሪ ባህሪያትን ለመጨመር ጠቃሚ ሆኖ ሊያገኙት ይችላሉ

ለምቾት ፣ እኔ WAGO 222-series አገናኝ ብሎኮችን እጠቀማለሁ። እነዚህ በ 2 እና 8 ሽቦዎች መካከል የትም ቦታ ጠንካራ ፣ ቀላል መንገድን የሚያገናኙ ፈጣን እና ፈጣን አያያorsች ናቸው ፣ እና መሬትን ወይም 5 ቪ መስመርን ለማጋራት ብዙ ሞጁሎችን ለሚፈልጉ ለአርዱዲኖ ፕሮጀክቶች በጣም ምቹ ናቸው ወይም ብዙ መሣሪያዎች ባሉበት ቦታ ላይ ተመሳሳይ I2C ወይም SPI አውቶቡስ ፣ ይበሉ።

ስዕሉ ሁሉም ነገር እንዴት በአንድ ላይ እንደተጣመረ ያሳያል።

ደረጃ 3 - ግንባታ

ኤሌክትሮኒክስን ለማኖር በጣም መሠረታዊ 3 ዲ የታተመ መያዣ ፈጠርኩ። ልክ ቀደም ሲል የታተመው ዝርዝር እንደነበረው ክፍሉ በማቀዝቀዣው ጎን ላይ እንዲጠበቅ አንዳንድ ማግኔቶችን በጀርባው ላይ አደረግሁ። እኔ አዲስ ተግባራት ወደ ስርዓቱ መጨመር ፣ ወይም ለመግባት እና የተጠናቀቁ ሥራዎችን የሚያሳይ የውሂብ ስብስብን ለማውረድ አስፈላጊ ከሆነ ይህ የዩኤስቢ ሶኬት ተጋላጭነቱን ትቼዋለሁ።

እኔ ከታተመ በኋላ የ STL ፋይሎችን አላጠራቀምኩም ፣ ነገር ግን ብዙ ተመሳሳይ (እና ምናልባትም የተሻለ!) ጉዳዮች በ ‹ነገሮችiverse.com› ላይ ይገኛሉ። በአማራጭ ፣ ጥሩ የእንጨት ሳጥን መሥራት ወይም ኤሌክትሮኒክስን ለማቆየት የድሮ ካርቶን ሣጥን ወይም የመጋገሪያ ዕቃ መያዣን መጠቀም ይችላሉ።

ደረጃ 4 ኮድ

ኮድ
ኮድ

ሙሉ አስተያየት የተሰጠው ኮድ ከዚህ በታች እንደ ማውረድ ተያይ attachedል። ልብ ሊሉባቸው ከሚገቡ በጣም አስፈላጊ ነጥቦች መካከል ጥቂቶቹ እነሆ-

በአንድ ተግባር ውስጥ ያሉትን ሁሉንም ተግባራት የሚያጠቃልል የውሂብ አሃድ የሆነ “ብጁ” መዋቅርን ፈጠርኩ። ተግባራት በኤልሲዲ ማሳያ ውስጥ እንዴት እንደሚታዩ (እና ስለዚህ በ 16 ገጸ -ባህሪዎች የተገደበ) ፣ መከናወን ያለባቸው ድግግሞሽ ፣ እና መቼ እና በማን እንደተጠናቀቁ የሚገልጽ ስም አላቸው።

መዋቅራዊ ተግባር {

የቻር ተግባር ስም [16]; // ለዚህ ተግባር አጭር ፣ “ወዳጃዊ” ስም በማሳያው ላይ እንደሚታየው int repeatEachXDays; // መደበኛነት ፣ በቀናት ውስጥ ፣ ይህ ተግባር የሚደጋገምበት። 1 = ዕለታዊ ፣ 7 = በየሳምንቱ ወዘተ ያልተፈረመበት ረጅም የመጨረሻ ጊዜ CompletedTime; // ይህ ተግባር በመጨረሻ የተጠናቀቀበት የጊዜ ማህተም በመጨረሻው ተጠናቋል // ይህንን ተግባር ለመጨረሻ ጊዜ ያጠናቀቀው ሰው መታወቂያ};

ዋናው የመረጃ አወቃቀር “የተግባር ዝርዝር” ተብሎ ይጠራል ፣ እሱም በቀላሉ የተለያዩ ተግባራት ድርድር ነው። የትኞቹን ተግባራት እዚህ እንደሚፈልጉ መግለፅ ይችላሉ ፣ ይህም ለመጨረሻ ጊዜ ለተጠናቀቁበት ጊዜ በ 0 እሴት ፣ እና -1 ለመጨረሻ ጊዜ ላከናወነው የተጠቃሚ መታወቂያ።

የተግባር ተግባር ዝርዝር [numTasks] = {

{“ንጹህ መኪና” ፣ 7 ፣ 0 ፣ -1} ፣ {“ሉሆችን ቀይር” ፣ 14 ፣ 0 ፣ -1} ፣ {“የሣር ሣር” ፣ 7 ፣ 0 ፣ -1} ፣ {“ሁቨር” ፣ 3 ፣ 0 ፣ -1} ፣ {“መራመጃ ውሻ” ፣ 1 ፣ 0 ፣ -1} ፣ {“ሥርዓታማ መኝታ ቤቶች” ፣ 7 ፣ 0 ፣ -1} ፣ {“የውሃ እፅዋት” ፣ 2 ፣ 0 ፣ -1} ፣ {“ፎቅ” መጸዳጃ ቤት”፣ 7 ፣ 0 ፣ -1} ፣ {“D/stairs ሽንት ቤት”፣ 7 ፣ 0 ፣ -1} ፣ {“ሁቨር”፣ 3 ፣ 0 ፣ -1} ፣ {“ንጹህ ሻወር”፣ 7 ፣ 0 ፣ -1},};

በኮዱ አናት ላይ ባለው ቋሚዎች ክፍል ውስጥ “eepromSignature” የሚባል አንድ ባይት እሴት አለ። ይህ እሴት በ EEPROM ላይ የተከማቸ ውሂብ ትክክል መሆኑን ለመወሰን ጥቅም ላይ ይውላል። የተግባር ዝርዝርን ንጥል አወቃቀር ከቀየሩ ፣ ተግባሮችን በማከል ወይም በማስወገድ ፣ ወይም ተጨማሪ መስኮችን በማከል ፣ ይህን እሴት ከፍ ማድረግ አለብዎት። ለመረጃው እንደ መሰረታዊ ስሪት የቁጥር ስርዓት አድርገው ሊያስቡት ይችላሉ።

const byte eeprom ፊርማ = 1;

ጅምር ላይ ፣ ፕሮግራሙ በ EEPROM ውስጥ የተከማቸ መረጃን ለመጫን የሚሞክረው በኮዱ ውስጥ ከተገለጸው የውሂብ ፊርማ ጋር የሚዛመድ ከሆነ ብቻ ነው።

ባዶነት ወደነበረበት መመለስFromEEPROM () {

int checkByte = EEPROM.read (0); ከሆነ (checkByte == eepromSignature) {EEPROM.get (1 ፣ taskList); }}

ኤልሲዲ ማሳያ እና የ RTC ሞዱል ከአርዱዲኖ ጋር ለመገናኘት I2C በይነገጽን ይጠቀማሉ። ይህ እያንዳንዱ መሣሪያ ልዩ I2C አድራሻ እንዲኖረው ይፈልጋል። ሁለት የተለያዩ 16x2 የማሳያ ሰሌዳዎችን ሞክሬአለሁ ፣ እና አንዳንዶቹ አድራሻውን 0x27 የሚጠቀሙ ይመስላሉ ፣ ሌሎች ተመሳሳይ የሚመስሉ ቦርዶች 0x3f ን ይጠቀማሉ። ማሳያዎ ተከታታይ ካሬዎችን እና ምንም ጽሑፍን የማያሳይ ሆኖ ካገኙ እዚህ በኮዱ ውስጥ የተገለጸውን የአድራሻ እሴት ለመለወጥ ይሞክሩ-

LiquidCrystal_PCF8574 lcd (0x27);

የ RFID መለያ ሲታወቅ ፣ ኮዱ ባለ 4 ባይት መለያውን ያነባል ፣ እና ተዛማጅ ተጠቃሚውን ከታወቁ ተጠቃሚዎች ጠረጴዛ ለመፈለግ ይሞክራል። መለያው ካልታወቀ ፣ 4 ባይት መለያው ወደ ተከታታይ ማሳያ መሥሪያ ይላካል-

int GetUserFromRFIDTag (ባይት RFID ) {

ለ (int i = 0; i <numusers; i ++) = "" {<numUsers; i ++) {ከሆነ (memcmp (userList .rfidUID ፣ RFID ፣ sizeof userList .rfidUID) == 0) {userList return .userID ፤ }} Serial.print (ኤፍ (“ያልታወቀ የ RFID ካርድ ተገኝቷል”)); ለ (byte i = 0; i <4; i ++) {Serial.print (RFID <0x10? "0": ""); Serial.print (RFID , HEX); } መመለስ -1; }

መለያ ለተጠቃሚ ለመመደብ ፣ የሚታየውን መታወቂያ መቅዳት እና የ 4-ባይት እሴቱን በኮዱ አናት ላይ በተጠቃሚው ድርድር ውስጥ ፣ ከተጓዳኙ ተጠቃሚ ቀጥሎ ማስገባት አለብዎት ፦

const user userList [numUsers] = {{1, "Ginny", {0x00, 0x00, 0x00, 0x00}}, {2, "ሃሪ", {0x12, 0x34, 0x56, 0x78}}, {3, "Ron" ፣ {0xE8 ፣ 0x06 ፣ 0xC2 ፣ 0x49}} ፣ {4 ፣ “Hermione” ፣ {0x12 ፣ 0x34 ፣ 0x56 ፣ 0x78}} ፣ {5 ፣ “Alastair” ፣ {0x12 ፣ 0x34 ፣ 0x56 ፣ 0x78}} ፣};

ደረጃ 5: አጠቃቀም

አጠቃቀም
አጠቃቀም
አጠቃቀም
አጠቃቀም

እርስዎ እስከዚህ ድረስ ከሠሩ ፣ የስርዓቱ አጠቃቀም ከኮዱ በትክክል ግልፅ መሆን አለበት ፣ በማንኛውም ጊዜ ተጠቃሚዎች በተገኙት ተግባራት ዝርዝር ውስጥ ለማሸብለል የማሽከርከሪያውን ቁልፍ ማዞር ይችላሉ። ጊዜ ያለፈባቸው ሥራዎች ከርዕሳቸው በኋላ በኮከብ ምልክት ምልክት ይደረግባቸዋል።

ለማከናወን አንድ ሥራ ከመረጡ በኋላ ተጠቃሚዎች ተግባሩን እንደ ተጠናቀቀ ለማመልከት የራሳቸውን ልዩ የ RFID fob ን በአንባቢው ላይ መቃኘት ይችላሉ። መታወቂያቸው እና የአሁኑ ጊዜ ተመዝግቦ በአርዱዲኖ EEPROM ይቀመጣል።

ትክክለኛውን የ RFID መለያዎች በመጀመሪያ ለማዋቀር ፣ አርዱinoኖ ተከታታይ ሞኒተር ተያይዞ ንድፉን ማካሄድ አለብዎት። እያንዳንዱን መለያ ይቃኙ እና በተከታታይ ማሳያ ላይ የሚታየውን ባለ 4-ባይት ሄክስ UID እሴት ያስተውሉ። ከዚያ ይህንን የመለያ መታወቂያ ለተገቢው ተጠቃሚ ለመመደብ በኮዱ አናት ላይ የተገለጸውን የተጠቃሚ ዝርዝር ይለውጡ።

በየሳምንቱ ተገቢውን የኪስ ገንዘብ ሽልማት ለመመደብ ባለፈው ሳምንት የተጠናቀቁትን ሁሉንም ተግባራት ፣ በተጠቃሚው / በተጠናቀቀው ሪፖርት ላይ ለማተም ተግባራዊነትን ለመጨመር አስቤ ነበር። ሆኖም ፣ እንደ ሆነ ፣ ልጆቼ የኪስ ገንዘብ ሽልማቶችን ሙሉ በሙሉ ረስተው ሥርዓቱን በመጠቀም አዲስነት የረኩ ይመስላሉ! ይህ ግን ቀላል ቀላል መደመር ይሆናል ፣ እና ለአንባቢ እንደ ልምምድ ሆኖ ይቀራል:)

የሚመከር: