
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05

Tento projekt je určený na použitie v lekárskej oblasti, kde starší pacienti musia mať spoľahlivý spôsob, ako rozdeľovať a vydávať lieky. Toto zariadenie umožňuje dávkovanie liekov až 9 dní vopred a automatické dávkovanie v požadovaný čas. Veko je tiež uzamykateľné štítkom RFID, čím sa zaisťuje, že k liekom má prístup iba opatrovateľ.
Zásoby:
Na stavbu tohto projektu sú potrebné materiály:
- Arduino UNO
- Modul ovládača motora
- Servo SG90 9G
- Krokový motor
- Modul RTC DS1302
- Rôzne prepojovacie vodiče
- IIC 1602 LCD
- Prístup k 3D tlačiarni
- Nohy, ako sú drevené hmoždinky
- RFID modul a štítok
- Dve tlačidlá
- Spájkovačka
- Breadboard
- super lepidlo
- Skrutky do dreva
- Nedokončený drevený box so sklopným vekom
- Obojstranná lepiaca páska
Krok 1: Úprava rámčeka




Krabica bude musieť byť najskôr upravená. Existuje niekoľko otvorov, ktoré je potrebné vyvŕtať. Prvý otvor bude na prednej strane škatule, kde je vytlačený box ovládacieho panela. Druhý otvor je v zadnej časti škatule, cez ktorý prechádza kábel USB. Posledný otvor je na spodnej časti škatule, kam lieky po vydaní prepadnú. Nakoniec musia byť nohy pripevnené k spodnej časti. Na nohy som použil gumené nožičky, ktoré som našiel okolo svojho domu, ale dajú sa použiť aj drevené hmoždinky.
Krok 2: 3D tlačené diely



Pre tento projekt je potrebných veľa 3D tlačených dielov.
Oni sú:
- Kolotoč, ktorý drží lieky
- Základňa pre kolotoč
- Lievik na lieky
- Rameno pre servomotor na zablokovanie veka
- Základňa pre servomotor
- Západka pre rameno serva
- Ovládací panel
- Pohár na výdaj liekov
Základňa kolotoča je k krabici prilepená obojstrannou páskou. Základňa servomotora a západka ramena sú do skrinky zaskrutkované krátkymi skrutkami do dreva. Krabica ovládacieho panela je po vložení komponentov prilepená k prednej časti škatule super lepidlom.
Krok 3: Elektronika

Elektroniku je teraz potrebné vložiť do škatule. Krokový motor je najskôr pripevnený k základni karuselu skrutkami a maticami M3. Servo je potom super prilepené k svojej základni. Potom je k krabici pomocou obojstrannej pásky pripevnený ovládač motora, Arduino, breadboard, modul RFID a modul RTC. LCD je vložený do otvoru v ovládacej skrinke. Vyžaduje sa určité spájkovanie. V prípade tlačidiel musia byť prepojovacie káble spájkované s konektormi rýľa. V prípade čítačky RFID musia byť kolíky spájkované s doskou.
Krok 4: Kód
Nasleduje komentovaný kód:
Tento kód obsahuje knižnice pre servo, LCD, RTC, RFID a krokový motor.
/////////////////// Knižnice a premenné
#include #include // Štandardná knižnica Arduino #include #include virtuabotixRTC myRTC (2, 3, 4); // Definovanie pinov #define servopin 8 const int buttonup = 6; konštantné tlačidlo nadol = 7; int hr = 0; int minn = 0; int sel = 0; int stateup = 0; int uvedené mesto = 0; int stavy = 0; int čakať = 0; int skrinka = 0; // Nastavenie servo Servo servo; vnútorný uhol = 180; #include // použiť upravenú knižnicu stepperov so sekvenciou odpaľovania magnetov 1000/0100/0010/0001. Vložte knižnicu do priečinka knižnice. #define gearratio 64 // 1: 64 gear gear const int stepsPerRevolution = 2048; // Motor súpravy Arduino je zaradený nadol. Experimentom som zistil, že 2048 krokov otočí hriadeľ o jedno kolo. int kroky = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // inštancia 4-vodičového steppera na piny 8 až 11: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Vytvorenie inštancie MFRC522. int deg = 10; void setup () {lcd.init (); // inicializácia lcd lcd.backlight (); // Nasledujúci riadok slúži na nastavenie aktuálneho času. Musí sa to vykonať iba raz a potom sa musí kód // nahrať znova s komentárom. //myRTC.setDS1302Time(40, 55, 11, 1, 7, 12, 2020); pinMode (buttonup, INPUT_PULLUP); pinMode (tlačidlo nadol, INPUT_PULLUP); Serial.begin (9600); // Spustenie sériovej komunikácie SPI.begin (); // Spustenie zbernice SPI mfrc522. PCD_Init (); // Spustenie MFRC522 myStepper.setSpeed (0,15*prevodový stupeň); // Motor sa zdá byť zaradený o 1/64, čo znamená, že rýchlosť je potrebné nastaviť 64 -krát. // inicializácia sériového portu: servo.attach (servopin); } prázdna slučka () {///////////////////// LCD kód // Neustále aktualizuje displej s aktuálnym časom a časom výdaja. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Čas:"); lcd.setCursor (6, 0); lcd.print (myRTC.hours); lcd.print (":"); lcd.print (myRTC.minutes); lcd.setCursor (0, 1); lcd.print ("Výplata:"); lcd.setCursor (10, 1); lcd.print (hr); lcd.print (":"); lcd.print (ťažba); /////////////////// Stavy tlačidiel na čítanie // Načíta stavy tlačidiel na zmenu času výdaja. stateup = digitalRead (zapnutie); saidown = digitalRead (tlačidlo nadol); oneskorenie (100); /////////////////// Logika výdaja // Ak je aktuálny čas rovnaký ako zvolený čas výdaja, otočte krokový motor. // Každých 9 -krát, čo zariadenie vydá, sa motor otočí o ďalšiu vzdialenosť, aby sa zaistilo úplné otočenie. if (myRTC.hours == hr && myRTC.minutes == minn && steps <9) {myStepper.step (227); kroky = kroky +1; oneskorenie (60100); myRTC.updateTime (); } else if (myRTC.hours == hr && myRTC.minutes == minn && steps == 9) {myStepper.step (232); kroky = 0; oneskorenie (60100); myRTC.updateTime (); /////////////////// Zmena času výdaja // Zmeňte čas výdaja podľa toho, aké tlačidlo stlačíte. // Čas sa vráti na nulu, keď sa hodiny dostanú na 24 a minúty na 60.} if (stateup == LOW && hr <23) {hr = hr+1; oneskorenie (50); } else if (stateup == LOW && hr == 23) {hr = 0; oneskorenie (50); } if (saidown == LOW && minn <59) {minn = minn+1; oneskorenie (50); } else if (saidown == LOW && minn == 59) {minn = 0; oneskorenie (50); } ////////////////// RFID kód // Číta značku RFID, keď je predložená. if (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Vyberte jednu z kariet, ak (! Mfrc522. PICC_ReadCardSerial ()) {return; } Reťazcový obsah = ""; bajtové písmeno; for (byte i = 0; i <mfrc522.uid.size; i ++) {//Serial.println(mfrc522.uid.uidByte <0x10? "0": ""); //Serial.println(mfrc522.uid.uidByte, HEX); content.concat (String (mfrc522.uid.uidByte <0x10? "0": ""))); content.concat (String (mfrc522.uid.uidByte , HEX)); skrinka = 1; } content.toUpperCase (); /////////////////// LOCK CODE // Keď je načítaný správny štítok RFID, posuňte servo do otvorenej polohy, keď je zatvorené, // a presuňte servo do zatvorenej polohy, keď je otvorené. while (locker == 1) {if (content.substring (1) == "3B 21 D6 22") {// tu zmeňte UID karty/kariet, ku ktorým chcete udeliť prístup {switch (deg) {case 180: servo.write (deg); deg = 10; skrinka = 0; Serial.print ("v pohybe"); oneskorenie (1000); prestávka; prípad 10: servo.write (deg); deg = 180; skrinka = 0; oneskorenie (1000); prestávka; }}} else {Serial.println ("Prístup odmietnutý"); oneskorenie (1000); }}}
Krok 5: Konečné nastavenie
Posledným krokom je príprava projektu na použitie. Najprv nahrajte kód s nekomentovaným riadkom nastavenia času, aby ste nahrali aktuálny čas do RTC. Potom kód komentujte a znova načítajte kód. Zaistíte tak, že aj keď zariadenie odpojíte, zachová si správny čas. Teraz stačí vložiť lieky do štrbín, umiestniť pohár pod výdajný otvor a nastaviť čas výdaja. Zariadenie bude spoľahlivo dávkovať každý deň v rovnakom čase.
Odporúča:
Automatický gélový dávkovač alkoholu s Esp32: 9 krokov

Automatický dávkovač gélového alkoholu s Esp32: V tutoriále uvidíme, ako vytvoriť kompletný prototyp, ako zostaviť automatický dávkovač gélového alkoholu s esp32, ktorý bude zahŕňať montáž krok za krokom, elektronický obvod a tiež zdrojový kód, ktorý všetky krok za krokom vysvetlí. krok
Automatický dávkovač mydla pomocou Arduina: 8 krokov

Automatický dávkovač mydla pomocou Arduina: Automatický dávkovač mydla pomocou arduina: Takže hej chlap, vitajte späť v novom článku v tomto článku vyrobíme automatický dávkovač mydla pomocou arduina, tento dávkovač mydla sa veľmi ľahko vyrába V niekoľkých krokoch môžete urobiť tento automatický dávkovač mydla
Automatický dávkovač alkoholu s Arduinom: 6 krokov

Automatický dávkovač alkoholu s Arduinom: Tento arduino projekt vás prevedie automatickým výdajom alkoholu. Užívateľ sa nemusí ničoho dotýkať, aby získal alkohol, stačí sa priblížiť k ultrazvukovému senzoru, alkohol bude vytlačený a potom sa prehrá zvukový súbor s cieľom informovať používateľa, že by mal
Ako si vyrobiť automatický dávkovač mydla: 6 krokov

Ako si vyrobiť automatický dávkovač mydla: AHOJ, V tomto tutoriále vám ukážem, ako vytvoriť automatický bezkontaktný dávkovač mydla, ktorý je plne DIY, ak sa vám páči, potom zvážte podporu a prihlásenie sa na odber môjho kanála ARDUINO MAKER. Takže sa pripravte na inšpiráciu …..! môžete tiež
Dávkovač liekov na báze Arduina: 5 krokov (s obrázkami)

Dávkovač liekov založených na Arduino: Je to veľmi jednoduché na výrobu a veľmi užitočné