Satura rādītājs:
- 1. darbība: lodziņa pārveidošana
- 2. darbība: 3D drukātās detaļas
- 3. solis: elektronika
- 4. solis: kods
- 5. darbība: galīgā iestatīšana
Video: Automātiskais zāļu dozators: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šis projekts ir paredzēts izmantošanai medicīnas jomā, kur gados vecākiem pacientiem ir jābūt drošam medikamentu sadalīšanas un izsniegšanas veidam. Šī ierīce ļauj zāles sadalīt līdz 9 dienām iepriekš un automātiski izsniegt vēlamajā laikā. Vāks ir arī aizslēdzams ar RFID marķējumu, nodrošinot, ka tikai aprūpētājs var piekļūt medikamentiem.
Piegādes:
Šim projektam ir nepieciešami materiāli:
- Arduino UNO
- Motora vadītāja modulis
- Servo SG90 9G
- Stepper motors
- DS1302 RTC modulis
- Dažādi džemperu vadi
- IIC 1602 LCD
- Piekļuve 3D printerim
- Kājas, piemēram, koka dībeļi
- RFID modulis un marķējums
- Divas spiedpogas
- Lodāmurs
- Maizes dēlis
- Super līme
- Koka skrūves
- Nepabeigta koka kaste ar šarnīra vāku
- Divpusēja lente
1. darbība: lodziņa pārveidošana
Kastīte vispirms būs jāmaina. Ir jāizurbj vairāki caurumi. Pirmais caurums atradīsies kastes priekšpusē, kur ir iespiesta vadības paneļa kaste. Otrais caurums atrodas kastes aizmugurē, lai izietu cauri USB kabelim. Pēdējais caurums atrodas kastes apakšā, kur zāles izkritīs, tiklīdz tās tiks izsniegtas. Visbeidzot, kājas jāpiestiprina pie apakšas. Kājām izmantoju gumijas pēdas, ko atradu ap savu māju, bet var izmantot arī koka tapas.
2. darbība: 3D drukātās detaļas
Šim projektam ir vajadzīgas daudzas 3D drukātas detaļas.
Viņi ir:
- Karuselis, kurā ir zāles
- Bāze karuseļam
- Piltuve medikamentiem
- Servo motora roka vāka bloķēšanai
- Bāze servomotorei
- Servo rokas fiksators
- Vadības panelis
- Tase zāļu izsniegšanai
Karuseļa pamatne ir pielīmēta pie kastes ar abpusēju līmlenti. Servo motora pamatne un rokas aizbīdnis ir ieskrūvēti kastē ar īsām koka skrūvēm. Pēc komponentu ievietošanas vadības paneļa kārba tiek pielīmēta pie kastes priekšpuses ar super līmi.
3. solis: elektronika
Tagad elektronika ir jāievieto kastē. Pirmkārt, pakāpiena motors ir piestiprināts pie karuseļa pamatnes ar M3 skrūvēm un uzgriežņiem. Pēc tam servo ir super pielīmēts pie pamatnes. Pēc tam motora kontrolieris, Arduino, maizes dēlis, RFID modulis un RTC modulis ir pievienoti kastē ar divpusēju lenti. LCD ir ievietots vadības kastes atverē. Ir nepieciešama lodēšana. Spiedpogām džemperu kabeļi jāpielodē pie lāpstas savienotājiem. RFID lasītājam tapas jāpielodē pie tāfeles.
4. solis: kods
Zemāk ir komentētais kods:
Šajā kodā ir iekļautas servo, LCD, RTC, RFID un pakāpju motora bibliotēkas.
////////////////// Bibliotēkas un mainīgie
#iekļaut #iekļaut // Arduino standarta bibliotēku #iekļaut #iekļaut virtuabotixRTC myRTC (2, 3, 4); // Definēt tapas #define servopin 8 const int buttonup = 6; const int buttondown = 7; int h = 0; int minn = 0; int sel = 0; int stāvoklis = 0; int apgalvots = 0; int statez = 0; int gaidīt = 0; int skapītis = 0; // Iestatīt servo Servo servo; int leņķis = 180; #include // izmantojiet modificētu soļu bibliotēku ar 1000/0100/0010/0001 magnēta iedarbināšanas secību. Ievietojiet bibliotēku savā bibliotēkas mapē. #define gearratio 64 // 1: 64 pārnesumu attiecība const int soļiPerRevolution = 2048; // Arduino Kit motors ir pārnests uz leju. Ar eksperimentu es noteicu, ka 2048 soļi pagriež vārpstu vienu kārtu. int soļi = 0; LiquidCrystal_I2C LCD (0x27, 16, 2); // uzmontēt 4 vadu pakāpienu uz tapām 8 līdz 11: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Izveidot MFRC522 instanci. int deg = 10; void setup () {lcd.init (); // inicializēt lcd lcd.backlight (); // Līnija zem tā tiek izmantota, lai iestatītu pašreizējo laiku. Tas ir jādara tikai vienu reizi, un pēc tam kods // ir jāaugšupielādē vēlreiz, komentējot to. //myRTC.setDS1302Time (40, 55, 11, 1, 7, 12, 2020); pinMode (pogas, INPUT_PULLUP); pinMode (buttondown, INPUT_PULLUP); Sērijas sākums (9600); // Sāciet seriālo sakaru SPI.begin (); // Uzsākt SPI kopni mfrc522. PCD_Init (); // Uzsākt MFRC522 myStepper.setSpeed (0,15*pārnesumu attiecība); // šķiet, ka motors ir samazināts par 1/64, kas nozīmē, ka ātrums ir jāiestata 64 reizes. // inicializēt seriālo portu: servo.attach (servopin); } void loop () {///////////////// LCD kods // Pastāvīgi atjaunina displeju ar pašreizējo laiku un izsniegšanas laiku. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Laiks:"); lcd.setCursor (6, 0); lcd.print (myRTC.hours); lcd.print (":"); lcd.print (myRTC.minutes); lcd.setCursor (0, 1); lcd.print ("Izdot:"); lcd.setCursor (10, 1); lcd.print (hr); lcd.print (":"); lcd.print (minn); ///////////////// Lasīšanas pogu stāvokļi // Nolasa pogu stāvokli, lai mainītu izsniegšanas laiku. stāvoklis = digitalRead (pogas); konstatēts = digitalRead (buttondown); kavēšanās (100); ///////////////// Izplatīšanas loģika // Ja pašreizējais laiks ir tāds pats kā izvēlētais dozēšanas laiks, pagrieziet soļu motoru. // Ik pēc 9 reizēm, kad ierīce tiek izsniegta, motors pagriež papildu attālumu, lai nodrošinātu pilnīgu rotāciju. ja (myRTC.hours == h && myRTC.minutes == minn && steps <9) {myStepper.step (227); soļi = soļi +1; kavēšanās (60100); myRTC.updateTime (); } cits if (myRTC.hours == h && myRTC.minutes == minn && steps == 9) {myStepper.step (232); soļi = 0; kavēšanās (60100); myRTC.updateTime (); ////////////////// Izsniegšanas laika maiņa // Mainiet dozēšanas laiku, pamatojoties uz to, kura poga tiek nospiesta. // Laiks atgriežas pie nulles, kad stundas sasniedz 24, bet minūtes sasniedz 60.} if (stateup == LOW && hr <23) {hr = hr+1; kavēšanās (50); } cits if (statuss == LOW && hr == 23) {hr = 0; kavēšanās (50); } ja (konstatēts == LOW && minn <59) {minn = minn+1; kavēšanās (50); } cits ja (konstatēts == LOW && minn == 59) {minn = 0; kavēšanās (50); } ///////////////// RFID kods // Nolasa RFID tagu, kad tas tiek parādīts. if (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Izvēlieties vienu no kartēm, ja (! Mfrc522. PICC_ReadCardSerial ()) {return; } Stīgu saturs = ""; baitu burts; par (baits i = 0; i <mfrc522.uid.size; i ++) {//Serial.println(mfrc522.uid.uidByte <0x10? "0": ""); //Serial.println(mfrc522.uid.uidBy
5. darbība: galīgā iestatīšana
Pēdējais solis ir sagatavot projektu lietošanai. Vispirms augšupielādējiet kodu ar nekomentētu laika iestatīšanas rindiņu, lai augšupielādētu pašreizējo laiku RTC. Pēc tam komentējiet kodu un atkārtoti ielādējiet kodu. Tas nodrošinās, ka, ja ierīce tiek atvienota no elektrotīkla, tā joprojām saglabā pareizo laiku. Tagad viss, kas jums jādara, ir ievietot zāles spraugās, novietot krūzi zem dozēšanas atveres un iestatīt izsniegšanas laiku. Ierīce katru dienu uzticami izsniegs vienā un tajā pašā laikā.
Ieteicams:
DIY automātiskais roku dezinfekcijas līdzekļa dozators: 6 soļi
DIY automātiskais roku dezinfekcijas līdzekļa dozators: Šajā projektā mēs izveidosim automātisko roku dezinfekcijas līdzekļa dozatoru. Šajā projektā tiks izmantots Arduino, ultraskaņas sensors, ūdens sūknis un roku dezinfekcijas līdzeklis. Ultraskaņas sensoru izmanto, lai pārbaudītu roku klātbūtni zem dezinfekcijas iekārtas izplūdes atveres
Automātiskais ziepju dozators, izmantojot Arduino: 8 soļi
Automātiskais ziepju dozators, izmantojot Arduino: Automātiskais ziepju dozators, izmantojot arduino: Tātad, čau, laipni lūdzam atgriezties pie jaunā raksta šajā rakstā, un mēs izgatavosim automātisku ziepju dozatoru, izmantojot arduino
Automātiskais rokas gēla dozators ar Arduino: 3 soļi
Automātiskais rokas gēla dozators ar Arduino: šis projekts ir balstīts uz ļoti vienkāršām un vieglām zināšanām, piemērots amatieriem, balstīts uz atvērtā pirmkoda kodiem un viegli atrodamām sastāvdaļām par ļoti pieņemamu cenu. Šī projekta mērķis ir saglabāt mūsu rokas tīras no vīrusiem un citi mikrobi
Automātiskais ūdens dozators patēriņa izsekošanai: 6 soļi
Automātiskais ūdens izsmidzinātājs patēriņa izsekošanai: Sveiki! Pirms pāris mēnešiem es biju savā istabā un domāju par to, kādu projektu es vēlos izveidot skolas uzdevumam. Es gribēju izgatavot kaut ko tādu, kas man piestāvētu un kas man nāktu par labu nākotnē. Pēkšņi istabā ienāca mamma un
Arduino bāzes zāļu dozators: 5 soļi (ar attēliem)
Arduino bāzes zāļu dozators: tas ir ļoti viegli pagatavojams un ļoti noderīgs