Talaan ng mga Nilalaman:

Awtomatikong Dispenser ng Gamot: 5 Hakbang
Awtomatikong Dispenser ng Gamot: 5 Hakbang

Video: Awtomatikong Dispenser ng Gamot: 5 Hakbang

Video: Awtomatikong Dispenser ng Gamot: 5 Hakbang
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Hulyo
Anonim
Awtomatikong Dispenser ng Gamot
Awtomatikong Dispenser ng Gamot

Ang proyektong ito ay para magamit sa medikal na larangan, kung saan ang mga matatandang pasyente ay dapat magkaroon ng isang maaasahang paraan upang magkaroon ng bahagi at pagbigay ng gamot. Pinapayagan ng aparatong ito na maibahagi ang gamot hanggang 9 na araw nang maaga, at awtomatikong maipapadala sa isang nais na oras. Ang takip ay naka-lock din sa tag na RFID, tinitiyak na ang tagapag-alaga lamang ang maaaring ma-access ang gamot.

Mga Pantustos:

Mayroong mga kinakailangang materyal upang maitayo ang proyektong ito:

  • Arduino UNO
  • Modyul sa Pagmamaneho ng Motor
  • SG90 9G Servo
  • Stepper Motor
  • DS1302 RTC Modyul
  • Iba't ibang mga jumper wires
  • IIC 1602 LCD
  • Pag-access ng 3D printer
  • Mga binti tulad ng mga kahoy na dowel
  • Module at Tag ng RFID
  • Dalawang pushbuttons
  • Panghinang
  • Breadboard
  • Super pandikit
  • Mga turnilyo ng kahoy
  • Hindi natapos na Wood Box na may Hinged Lid
  • Double sided tape

Hakbang 1: Pagbabago ng Kahon

Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon
Pagbabago ng Kahon

Kailangang mabago ang kahon. Mayroong maraming mga butas na dapat na drilled. Ang unang butas ay makikita sa harap ng kahon, kung saan naka-print ang control panel box. Ang pangalawang butas ay nasa likuran ng kahon, upang dumaan ang USB cable. Ang huling butas ay nasa ilalim ng kahon, kung saan mahuhulog ang gamot sa sandaling maipadala. Panghuli, ang mga binti ay dapat na nakakabit sa ilalim. Gumamit ako ng mga paa ng goma na nahanap ko sa paligid ng aking bahay para sa mga binti, ngunit maaari ding magamit ang mga kahoy na dowel.

Hakbang 2: Mga Naka-print na Bahaging 3D

Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D

Maraming mga 3D na naka-print na bahagi na kinakailangan para sa proyektong ito.

Sila ay:

  • Carousel na may hawak na gamot
  • Base para sa carousel
  • Funnel para sa gamot
  • Arm para sa servo motor upang mai-lock ang talukap ng mata
  • Base para sa servo motor
  • Latch para sa servo arm
  • Control panel
  • Tasa para sa gamot na ibabahagi

Ang base para sa carousel ay nakadikit sa kahon na may dobleng panig na tape. Ang base para sa servo motor at ang aldaba para sa braso ay parehong naka-screwed sa kahon na may maikling mga kahoy na turnilyo. Ang control panel box ay nakadikit sa harap ng kahon na may sobrang pandikit, pagkatapos na ipasok ang mga bahagi.

Hakbang 3: Elektronika

Elektronika
Elektronika

Ang electronics ngayon ay kailangang ilagay sa kahon. Una, ang stepper motor ay nakakabit sa carousel base na may M3 bolts at nut. Pagkatapos ay ang servo ay sobrang nakadikit sa base nito. Pagkatapos, ang motor controller, Arduino, breadboard, RFID module, at RTC module ay naka-attach sa kahon na may dobleng panig na tape. Ang LCD ay ipinasok sa butas sa control box. Mayroong ilang mga paghihinang na kinakailangan. Para sa mga pindutan ng itulak, ang mga jumper cable ay dapat na solder sa mga konektor ng pala. Para sa RFID reader, ang mga pin ay dapat na solder sa board.

Hakbang 4: Code

Nasa ibaba ang naka-komentong code:

Ang mga aklatan para sa motor na Servo, LCD, RTC, RFID, at Stepper ay kasama sa code na ito.

// ///

#include #include // Arduino standard library #include #include virtuabotixRTC myRTC (2, 3, 4); // Define pin #define servopin 8 const int buttonup = 6; Const int pantalon = 7; int hr = 0; int minn = 0; int sel = 0; int stateup = 0; int ipinahayag = 0; int statesel = 0; int wait = 0; int locker = 0; // Set up servo Servo servo; int anggulo = 180; # isama // gamitin ang binagong stepper library na may 1000/0100/0010/0001 na pagkakasunud-sunod ng pagpapaputok ng magnet. Ilagay ang library sa iyong folder ng library. #define gearratio 64 // 1: 64 gear ratio const int stepsPerRevolution = 2048; // ang motor na Arduino Kit ay nakabantay. Sa pamamagitan ng eksperimento natukoy ko na 2048 mga hakbang na iikot ang baras ng isang bilog. int hakbang = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // instantiate a 4-wire stepper on pins 8 through 11: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Lumikha ng halimbawa ng MFRC522. int deg = 10; void setup () {lcd.init (); // ipasimula ang lcd lcd.backlight (); // Ang linya sa ibaba nito ay ginagamit upang maitakda ang kasalukuyang oras. Minsan lamang ito dapat gawin, at pagkatapos ang code // ay dapat na muling mai-upload kasama nito ang nagkomento. //myRTC.setDS1302Time(40, 55, 11, 1, 7, 12, 2020); pinMode (buttonup, INPUT_PULLUP); pinMode (pantalon, INPUT_PULLUP); Serial.begin (9600); // Initiate a serial communication SPI.begin (); // Initiate SPI bus mfrc522. PCD_Init (); // Initiate MFRC522 myStepper.setSpeed (0.15 * gearratio); // ang motor ay lilitaw na nakatuon 1/64, nangangahulugang ang bilis ay kailangang itakda 64x. // ipasimula ang serial port: servo.attach (servopin); } void loop () {/ / // // / / / / / / LCD Code // Patuloy na ina-update ang display gamit ang kasalukuyang oras at oras ng pagbibigay. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Oras:"); 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); // ///. stateup = digitalRead (buttonup); nakasaad = digitalRead (pantay); pagkaantala (100); // ///. // Tuwing 9 beses na ipinapadala ang aparato, ang motor ay lumiliko ng isang karagdagang distansya upang matiyak na ang isang buong pag-ikot ay nagawa. kung (myRTC.hours == hr && myRTC.minutes == minn && mga hakbang <9) {myStepper.step (227); mga hakbang = hakbang +1; pagkaantala (60100); myRTC.updateTime (); } iba pa kung (myRTC.hours == hr && myRTC.minutes == minn && mga hakbang == 9) {myStepper.step (232); mga hakbang = 0; pagkaantala (60100); myRTC.updateTime (); // ///. // Ang oras ay bumalik sa zero kapag ang oras ay umabot sa 24 at ang minuto ay umabot sa 60.} kung (stateup == LOW && hr <23) {hr = hr + 1; antala (50); } iba pa kung (stateup == LOW && hr == 23) {hr = 0; antala (50); } kung (nakasaad == LOW && minn <59) {minn = minn + 1; antala (50); } iba pa kung (nakasaad == LOW && minn == 59) {minn = 0; antala (50); } // ///. kung (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Piliin ang isa sa mga card kung (! Mfrc522. PICC_ReadCardSerial ()) {return; } String na nilalaman = ""; byte sulat; para sa (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": "")); nilalaman.concat (String (mfrc522.uid.uidByte , HEX)); locker = 1; } content.toUpperCase (); // ///. buksan habang (locker == 1) {kung (content.substring (1) == "3B 21 D6 22") {// baguhin dito ang UID ng card / card na nais mong bigyan ng access ang {switch (deg) {case 180: servo.write (deg); deg = 10; locker = 0; Serial.print ("gumagalaw"); pagkaantala (1000); pahinga; kaso 10: servo.write (deg); deg = 180; locker = 0; pagkaantala (1000); pahinga; }}} iba pa {Serial.println ("Tinanggihan ang pag-access"); pagkaantala (1000); }}}

Hakbang 5: Pangwakas na Pag-set up

Ang huling hakbang ay upang ihanda ang proyekto para magamit. Una i-upload ang code na hindi kumpleto ang linya ng setting ng oras, upang mai-upload ang kasalukuyang oras sa RTC. Pagkatapos ay puna ang code, at muling i-upload ang code. Tiyakin nito na kung ang aparato ay hindi naka-plug, mananatili pa rin ito ng tamang oras. Ngayon ang kailangan mo lang gawin ay ilagay ang gamot sa mga puwang, ilagay ang tasa sa ilalim ng butas ng dispensing, at magtakda ng oras ng pagbibigay. Ang aparato ay maaasahan na magtatapon sa parehong oras araw-araw.

Inirerekumendang: