Агуулгын хүснэгт:

Даалгаврын менежер - Өрхийн ажлын менежментийн систем: 5 алхам (зурагтай)
Даалгаврын менежер - Өрхийн ажлын менежментийн систем: 5 алхам (зурагтай)

Видео: Даалгаврын менежер - Өрхийн ажлын менежментийн систем: 5 алхам (зурагтай)

Видео: Даалгаврын менежер - Өрхийн ажлын менежментийн систем: 5 алхам (зурагтай)
Видео: 7 ошибок в управлении изменениями. Бережливое производство 2024, Долдугаар сарын
Anonim
Даалгаврын менежер - Өрхийн гэрийн менежментийн систем
Даалгаврын менежер - Өрхийн гэрийн менежментийн систем
Даалгаврын менежер - Өрхийн гэрийн менежментийн систем
Даалгаврын менежер - Өрхийн гэрийн менежментийн систем

Би гэрийнхээ ажилд тусалдаг хүүхдүүдийг хэрхэн хуваарилах, урамшуулах, шагнах талаар манай гэрт тулгардаг бодит асуудлыг (мөн бусад олон уншигчдын хувьд гэж бодож байна) шийдвэрлэхийг оролдохыг хүссэн юм.

Өнөөдрийг хүртэл бид А4 хэмжээтэй цаасан хуудсыг хөргөгчийн хажуу талд наалдсан хэвээр хадгалсаар ирсэн. Энэ даалгаврыг гүйцэтгэсэний тулд олох боломжтой халаасны мөнгийг багтаасан даалгаврын сүлжээг хэвлэсэн болно. Гол санаа бол манай нэг хүүхэд гэрийн ажилд туслах бүрт тэр хайрцганд тэмдэг тавьдаг бөгөөд долоо хоног бүрийн төгсгөлд бид олсон мөнгөө нэмж, самбараа арчаад дахин эхэлдэг. Гэсэн хэдий ч даалгаврын жагсаалт нь хуучирсан бөгөөд өөрчлөхөд хэцүү байдаг тул заримдаа самбарыг долоо хоног бүр арчихаа мартдаггүй, зарим ажлыг өөр өөр давтамжтайгаар хийх шаардлагатай байдаг-заримыг нь өдөр бүр хийх нь зүйтэй. Бусад нь сард нэг л удаа байж болно. Тиймээс би эдгээр асуудлыг шийдвэрлэхийн тулд Arduino -д суурилсан төхөөрөмж бүтээхээр шийдсэн юм. Миний зорилго бол даалгавруудыг хялбархан нэмэх/хасах/шинэчлэх, даалгавар хийгдсэн үед бүртгэх, зээл олгох ажлыг оновчтой болгох механизмыг бий болгох явдал байв. зохих хүн, өөр өөр даалгавруудыг гүйцэтгэх шаардлагатай өөр өөр хуваарь, давтамжийг хянах, хоцрогдсон ажлуудыг тодруулах арга. Энэхүү зааварчилгаа нь "Task Manager" төхөөрөмж хэрхэн гарч ирснийг харуулах болно.

Алхам 1: Техник хангамж

Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж

Төсөл нь сайн ашигласан, баримтжуулсан хэд хэдэн тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг ашигладаг.

  • Arduino UNO/Nano - энэ бол системийн "тархи" юм. EEPROM санах ой нь системийг унтраасан байсан ч гэсэн ажлуудын төлөв байдлыг хадгалахад ашиглагдана. Цахилгааны утсыг хөнгөвчлөхийн тулд би нано -г халив дээр суулгасан боловч хэрэв та хүсвэл GPIO тээглүүрийг гагнах эсвэл хавчих холболтыг ашиглаж болно.
  • Бодит цагийн цаг (RTC) модуль - даалгавруудыг гүйцэтгэсэн цагийн тэмдгийг бүртгэхэд ашигладаг бөгөөд сүүлчийн удаагаа одоогийн цагтай харьцуулж, аль даалгаврууд хоцорч байгааг тодорхойлдог. Миний хүлээн авсан төхөөрөмжийг LiPo цэнэглэдэг батерейгаар (LIR2032) ашиглахаар бүтээсэн болохыг анхаарна уу. Гэсэн хэдий ч би цэнэглэдэггүй CR2032 батерей ашиглаж байгаа тул цэнэглэх хэлхээг идэвхгүй болгохын тулд хэд хэдэн өөрчлөлт хийх шаардлагатай болсон (та цэнэглэдэггүй батерейг дахин цэнэглэхийг хүсэхгүй байна уу, эсвэл дэлбэрэх магадлалтай…). Тодруулбал, би R4, R5, R6 резисторуудыг арилгаж, диод D1 гэж тэмдэглэсэн. Дараа нь би R6 байсан газарт богинохон хүрэх гагнуурын гүүрийг бүтээв. Эдгээр өөрчлөлтийг доорх зурган дээр харуулав.
  • ISO14443 RFID уншигч + хэрэглэгч бүрт нэг шошго- системийг "тоглоомчлох" арга хэлбэрийн хувьд миний хүүхдүүд тус бүр өөрийн гэсэн өвөрмөц RFID тагтай байдаг. Даалгаврыг сонгоод уншигчдын дунд хаягийг нь шудрах нь даалгаврыг дууссан гэж тэмдэглэх механизм болно
  • 16x2 LCD дэлгэц - системд хэрэглэгчийн интерфэйсийг өгөхөд ашигладаг. PCF8574A салшгүй үүргэвчтэй самбарыг ашигласнаар самбарыг I2C интерфэйсээр Arduino руу холбож болох бөгөөд энэ нь утсыг ихээхэн хөнгөвчилдөг.
  • Ротари кодлогч нь хэрэглэгчид өөр өөр боломжтой ажлуудыг сонгохын тулд удирдах гол товчлуур байх болно
  • Wago холбогч - эдгээр холбогч холбогч нь бүрэлдэхүүн хэсгүүдийг хооронд нь холбох эсвэл хэд хэдэн модульд энгийн автобус үүсгэх тохиромжтой арга бөгөөд тус бүр нь нийтлэг эсвэл 5В -ийн тэжээл шаарддаг.

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас

16x2 LCD дэлгэц ба DS1307 RTC хоёулаа I2C интерфэйсийг ашигладаг бөгөөд энэ нь утсыг илүү хялбар болгодог бөгөөд Arduino -ийн A4 (SDA) ба A5 (SCL) зүү рүү зөвхөн хос утас шаардагддаг

MFRC-522 RFID уншигч нь SPI интерфэйсийг ашигладаг бөгөөд үүнд 11 (MOSI), 12 (MISO), 13 (SCK) тоног төхөөрөмжийн тогтмол зүү ашигладаг. Энэ нь мөн боолтыг сонгох, дахин тохируулах шугамыг шаарддаг бөгөөд энэ нь миний 10 ба 9 -р зүү рүү хуваарилагдсан болно

Эргэдэг кодлогч нь хос тээглүүр шаарддаг. Хамгийн оновчтой гүйцэтгэлийг хангахын тулд эдгээр тээглүүрүүд нь гадны тасалдлыг зохицуулж чаддаг бол хамгийн сайн арга юм. Тиймээс би 2 ба 3 дижитал тээглүүрийг ашиглаж байна. Та мөн кодчилогчийг унтраалгаар дарж болно, гэхдээ би үүнийг 4 -р зүүгээр холбосон. Одоогоор кодонд ашиглагдаж байгаа тул нэмэлт функцүүдийг нэмж оруулах нь танд ашигтай байж магадгүй юм

Тохиромжтой болгохын тулд би WAGO 222 цувралын холбогч блокуудыг ашиглаж байна. Эдгээр нь 2-оос 8 хүртэлх утсыг хооронд нь холбох бат бөх, хялбар аргаар хангадаг холбогч бөгөөд газрын болон 5В шугамыг хуваалцах хэд хэдэн модулийг шаарддаг Arduino төслүүдэд маш тохиромжтой байдаг. ижил I2C эсвэл SPI автобус гэж хэлээрэй

Диаграм нь бүх зүйл хоорондоо хэрхэн уялдаатай байгааг харуулав.

Алхам 3: Барилга

Би цахилгаан хэрэгслийг байрлуулахын тулд 3D хэвлэсэн хамгийн энгийн хэргийг хийсэн. Өмнөх хэвлэсэн жагсаалт шиг хөргөгчийн хажуу талд бэхлэхийн тулд би ар талд нь соронз байрлуулсан. Би USB залгуурыг ил орхисон, учир нь хэрэв системд шинэ даалгавар оруулах шаардлагатай бол, эсвэл нэвтэрч, дууссан ажлуудыг харуулсан өгөгдлийн багцыг татаж авахад ашиглах болно.

Би STL файлуудыг хэвлэсний дараа хадгалаагүй боловч ижил төстэй олон тохиолдол байдаг (магадгүй илүү дээр юм!) Эсвэл та гоёмсог модон хайрцаг хийж болно, эсвэл хуучин электрон хайрцгийг эсвэл цахилгаан хэрэгслийг байрлуулах зориулалттай саванд хийж болно.

Алхам 4: Код

Код
Код

Бүрэн тайлбарласан кодыг доор татаж авах хэлбэрээр хавсаргасан болно. Энд анхаарах ёстой хамгийн чухал хэдэн зүйлийг энд дурдав:

Би нэг даалгаврын бүх шинж чанарыг багтаасан өгөгдлийн нэгж болох "task" захиалгат бүтцийг бүтээсэн. Даалгаварууд нь LCD дэлгэц дээр хэрхэн гарч ирэх (мөн 16 тэмдэгтээр хязгаарлагддаг), гүйцэтгэх давтамж, хамгийн сүүлд хэзээ, хэн гүйцэтгэсэн гэх мэт нэрээс бүрдэнэ

бүтэц даалгавар {

char taskName [16]; // Энэ даалгаврын богино, "нөхөрсөг" нэр нь displayEachXDays дэлгэц дээр гарч ирэх болно; // Тогтмол байдал, энэ даалгавар давтагдах өдрүүдээр. 1 = Өдөр бүр, 7 = Долоо хоног гэх мэт гарын үсэг зураагүй long lastCompletedTime; // Энэ даалгаврыг хамгийн сүүлд гүйцэтгэсэн хугацааны тамга int lastCompletedBy; // Энэ ажлыг хамгийн сүүлд гүйцэтгэсэн хүний ID};

Өгөгдлийн үндсэн бүтцийг "taskList" гэж нэрлэдэг бөгөөд энэ нь зүгээр л тусдаа ажлуудын массив юм. Та хүссэн ажлаа эндээс хамгийн сүүлд дууссан хугацааных нь 0, хамгийн сүүлд гүйцэтгэсэн хэрэглэгчийн ID -ийн утгыг илэрхийлсэн байдлаар тодорхойлж болно

даалгаврын жагсаалт [numTasks] = {

Кодын дээд хэсэгт байрлах тогтмол хэсгүүдэд "eepromSignature" нэртэй ганц байтын утга байдаг. Энэ утгыг EEPROM дээр хадгалагдсан өгөгдөл зөв эсэхийг тодорхойлоход ашигладаг. Хэрэв та taskList зүйлийн бүтцийг өөрчилж, хасах эсвэл нэмэлт талбар нэмж өгвөл энэ утгыг нэмэгдүүлэх хэрэгтэй. Та үүнийг өгөгдөлд зориулсан хувилбарын дугаарлах үндсэн систем гэж бодож болно

const байт eepromSignature = 1;

Эхлэх үед програм нь EEPROM -д хадгалагдсан өгөгдлийг кодод тодорхойлсон өгөгдлийн гарын үсэгтэй тохирч байвал л ачаалахыг оролдох болно.

хүчингүй сэргээхFromEEPROM () {

int checkByte = EEPROM.read (0); if (checkByte == eepromSignature) {EEPROM.get (1, taskList); }}

LCD дэлгэц болон RTC модуль нь I2C интерфэйсийг ашиглан Arduino -той харилцдаг. Энэ нь төхөөрөмж бүр өвөрмөц I2C хаягтай байхыг шаарддаг. Би хэд хэдэн өөр хэмжээтэй 16x2 дэлгэцийн самбарыг туршиж үзсэн бөгөөд зарим нь 0x27 хаягийг ашигладаг шиг санагддаг бол бусад нь ижил төстэй самбарууд 0x3f ашигладаг. Хэрэв та дэлгэцээ хэдхэн квадрат харуулаад текстгүй байгааг олж мэдвэл кодонд тодорхойлсон хаягийн утгыг өөрчилж үзээрэй

LiquidCrystal_PCF8574 lcd (0x27);

RFID шошго илрэх үед код нь 4 байтын танигчийг уншдаг бөгөөд үүнийг ашиглан мэдэгдэж буй хэрэглэгчдийн хүснэгтээс харгалзах хэрэглэгчийг хайхыг оролддог. Хэрэв шошгыг танихгүй бол 4 байт танигчийг цуваа мониторын консол руу илгээх болно

int GetUserFromRFIDTag (RFID байт ) {

for (int i = 0; i <numusers; i ++) = "" {<numUsers; i ++) {if (memcmp (userList .rfidUID, RFID, sizeof userList .rfidUID) == 0) {return userList .userID; }} Serial.print (F ("Үл мэдэгдэх RFID карт илэрсэн:")); for (байт i = 0; i <4; i ++) {Serial.print (RFID <0x10? "0": ""); Serial.print (RFID , HEX); } буцах -1; }

Хэрэглэгчид шошго өгөхийн тулд та харуулсан ID-г хуулж, кодын дээд талд байгаа хэрэглэгчийн массивт харгалзах хэрэглэгчийн хажууд 4 байтын утгыг оруулах ёстой.

const user userList [numUsers] = {{1, "Жинни", {0x00, 0x00, 0x00, 0x00}}, {2, "Harry", {0x12, 0x34, 0x56, 0x78}}, {3, "Ron", {0xE8, 0x06, 0xC2, 0x49}}, {4, "Гермиона", {0x12, 0x34, 0x56, 0x78}}, {5, "Alastair", {0x12, 0x34, 0x56, 0x78}},};

Алхам 5: Хэрэглээ

Хэрэглээ
Хэрэглээ
Хэрэглээ
Хэрэглээ

Хэрэв та үүнийг өнөөг хүртэл хийж чадсан бол системийн хэрэглээ нь кодоос нэлээд далд байх ёстой; Ямар ч үед хэрэглэгчид эргүүлэх товчлуурыг эргүүлж, боломжтой ажлуудын жагсаалтыг гүйлгэж харах боломжтой. Хугацаа хэтэрсэн ажлуудыг цолныхоо дараа одоор тэмдэглэнэ.

Гүйцэтгэх ажлыг сонгосны дараа хэрэглэгчид уншигчдын дунд өвөрмөц RFID фобоо скан хийж, даалгаврыг дуусгасан гэж тэмдэглэх боломжтой болно. Тэдний үнэмлэх, одоогийн цагийг Arduino -ийн EEPROM -д бүртгэж хадгална.

Зөв RFID хаягийг тохируулахын тулд та Arduino цуваа мониторыг хавсаргасан байдлаар ноорогоо ажиллуулах хэрэгтэй. Шошго бүрийг сканнердаж, цуваа дэлгэц дээр харуулсан 4 байтын зургаан өнцөгт UID утгыг анхаарч үзээрэй. Дараа нь кодын дээд хэсэгт зарласан хэрэглэгчийн жагсаалтыг өөрчилж, энэ хаягийн ID -г зохих хэрэглэгчдэд онооно уу.

Долоо хоног бүр зохих халаасны мөнгөн урамшууллыг хуваарилахын тулд өнгөрсөн долоо хоногт хэрэглэгчийн гүйцэтгэсэн бүх ажлыг харуулсан тайланг хэвлэх функцийг нэмж оруулахыг би бодсон. Гэсэн хэдий ч ийм зүйл тохиолдсоны дараа хүүхдүүд маань халаасны мөнгөн шагналаа бүрэн мартсан системийг ашигласан шинэлэг зүйлд сэтгэл хангалуун байгаа бололтой! Энэ нь нэлээд энгийн нэмэлт байх бөгөөд уншигчдын хувьд дасгал болгон үлдээсэн болно:)

Зөвлөмж болгож буй: