Mündəricat:
- Addım 1: Qutunun dəyişdirilməsi
- Addım 2: 3D çaplı hissələr
- Addım 3: Elektronika
- Addım 4: Kod
- Addım 5: Son Quraşdırma
Video: Avtomatik dərman dispenseri: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu layihə, yaşlı xəstələrin dərmanları paylamaq və buraxmaq üçün etibarlı bir şəkildə istifadə etmələri lazım olan tibb sahəsində istifadə üçündür. Bu cihaz, dərmanların 9 gün əvvəldən hissələrə bölünməsinə və istədiyiniz vaxt avtomatik olaraq verilməsinə imkan verir. Qapaq RFID etiketi ilə də kilidlənə bilər və bu dərmanı yalnız baxıcının əldə edə biləcəyinə əmin olun.
Təchizat:
Bu layihəni hazırlamaq üçün lazım olan materiallar var:
- Arduino UNO
- Motor Sürücü Modulu
- SG90 9G Servo
- Step Motor
- DS1302 RTC Modulu
- Müxtəlif keçid telləri
- LCD IIC 1602
- 3D printerə giriş
- Taxta dübel kimi ayaqlar
- RFID Modulu və Etiketi
- İki düymə
- Lehimleme dəmir
- Çörək lövhəsi
- Super yapışqan
- Taxta vintlər
- Menteşeli qapaqlı bitməmiş taxta qutu
- İki tərəfli lent
Addım 1: Qutunun dəyişdirilməsi
Əvvəlcə qutu dəyişdirilməlidir. Qazılmalı olan bir çox deşik var. İlk çuxur idarəetmə paneli qutusunun çap olunduğu qutunun ön tərəfində olacaq. İkinci çuxur, USB kabelinin keçməsi üçün qutunun arxasındadır. Son çuxur qutunun altındadır, dərman buraxıldıqdan sonra düşəcək. Nəhayət, ayaqları dibinə yapışdırılmalıdır. Evimin ətrafında tapdığım rezin ayaqları ayaq üçün istifadə etdim, ancaq taxta dübeller də istifadə edilə bilər.
Addım 2: 3D çaplı hissələr
Bu layihə üçün bir çox 3D çap hissələri lazımdır.
Onlar:
- Dərman saxlayan karusel
- Karusel üçün əsas
- Dərman üçün huni
- Qapağı kilidləmək üçün servo motor üçün qol
- Servo motor üçün baza
- Servo qolu üçün mandal
- İdarə paneli
- Dərmanın buraxılacağı fincan
Karuselin əsası iki tərəfli bantla qutuya yapışdırılır. Servo motorun əsası və qolun mandalı hər ikisi də qısa taxta vintlər ilə qutuya vidalanmışdır. İdarəetmə paneli qutusu, komponentlər daxil edildikdən sonra super yapışqan ilə qutunun ön hissəsinə yapışdırılır.
Addım 3: Elektronika
İndi elektronikanı qutuya yerləşdirmək lazımdır. Birincisi, step motoru M3 boltlar və qoz -fındıqlarla karusel bazasına bərkidilir. Servo daha sonra bazasına super yapışdırılır. Daha sonra, motor nəzarətçisi, Arduino, çörək taxtası, RFID modulu və RTC modulu hamısı iki tərəfli lentlə qutuya yapışdırılır. LCD nəzarət qutusundakı çuxura daxil edilir. Bəzi lehimləmə tələb olunur. Düymələr üçün tullanan kabellər kürək bağlayıcılarına lehimlənməlidir. RFID oxuyucusu üçün sancaqlar lövhəyə lehimlənməlidir.
Addım 4: Kod
Aşağıda şərh olunan kod var:
Servo, LCD, RTC, RFID və Stepper üçün kitabxanalar bu koda daxildir.
////////////////// Kitabxanalar və Dəyişənlər
#include #include // Arduino standart kitabxanası #include #include virtuabotixRTC myRTC (2, 3, 4); // Pinləri təyin edin #define servopin 8 const int buttonup = 6; const int buttondown = 7; int hr = 0; int minn = 0; int sel = 0; int stateup = 0; int ifadəli = 0; int Statesel = 0; int wait = 0; int soyunma = 0; // Servo qurun Servo servo; int bucağı = 180; #include // 1000/0100/0010/0001 maqnit atəş ardıcıllığı ilə dəyişdirilmiş step kitabxanasından istifadə edin. Kitabxananı kitabxana qovluğuna qoyun. #define gearratio 64 // 1: 64 dişli nisbəti const int stepsPerRevolution = 2048; // Arduino Kit motoru aşağı yönəldilmişdir. Təcrübə ilə müəyyən etdim ki, 2048 addım mili bir dairəyə çevirir. int addımları = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // 8-dən 11-ə qədər sancaqlar üzərində 4 telli bir addım atın: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #daxil edin #daxil edin #SS_PIN təyin edin 10 #RST_PIN 9 təyin edin MFRC522 mfrc522 (SS_PIN, RST_PIN); // MFRC522 nümunəsi yaradın. int deg = 10; boş quraşdırma () {lcd.init (); // lcd lcd.backlight () işə salın; // Bunun altındakı xətt cari vaxtı təyin etmək üçün istifadə olunur. Yalnız bir dəfə edilməlidir və sonra // kodu şərh yazılaraq yenidən yüklənməlidir. //myRTC.setDS1302Time(40, 55, 11, 1, 7, 12, 2020); pinMode (düymələndirmə, INPUT_PULLUP); pinMode (günorta, INPUT_PULLUP); Serial.begin (9600); // SPI.begin () seriyalı ünsiyyətə başlayın; // SPI avtobusunu başlat mfrc522. PCD_Init (); // MFRC522 myStepper.setSpeed (0.15*gearratio) başlatın; // mühərrikin 1/64 aşağıya doğru yönəldildiyi görünür, yəni sürətin 64 dəfə təyin edilməsi lazımdır. // seriyalı portu işə salın: servo.attach (servopin); } void loop () {//////////////// LCD Kodu // Ekranı cari vaxt və paylama vaxtı ilə daim yeniləyir. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Zaman:"); lcd.setCursor (6, 0); lcd.print (myRTC.hours); lcd.print (":"); lcd.print (myRTC.minutes); lcd.setCursor (0, 1); lcd.print ("Dağıt:"); lcd.setCursor (10, 1); lcd çap (saat); lcd.print (":"); lcd çap (minn); ///////////////// Düymə vəziyyətlərini oxuyun // Dağıtma vaxtını dəyişdirmək üçün düymələrin vəziyyətini oxuyur. stateup = digitalRead (düymənin açılması); qeyd olunan = digitalRead (gecənin ortası); gecikmə (100); ///////////////// Dağıtım məntiqi // Cari vaxt seçilmiş paylama vaxtı ilə eynidirsə, step motorunu çevirin. // Cihaz hər 9 dəfə çıxdıqda, motor tam fırlanmasını təmin etmək üçün əlavə bir məsafə çevirir. əgər (myRTC.hours == hr && myRTC.minutes == minn && steps <9) {myStepper.step (227); addımlar = addımlar +1; gecikmə (60100); myRTC.updateTime (); } başqa halda (myRTC.hours == hr && myRTC.minutes == minn && steps == 9) {myStepper.step (232); addımlar = 0; gecikmə (60100); myRTC.updateTime (); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Saat 24 -ə, dəqiqə 60 -a çatanda zaman sıfıra qayıdır.} İf (stateup == LOW & hr <23) {hr = hr+1; gecikmə (50); } if if (stateup == LOW && hr == 23) {hr = 0; gecikmə (50); } əgər (bildirilmiş == LOW && minn <59) {minn = minn+1; gecikmə (50); } başqa əgər (bildirilmiş == LOW && minn == 59) {minn = 0; gecikmə (50); } ///////////////// RFID Kodu // Təqdim edildikdə RFID etiketini oxuyur. if (! mfrc522. PICC_IsNewCardPresent ()) {return; } // Kartlardan birini seçin, əgər (! Mfrc522. PICC_ReadCardSerial ()) {return; } String məzmunu = ""; bayt hərfi; for (bayt 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)); soyunma = 1; } content.toUpperCase (); //////////////// KİLİD KODU // Düzgün RFID etiketi oxunduqda, servo bağlandıqda açıq mövqeyə keçin // və servo bağlandıqda qapalı vəziyyətə keçin. açmaq while (soyunma == 1) {if (content.substring (1) == "3B 21 D6 22") {// giriş vermək istədiyiniz kartın/kartların UID -ni burada dəyişin {switch (deg) {case 180: servo.write (dərəcə); dərəcə = 10; soyunma = 0; Serial.print ("hərəkət edir"); gecikmə (1000); fasilə; hal 10: servo.write (dərəcə); dərəcə = 180; soyunma = 0; gecikmə (1000); fasilə; }}} başqa {Serial.println ("Giriş rədd edildi"); gecikmə (1000); }}}
Addım 5: Son Quraşdırma
Son addım layihəni istifadəyə hazırlamaqdır. Əvvəlcə cari vaxtı RTC -yə yükləmək üçün vaxtı təyin etmə xətti qeyd olunmamış kodu yükləyin. Sonra kodu şərh edin və kodu yenidən yükləyin. Bu, cihazın cərəyandan çıxarıldığı təqdirdə hələ də düzgün vaxtı saxlayacağını təmin edəcək. İndi etməniz lazım olan tək şey dərmanları yuvalara yerləşdirmək, fincanı paylama çuxurunun altına qoymaq və yemək vaxtı təyin etməkdir. Cihaz hər gün eyni vaxtda etibarlı şəkildə paylanacaq.
Tövsiyə:
Arduino istifadə edən avtomatik sabun dispenseri: 8 addım
Arduino İstifadə edən Avtomatik Sabun Dispenseri: Arduino istifadə edən avtomatik sabun dispenseri: Hey oğlan, bu məqalədəki yeni məqaləyə xoş gəldiniz, arduino istifadə edərək avtomatik sabun dispenseri düzəldəcəyik, bu sabun dispenserini hazırlamaq çox asandır
Avtomatik Sabun Dispenseri Necə Hazırlanır: 6 addım
Avtomatik Sabun Dispenseri Necə Hazırlanır: SALAM VAR, bu təlimatda sizə tam DIY olan avtomatik təmassız sabun dispenserinin necə hazırlanacağını göstərəcəksən, bəyənsəniz, ARDUINO MAKER kanalıma abunə olaraq mənə dəstək olmağı düşünün. Buna görə ilham almağa hazır olun …..! izləyə bilərsiniz
Avtomatik həb dispenseri: 10 addım (şəkillərlə birlikdə)
Avtomatik Həb Dağıtıcı: Biz Brüssel Mühəndislik Fakültəsinin (qısaca "Bruface") Elektrik-mexanika mühəndisliyi üzrə ilk magistr tələbələriyik. Bu, Brüsselin mərkəzində yerləşən iki universitetin təşəbbüsüdür: Libre de Bruxelles Universiteti (UL
Avtomatik həb dispenseri: Arjan West layihəsi: 7 addım (şəkillərlə)
Avtomatik Həb Dağıtıcı: Arjan Westin Layihəsi: Salam, bu təlimatda istifadəçiyə nə vaxt həb almalı olduğunu və hansı həbi içməli olduğunu bildirən bir həb qutusu hazırlamağa kömək edəcəyəm. Bu dava, bir həb qəbul etmə vaxtı gəldikdə və 12 ledi olan insanı xəbərdar edən bir piezzobuzzer ilə gələcək
Arduino əsaslı dərman dispenseri: 5 addım (şəkillərlə birlikdə)
Arduino Əsaslı Tibbi Dispenser: Hazırlanması çox asandır və çox faydalıdır