Sisällysluettelo:
- Vaihe 1: Laatikon muokkaaminen
- Vaihe 2: 3D -tulostetut osat
- Vaihe 3: Elektroniikka
- Vaihe 4: Koodi
- Vaihe 5: Lopullinen asennus
Video: Automaattinen lääkkeiden annostelija: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tämä projekti on tarkoitettu käytettäväksi lääketieteen alalla, jossa iäkkäillä potilailla on oltava luotettava tapa lääkkeiden jakamiseen ja annosteluun. Tämä laite mahdollistaa lääkkeiden annostelun jopa 9 päivää etukäteen ja annostellaan automaattisesti haluttuun aikaan. Kansi on myös lukittava RFID -tunnisteella, mikä varmistaa, että vain hoitaja pääsee käsiksi lääkkeeseen.
Tarvikkeet:
Tämän projektin rakentamiseen tarvitaan tarvittavat materiaalit:
- Arduino UNO
- Moottorin ohjainmoduuli
- SG90 9G Servo
- Askelmoottori
- DS1302 RTC -moduuli
- Erilaisia hyppyjohtimia
- IIC 1602 LCD
- 3D -tulostimen käyttö
- Jalat, kuten puiset tapit
- RFID -moduuli ja tunniste
- Kaksi painonappia
- Juotin
- Leipälauta
- pikaliima
- Puuruuvit
- Keskeneräinen puulaatikko saranoidulla kannella
- Kaksipuolinen teippi
Vaihe 1: Laatikon muokkaaminen
Laatikko on ensin muutettava. On useita reikiä, jotka on porattava. Ensimmäinen reikä on laatikon etuosassa, johon ohjauspaneelin laatikko on painettu. Toinen reikä on laatikon takana, jotta USB -kaapeli pääsee läpi. Viimeinen reikä on laatikon pohjassa, josta lääke putoaa annostelun jälkeen. Lopuksi jalat on kiinnitettävä pohjaan. Käytin taloni ympäriltä löytämiäni kumijalkoja jaloille, mutta puisia tappeja voidaan myös käyttää.
Vaihe 2: 3D -tulostetut osat
Tähän projektiin tarvitaan monia 3D -tulostettuja osia.
He ovat:
- Karuselli, joka sisältää lääkkeitä
- Pohja karusellille
- Suppilo lääkitystä varten
- Servomoottorin varsi kannen lukitsemiseksi
- Pohja servomoottorille
- Servovarren salpa
- Ohjauspaneeli
- Kuppi lääkkeen annostelua varten
Karusellin pohja kiinnitetään laatikkoon kaksipuolisella teipillä. Servomoottorin pohja ja varren salpa ruuvataan koteloon lyhyillä puuruuvilla. Ohjauspaneelin laatikko liimataan laatikon etuosaan superliimalla, kun komponentit on asetettu paikalleen.
Vaihe 3: Elektroniikka
Elektroniikka on nyt laitettava laatikkoon. Ensinnäkin askelmoottori kiinnitetään karusellin pohjaan M3 -pulteilla ja muttereilla. Servo on sitten liimattu pohjaansa. Sitten moottorin ohjain, Arduino, leipälevy, RFID -moduuli ja RTC -moduuli kiinnitetään laatikkoon kaksipuolisella teipillä. Nestekidenäyttö asetetaan ohjauslaatikon reikään. Joitakin juotoksia tarvitaan. Painikkeita varten hyppyjohdot on juotettava lapion liittimiin. RFID -lukijaa varten nastat on juotettava piirilevyyn.
Vaihe 4: Koodi
Alla on kommentoitu koodi:
Servo-, LCD-, RTC-, RFID- ja askelmoottorikirjastot sisältyvät tähän koodiin.
////////////////// Kirjastot ja muuttujat
#include #include // Arduino -standardikirjasto #include #include virtuobotixRTC myRTC (2, 3, 4); // Määritä nastat #define servopin 8 const int buttonup = 6; const int buttondown = 7; int hr = 0; int minn = 0; int sel = 0; int -tila = 0; int ilmoitettu = 0; int tilat = 0; int odota = 0; int kaappi = 0; // Asenna servo Servo servo; int kulma = 180; #include // käytä muokattua askelkirjastoa 1000/0100/0010/0001 magneetin laukaisusekvenssillä. Laita kirjasto kirjastokansioosi. #define gearratio 64 // 1: 64 gear ratio const int stepsPerRevolution = 2048; // Arduino Kit -moottori on suunnattu alas. Kokeella päätin, että 2048 askelta kääntää akselia yhden kierroksen. int askeleet = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // näytä 4-johtiminen askelin nastoissa 8-11: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #sisällytä #sisällytä #määrittele SS_PIN 10 #määritä RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Luo MFRC522 -ilmentymä. int deg = 10; void setup () {lcd.init (); // alustetaan lcd lcd.backlight (); // Tämän alapuolella olevalla rivillä asetetaan nykyinen aika. Se on tehtävä vain kerran, ja sen jälkeen koodi // on ladattava uudelleen sen mukana. //myRTC.setDS1302Time (40, 55, 11, 1, 7, 12, 2020); pinMode (painike, INPUT_PULLUP); pinMode (buttondown, INPUT_PULLUP); Sarja.alku (9600); // Sarjaliikenteen aloittaminen SPI.begin (); // Käynnistä SPI -väylä mfrc522. PCD_Init (); // Käynnistä MFRC522 myStepper.setSpeed (0,15*vaihteisto); // moottori näyttää olevan 1/64 alaspäin, mikä tarkoittaa, että nopeus on asetettava 64 -kertaiseksi. // sarjaportin alustaminen: servo.attach (servopin); } void loop () {///////////////// LCD -koodi // Päivittää näytön jatkuvasti nykyisen ajan ja annosteluajan. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Aika:"); lcd.setCursor (6, 0); lcd.print (myRTC.hours); lcd.print (":"); lcd.print (myRTC.minutes); lcd.setCursor (0, 1); lcd.print ("Dispense:"); lcd.setCursor (10, 1); lcd.print (hr); lcd.print (":"); lcd.print (minn); ///////////////// Lukupainikkeiden tilat // Lukee painikkeiden tilat annosteluajan muuttamiseksi. tila = digitalRead (painike); ilmoitettu = digitaalinen luku (buttondown); viive (100); ////////////////// Annostelulogiikka // Jos nykyinen aika on sama kuin valittu annosteluaika, käännä askelmoottoria. // Moottori kääntyy ylimääräisen matkan varmistaakseen täyden pyörimisen joka 9. kerta, kun laite annostellaan. if (myRTC.hours == hr && myRTC.minutes == minn && steps <9) {myStepper.step (227); askeleet = vaiheet +1; viive (60100); myRTC.updateTime (); } muu jos (myRTC.hours == hr && myRTC.minutes == minn && steps == 9) {myStepper.step (232); askeleet = 0; viive (60100); myRTC.updateTime (); ////////////////// Annosteluajan muuttaminen // Muuta annosteluaikaa sen mukaan, mitä painiketta painetaan. // Aika palaa nollaan, kun tunteihin tulee 24 ja minuutteihin 60.} if (stateup == LOW && hr <23) {hr = hr+1; viive (50); } muu jos (tila = = LOW && hr == 23) {hr = 0; viive (50); } jos (ilmoitettu == LOW && minn <59) {minn = minn+1; viive (50); } muu jos (ilmoitettu = = LOW && minn == 59) {minn = 0; viive (50); } ///////////////// RFID -koodi // lukee RFID -tunnisteen, kun se esitetään. if (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Valitse yksi korteista, jos (! Mfrc522. PICC_ReadCardSerial ()) {return; } Merkkijonosisältö = ""; tavukirjain; for (tavu i = 0; i <mfrc522.uid.size; i ++) {//Serial.println(mfrc522.uid.uidByte <0x10? "0": ""); //Serial.println(mfrc522.uid.uidByte, HEX); content.concat (Jono (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (Jono (mfrc522.uid.uidByte , HEX)); kaappi = 1; } content.toUpperCase (); ///////////////// LUKKOKOODI // Kun oikea RFID -tunniste luetaan, siirrä servo auki -asentoon, kun se on kiinni, // ja siirrä servo kiinni -asentoon, kun se on avata. while (locker == 1) {if (content.substring (1) == "3B 21 D6 22") {// muuttaa tässä kortin/korttien UID -tunnuksen, jolle haluat antaa käyttöoikeuden {switch (deg) {case 180: servokirjoitus (aste); deg = 10; kaappi = 0; Serial.print ("liikkuva"); viive (1000); tauko; tapaus 10: servokirjoitus (aste); astetta = 180; kaappi = 0; viive (1000); tauko; }}} else {Serial.println ("Pääsy estetty"); viive (1000); }}}
Vaihe 5: Lopullinen asennus
Viimeinen vaihe on valmistella projekti käyttöön. Lataa ensin koodi, jonka ajan asetusrivi on kommentoimaton, niin voit ladata nykyisen ajan RTC: hen. Kommentoi sitten koodi ulos ja lataa koodi uudelleen. Tämä varmistaa, että jos laite irrotetaan pistorasiasta, se säilyttää silti oikean ajan. Nyt sinun tarvitsee vain laittaa lääke aukkoihin, asettaa kuppi annostelureiän alle ja asettaa annosteluaika. Laite annostelee luotettavasti samaan aikaan joka päivä.
Suositeltava:
DIY automaattinen käsidesin annostelija: 6 vaihetta
DIY automaattinen käsidesin annostelija: Tässä projektissa rakennamme automaattisen käsidesin annostelijan. Tässä projektissa käytetään Arduinoa, ultraäänianturia, vesipumppua ja käsidesiä. Ultraäänianturia käytetään käsien läsnäolon tarkistamiseen desinfiointikoneen ulostulon alla
AUTOMAATTINEN Lemmikkieläinten ruokien annostelija: 9 vaihetta
AUTOMAATTINEN Lemmikkieläinten ruokien annostelija: Oletko koskaan tuntenut, että tuhlaat liikaa aikaa lemmikkisi ruokintaan? Oletko koskaan joutunut soittamaan jollekin ruokkimaan lemmikkejäsi lomalla ollessasi? Olen yrittänyt korjata molemmat ongelmat nykyisellä kouluprojektillani: Petfeed
Automaattinen käsidesin annostelija: 3 vaihetta
Automaattinen käsidesin annostelija: Tämä automaattinen käsidesin annostelija on suunniteltu suhteellisen edulliseksi vaihtoehdoksi, joka on helppo koota. Suurimman osan tarvittavista tuotteista voi ostaa paikalliselta laitteisto- ja elektroniikkamyyjältä. Mahdollisuus tulostaa 3D
Automaattinen saippua -annostelija Arduinolla: 8 vaihetta
Automaattinen saippua -annostelija Arduinon avulla: Automaattinen saippua -annostelija, joka käyttää arduinoa: Joten hei kaveri on tervetullut takaisin tämän artikkelin uuteen artikkeliin, teemme automaattisen saippua -annostelijan, joka käyttää arduinoa
Automaattinen käsien annostelija Arduinolla: 3 vaihetta
Arduinon automaattinen käsien annostelija: tämä projekti perustuu erittäin yksinkertaiseen ja helppoon tietoon, sopii harrastajille, perustuu avoimeen lähdekoodiin ja helposti löydettäviin komponentteihin erittäin edulliseen hintaan. Tämän projektin tavoitteena on pitää kätemme puhtaina viruksilta ja muita bakteereita