Sadržaj:
- Korak 1: Izmjena okvira
- Korak 2: 3D ispisani dijelovi
- Korak 3: Elektronika
- Korak 4: Kodirajte
- Korak 5: Konačno postavljanje
Video: Automatski dozator lijekova: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Ovaj se projekt koristi u medicini, gdje stariji pacijenti moraju imati pouzdan način dijeljenja i izdavanja lijekova. Ovaj uređaj omogućuje dijeljenje lijekova do 9 dana unaprijed i automatsko izdavanje u željeno vrijeme. Poklopac se također može zaključati RFID oznakom, pazeći da samo njegovatelj može pristupiti lijeku.
Pribor:
Za izradu ovog projekta potrebni su materijali:
- Arduino UNO
- Modul pokretača motora
- SG90 9G servo
- Koračni motor
- DS1302 RTC modul
- Razne kratkospojne žice
- IIC 1602 LCD
- Pristup 3D pisaču
- Noge poput drvenih tipla
- RFID modul i oznaka
- Dva tastera
- Lemilica
- Oglasna ploča
- super ljepilo
- Vijci za drvo
- Nedovršena drvena kutija s poklopcem na šarkama
- Dvostrana traka
Korak 1: Izmjena okvira
Okvir će se prvo morati izmijeniti. Postoji više rupa koje je potrebno izbušiti. Prva rupa bit će na prednjoj strani kutije, gdje je otisnuta kutija upravljačke ploče. Druga rupa nalazi se na stražnjoj strani kutije za prolaz USB kabela. Posljednja rupa nalazi se na dnu kutije, gdje će lijek propasti nakon ispuštanja. Na kraju, noge moraju biti pričvršćene za dno. Za noge sam koristio gumene noge koje sam našao oko kuće, ali mogu se koristiti i drveni tiple.
Korak 2: 3D ispisani dijelovi
Za ovaj projekt potrebno je mnogo 3D ispisanih dijelova.
Oni su:
- Vrtuljak s lijekovima
- Baza za vrtuljak
- Lijevak za lijekove
- Ruka za servo motor za zaključavanje poklopca
- Baza za servo motor
- Zatvarač za servo krak
- Upravljačka ploča
- Šalica za ispuštanje lijeka
Baza za vrtuljak pričvršćena je na kutiju dvostranom trakom. Baza za servo motor i zasun za ruku oboje su uvrnuti u kutiju kratkim vijcima za drvo. Kutija upravljačke ploče lijepi se na prednju stranu kutije super ljepilom, nakon što su komponente umetnute.
Korak 3: Elektronika
Elektroniku sada treba staviti u kutiju. Najprije je koračni motor pričvršćen na podlogu vrtuljka vijcima i maticama M3. Servo je zatim super zalijepljen na svoju podlogu. Zatim su kontroler motora, Arduino, matična ploča, RFID modul i RTC modul pričvršćeni na kutiju dvostranom trakom. LCD je umetnut u rupu na upravljačkoj kutiji. Potrebno je neko lemljenje. Za tipke, kratkospojni kablovi moraju biti lemljeni na konektore lopatica. Za RFID čitač, pinovi moraju biti lemljeni na ploču.
Korak 4: Kodirajte
Ispod je komentirani kod:
Knjižnice za servo, LCD, RTC, RFID i koračni motor uključene su u ovaj kôd.
/////////////////// Knjižnice i varijable
#include #include // Arduino standardna biblioteka #include #include virtuabotixRTC myRTC (2, 3, 4); // Definiranje pinova #define servopin 8 const int buttonup = 6; const int buttondown = 7; int hr = 0; int minn = 0; int sel = 0; int stanjeup = 0; int navedenoown = 0; int statesel = 0; int čekanje = 0; int ormarić = 0; // Postavljanje servo Servo servo; int kut = 180; #include // koristiti izmijenjenu biblioteku koraka s 1000/0100/0010/0001 magnetskom sekvencom paljenja. Stavite knjižnicu u mapu knjižnice. #define gearratio 64 // 1: 64 prijenosni omjer const int stepsPerRevolution = 2048; // motor Arduino Kit je usmjeren prema dolje. Pokusom sam utvrdio da 2048 koraka okreće osovinu za jedan krug. int koraci = 0; LiquidCrystal_I2C LCD (0x27, 16, 2); // instancirajte 4-žični steper na pinovima 8 do 11: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Stvaranje instance MFRC522. int deg = 10; void setup () {lcd.init (); // inicijalizira lcd lcd.backlight (); // Red ispod ovoga služi za postavljanje trenutnog vremena. To se mora učiniti samo jednom, a zatim se kod // mora ponovno učitati s komentarom. //myRTC.setDS1302Time(40, 55, 11, 1, 7, 12, 2020); pinMode (gumb, INPUT_PULLUP); pinMode (buttondown, INPUT_PULLUP); Serial.begin (9600); // Pokretanje serijske komunikacije SPI.begin (); // Pokretanje sabirnice SPI mfrc522. PCD_Init (); // Pokretanje MFRC522 myStepper.setSpeed (0,15*prijenosni omjer); // čini se da je motor smanjen za 1/64, što znači da je brzinu potrebno postaviti 64x. // inicijalizira serijski port: servo.attach (servopin); } void loop () {/////////////////// LCD kod // Stalno ažurira zaslon s trenutnim vremenom i vremenom doziranja. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Vrijeme:"); lcd.setCursor (6, 0); lcd.print (myRTC. sati); lcd.print (":"); lcd.print (myRTC.minute); lcd.setCursor (0, 1); lcd.print ("Doziranje:"); lcd.setCursor (10, 1); lcd.tisak (hr); lcd.print (":"); lcd.tisak (minn); /////////////////// Pročitaj stanje gumba // Čita stanje gumba za promjenu vremena točenja. stateup = digitalno čitanje (gumb); specifiedown = digitalRead (buttondown); kašnjenje (100); /////////////////// Logic Dispensing Logic // Ako je trenutno vrijeme isto kao i odabrano vrijeme točenja, okrenite koračni motor. // Svakih 9 puta kada se uređaj rasprši, motor okreće dodatnu udaljenost kako bi se osiguralo potpuno okretanje. if (myRTC.hours == hr && myRTC.minutes == minn && steps <9) {myStepper.step (227); koraci = koraci +1; kašnjenje (60100); myRTC.updateTime (); } else if (myRTC.hours == hr && myRTC.minutes == minn && steps == 9) {myStepper.step (232); koraci = 0; kašnjenje (60100); myRTC.updateTime (); /////////////////// Promjena vremena točenja // Promijenite vrijeme točenja na temelju pritiska na tipku. // Vrijeme se vraća na nulu kada sati dosegnu 24, a minute 60.} if (stateup == LOW && hr <23) {hr = hr+1; kašnjenje (50); } else if (stateup == LOW && hr == 23) {hr = 0; kašnjenje (50); } if (specifiedown == LOW && minn <59) {minn = minn+1; kašnjenje (50); } else if (specifiedown == LOW && minn == 59) {minn = 0; kašnjenje (50); } /////////////////// RFID kod // Čita RFID oznaku kada je predstavljena. if (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Odaberite jednu od kartica if (! Mfrc522. PICC_ReadCardSerial ()) {return; } Sadržaj niza = ""; slovo bajta; for (bajt 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)); ormarić = 1; } content.toUpperCase (); /////////////////// LOCK CODE // Kad se pročita ispravna RFID oznaka, pomaknite servo u otvoreni položaj kada je zatvoren, // i pomaknite servo u zatvoreni položaj kada je otvorena. while (locker == 1) {if (content.substring (1) == "3B 21 D6 22") {// ovdje promijenite UID kartice/kartica kojima želite omogućiti pristup {switch (deg) {case 180: servo.pisati (stup); deg = 10; ormarić = 0; Serial.print ("kretanje"); kašnjenje (1000); pauza; slučaj 10: servo.write (deg); stupnjev = 180; ormarić = 0; kašnjenje (1000); pauza; }}} else {Serial.println ("Pristup odbijen"); kašnjenje (1000); }}}
Korak 5: Konačno postavljanje
Posljednji korak je priprema projekta za upotrebu. Prvo učitajte kôd s redom za podešavanje vremena bez komentara, kako biste učitali trenutno vrijeme u RTC. Zatim komentirajte kôd i ponovno ga učitajte. To će osigurati da će, ako je uređaj isključen, i dalje zadržati točno vrijeme. Sada sve što trebate učiniti je staviti lijek u utore, staviti šalicu ispod otvora za točenje i postaviti vrijeme točenja. Uređaj će se pouzdano izdavati u isto vrijeme svaki dan.
Preporučeni:
Automatski dozator za dezinfekciju ruku: 6 koraka
DIY automatski dozator za dezinfekciju ruku: U ovom projektu izgradit ćemo dozator za automatsko dezinfekciju ruku. Ovaj će projekt koristiti Arduino, ultrazvučni senzor, pumpu za vodu i dezinfekcijsko sredstvo za ruke. Ultrazvučni senzor koristi se za provjeru prisutnosti ruku ispod izlaza uređaja za dezinfekciju
Automatski dozator alkohola u gelu s Esp32: 9 koraka
Automatski dozator alkohola u gelu s Esp32: U vodiču ćemo vidjeti kako izraditi potpuni prototip, sastaviti automatski dozator alkohola u alkoholu s esp32, on će uključivati postupnu montažu, elektronički krug, a također i izvorni kod koji je objašnjen sve korak po korak
Automatski dozator za dezinfekciju ruku: 3 koraka
Automatski dozator za dezinfekciju ruku: Ovaj automatski dozator za dezinfekciju ruku dizajniran je kao relativno niska cijena koja se lako sastavlja. Većina potrebnih artikala može se kupiti od lokalnih prodavača hardvera i elektronike. Postoji mogućnost 3D ispisa
Automatski dozator sapuna pomoću Arduina: 8 koraka
Automatski dozator sapuna pomoću Arduina: Automatski dozator sapuna pomoću arduina: Dakle, hej, dobrodošli natrag u novi članak u ovom članku, napravit ćemo automatski dozator sapuna koji koristi arduino, ovaj dozator sapuna vrlo je jednostavan za napraviti U nekoliko koraka možete napraviti ovaj automatski dozator sapuna
Automatski dozator alkohola s Arduinom: 6 koraka
Automatski dozator alkohola s Arduinom: Ovaj arduino projekt će vas uputiti kako napraviti automatski dozator alkohola. Korisnici ne trebaju ništa dodirivati da bi nabavili alkohol, samo se približite ultrazvučnom senzoru, alkohol će biti istisnut, a zatim će se reproducirati audio datoteka koja će obavijestiti korisnika da treba zadržati