![Avtomatik dori tarqatuvchi: 5 qadam Avtomatik dori tarqatuvchi: 5 qadam](https://i.howwhatproduce.com/images/001/image-1736-j.webp)
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
![Dori -darmonlarni avtomatik tarqatish moslamasi Dori -darmonlarni avtomatik tarqatish moslamasi](https://i.howwhatproduce.com/images/001/image-1736-1-j.webp)
Bu loyiha tibbiyot sohasida foydalanish uchun mo'ljallangan bo'lib, u erda keksa bemorlarga dori -darmonlarni taqsimlash va tarqatishning ishonchli usuli bo'lishi kerak. Bu qurilma dori -darmonlarni 9 kungacha bo'linishiga va avtomatik ravishda kerakli vaqtda tarqatilishiga imkon beradi. Qopqoqni RFID yorlig'i bilan ham qulflab qo'yish mumkin, bu dori -darmonga faqat g'amxo'rlik qilayotgan odam kirishi mumkin.
Ta'minot:
Loyihani tayyorlash uchun zarur materiallar mavjud:
- Arduino UNO
- Motor haydovchi moduli
- SG90 9G Servo
- Bosqichli motor
- DS1302 RTC moduli
- Har xil o'tish simlari
- LCD IIC 1602
- 3D printerga kirish
- Yog'och dublonlar kabi oyoqlar
- RFID moduli va yorlig'i
- Ikkita tugma
- Lehimlash temir
- Non paneli
- Super elim
- Yog'och vintlardek
- Menteşeli qopqoqli tugallanmagan yog'och quti
- Ikki tomonlama lenta
1 -qadam: qutini o'zgartirish
![Qutini o'zgartirish Qutini o'zgartirish](https://i.howwhatproduce.com/images/001/image-1736-2-j.webp)
![Qutini o'zgartirish Qutini o'zgartirish](https://i.howwhatproduce.com/images/001/image-1736-3-j.webp)
![Qutini o'zgartirish Qutini o'zgartirish](https://i.howwhatproduce.com/images/001/image-1736-4-j.webp)
![Qutini o'zgartirish Qutini o'zgartirish](https://i.howwhatproduce.com/images/001/image-1736-5-j.webp)
Avval qutini o'zgartirish kerak bo'ladi. Burg'ilash kerak bo'lgan bir nechta teshiklar mavjud. Birinchi teshik qutining old tomonida bo'ladi, u erda boshqaruv paneli qutisi bosiladi. Ikkinchi teshik qutining orqa tomonida, USB kabeli o'tishi uchun. Oxirgi tuynuk qutining pastki qismida joylashgan bo'lib, u erda dori yuborilganidan keyin tushadi. Oxir -oqibat, oyoqlar pastki qismga biriktirilgan bo'lishi kerak. Men uyim atrofida topilgan kauchuk oyoqlarni oyoqlar uchun ishlatardim, lekin yog'och dublonlar ham ishlatilishi mumkin.
2 -qadam: 3D bosilgan qismlar
![3D bosma qismlar 3D bosma qismlar](https://i.howwhatproduce.com/images/001/image-1736-6-j.webp)
![3D bosma qismlar 3D bosma qismlar](https://i.howwhatproduce.com/images/001/image-1736-7-j.webp)
![3D bosilgan qismlar 3D bosilgan qismlar](https://i.howwhatproduce.com/images/001/image-1736-8-j.webp)
Ushbu loyiha uchun 3D bosma qismlar kerak.
Ular:
- Dori -darmonlarni saqlaydigan karusel
- Karusel uchun asos
- Dori -darmon uchun huni
- Qopqoqni qulflash uchun servo dvigatel uchun qo'l
- Servo dvigatel uchun taglik
- Servo qo'l uchun mandal
- Boshqaruv paneli
- Dori -darmonlarni tarqatish uchun idish
Karusel uchun tayanch qutiga ikki tomonlama lenta bilan yopishtirilgan. Servo dvigatel uchun taglik va qo'l uchun mandal qisqa yog'och vintlar bilan qutiga vidalanadi. Boshqarish paneli qutisi, komponentlar kiritilgandan so'ng, qutining old qismiga super elim bilan yopishtirilgan.
3 -qadam: elektronika
![Elektronika Elektronika](https://i.howwhatproduce.com/images/001/image-1736-9-j.webp)
Endi elektronikani qutiga joylashtirish kerak. Birinchidan, qadam dvigateli M3 murvat va yong'oqlar bilan karusel tagiga biriktirilgan. Keyin servo uning tagiga super yopishtiriladi. Keyin dvigatel boshqaruvchisi, Arduino, non paneli, RFID moduli va RTC moduli qutiga ikki tomonlama lenta bilan biriktirilgan. LCD boshqaruv qutisidagi teshikka joylashtirilgan. Bir oz lehim kerak. Tugmalar uchun o'tish kabellari belkurak ulagichlariga lehimlanishi kerak. RFID o'quvchi uchun pinlar taxtaga lehimli bo'lishi kerak.
4 -qadam: kod
Quyida sharhlangan kod:
Servo, LCD, RTC, RFID va Step vosita kutubxonalari ushbu kodga kiritilgan.
////////////////// Kutubxonalar va o'zgarmaydiganlar
#include #include // Arduino standart kutubxonasi #include #include virtuabotixRTC myRTC (2, 3, 4); // Pinlarni belgilang #define servopin 8 const int buttonup = 6; const int buttondown = 7; int hr = 0; int minn = 0; int sel = 0; int holati = 0; int bayon etilgan = 0; int Statesel = 0; int kutish = 0; int shkafi = 0; // Servo servo servo sozlash; int burchagi = 180; #include // 1000/0100/0010/0001 magnitli o'q otish ketma -ketligi bilan o'zgartirilgan qadam kutubxonasidan foydalaning. Kutubxonani kutubxona papkasiga joylashtiring. #define gearratio 64 // 1: 64 tishli nisbati const int stepsPerRevolution = 2048; // Arduino Kit dvigateli pastga yo'naltirilgan. Tajriba orqali aniqladimki, 2048 qadam milni bir dumaloq aylantiradi. int qadamlari = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // 8 dan 11 gacha pimlarga 4 simli qadamni o'rnating: Stepper myStepper (stepsPerRevolution, A0, A1, A2, A3); #kiritish #qo'shish #SS_PIN 10ni belgilash #RST_PIN 9ni belgilash MFRC522 mfrc522 (SS_PIN, RST_PIN); // MFRC522 misolini yarating. int deg = 10; void setup () {lcd.init (); // lcd lcd.backlight () ni ishga tushirish; // Quyidagi satr joriy vaqtni belgilash uchun ishlatiladi. Buni faqat bir marta bajarish kerak, keyin esa // kodini sharhlar bilan yana yuklash kerak. //myRTC.setDS1302Time (40, 55, 11, 1, 7, 12, 2020); pinMode (tugmacha, INPUT_PULLUP); pinMode (kechqurun, INPUT_PULLUP); Serial.begin (9600); // SPI.begin () ketma -ket aloqasini ishga tushirish; // SPI avtobusini ishga tushiring mfrc522. PCD_Init (); // MFRC522 ni ishga tushiring myStepper.setSpeed (0.15*tishli uzatish); // dvigatel 1/64 pastga yo'naltirilgan ko'rinadi, ya'ni tezlikni 64x ga o'rnatish kerak. // ketma -ket portni ishga tushirish: servo.attach (servopin); } void loop () {//////////////// LCD kodi // Displeyni joriy vaqt va tarqatish vaqti bilan doimiy ravishda yangilab turadi. lcd.clear (); myRTC.updateTime (); lcd.setCursor (0, 0); lcd.print ("Vaqt:"); lcd.setCursor (6, 0); lcd.print (myRTC.hours); lcd.print (":"); lcd.print (myRTC.minutes); lcd.setCursor (0, 1); lcd.print ("Tarqatish:"); lcd.setCursor (10, 1); lcd.print (soat); lcd.print (":"); lcd.print (minn); ///////////////// O'qish tugmachalari holatlari // Tarqatish vaqtini o'zgartirish uchun tugmalar holatini o'qiydi. stateup = digitalRead (tugmachasi); bayon qilingan = digitalRead (quyida); kechikish (100); ///////////////// Tarqatish mantig'i // Agar joriy vaqt tanlangan tarqatish vaqti bilan bir xil bo'lsa, step motorini aylantiring. // Har 9 marta qurilma tarqatilganda, vosita to'liq aylanishni ta'minlash uchun qo'shimcha masofani aylantiradi. agar (myRTC.hours == hr && myRTC.minutes == minn && steps <9) {myStepper.step (227); qadamlar = qadamlar +1; kechikish (60100); myRTC.updateTime (); } if if (myRTC.hours == hr && myRTC.minutes == minn && steps == 9) {myStepper.step (232); qadamlar = 0; kechikish (60100); myRTC.updateTime (); ///////////////// Tarqatish vaqtini o'zgartirish // Qaysi tugma bosilganiga qarab tarqatish vaqtini o'zgartiring. // Vaqt nolga qaytadi, soat 24 ga, minut 60 ga tushadi.} If (stateup == LOW && hr <23) {hr = hr+1; kechikish (50); } if if (stateup == LOW && hr == 23) {hr = 0; kechikish (50); } agar (belgilangan == LOW && minn <59) {minn = minn+1; kechikish (50); } else if (aytilgan == LOW && minn == 59) {minn = 0; kechikish (50); } ///////////////// RFID kodi // RFID tegini taqdim etilganda o'qiydi. agar (! mfrc522. PICC_IsNewCardPresent ()) {qaytish; } // Kartalardan birini tanlang, agar (! Mfrc522. PICC_ReadCardSerial ()) {return; } String tarkibi = ""; bayt harfi; 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)); shkaf = 1; } content.toUpperCase (); ///////////////// qulf kodi // u yopiq holatda uchun yopiq // va harakat Servo bo'lsa u qachon to'g'ri RFID yorlig'i ochiq joyiga, harakat Servo o'qib bo'lganda ochiq. while (locker == 1) {if (content.substring (1) == "3B 21 D6 22") {// kirish huquqini bermoqchi bo'lgan karta/kartalarning UID manzilini o'zgartiring {switch (deg) {case 180: servo.write (daraja); daraja = 10; shkaf = 0; Serial.print ("harakatlanuvchi"); kechikish (1000); tanaffus; 10 -holat: servo.write (daraja); daraja = 180; shkaf = 0; kechikish (1000); tanaffus; }}} boshqa {Serial.println ("Kirish taqiqlangan"); kechikish (1000); }}}
5 -qadam: Yakuniy sozlash
Oxirgi qadam - loyihani foydalanishga tayyorlash. Birinchidan, joriy vaqtni RTCga yuklash uchun vaqtni belgilash chizig'i yozilmagan kodni yuklang. Keyin kodni izohlang va kodni qayta yuklang. Bu shuni anglatadiki, agar qurilma uzilgan bo'lsa, u to'g'ri vaqtni saqlab qoladi. Endi siz dori -darmonlarni uyalarga joylashtirishingiz, kosani tarqatish teshigi ostiga qo'yishingiz va tarqatish vaqtini belgilashingiz kifoya. Qurilma har kuni bir vaqtning o'zida ishonchli tarzda tarqatiladi.
Tavsiya:
Limonad tarqatuvchi: 4 qadam
![Limonad tarqatuvchi: 4 qadam Limonad tarqatuvchi: 4 qadam](https://i.howwhatproduce.com/images/001/image-263-23-j.webp)
Limonad tarqatuvchi: Assalomu alaykum, siz limonadni to'kib tashlagan paytingizni bilasizmi, lekin siz doimo limonadani haddan tashqari oshirib yuborasizmi? Yo'q, chunki men bu limonad dispenserini 0,5 ml aniqlik bilan etkazib beradigan dizaynni ishlab chiqdim! Bu mening uchinchi tajribam
Iste'molni kuzatish uchun avtomatik suv tarqatuvchi: 6 qadam
![Iste'molni kuzatish uchun avtomatik suv tarqatuvchi: 6 qadam Iste'molni kuzatish uchun avtomatik suv tarqatuvchi: 6 qadam](https://i.howwhatproduce.com/images/007/image-19270-j.webp)
Iste'molni kuzatish uchun avtomatik suv tarqatuvchi: Salom! Bir necha oy oldin, men o'z xonamda maktab vazifasi uchun qanday loyiha qilmoqchi edim. Men o'zimga mos keladigan va kelajakda menga foyda keltiradigan narsani yasashni xohlardim. To'satdan xonaga onam kirdi va
Dori -darmon mashinasini olishimni eslat: 5 qadam
![Dori -darmon mashinasini olishimni eslat: 5 qadam Dori -darmon mashinasini olishimni eslat: 5 qadam](https://i.howwhatproduce.com/images/010/image-28576-j.webp)
Dori -darmon mashinasini qabul qilishni menga eslat: Bu sizga dori ichishni eslatadigan mashina. Odamlar ko'pincha tashqariga chiqishdan oldin yoki yotishdan oldin dori -darmon olishni unutishadi. Siz mashinaning yonidan o'tayotganda dorini tashlab yuborasiz, shuning uchun uni tez -tez o'tadigan joyga qo'ying, xuddi karavot yoniga
Avtomatik hap tarqatuvchi: 10 qadam (rasmlar bilan)
![Avtomatik hap tarqatuvchi: 10 qadam (rasmlar bilan) Avtomatik hap tarqatuvchi: 10 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/005/image-14364-5-j.webp)
Avtomatik tabletkalarni tarqatuvchi: Biz Bryusselning muhandislik fakulteti (qisqasi "Bruface") ning birinchi elektromekanik muhandislarimiz. Bu Bryussel markazida joylashgan ikkita universitetning tashabbusi: Libre de Bruxelles Universiteti (UL
Avtomatik hap tarqatuvchi: Arjan Uest loyihasi: 7 qadam (rasmlar bilan)
![Avtomatik hap tarqatuvchi: Arjan Uest loyihasi: 7 qadam (rasmlar bilan) Avtomatik hap tarqatuvchi: Arjan Uest loyihasi: 7 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/003/image-6987-48-j.webp)
Avtomatik tabletkalarni tarqatuvchi: Arjan Uest loyihasi: Salom, men sizga ko'rsatma beradigan tabletkalarni tayyorlashda yordam beraman. Bu holat piezzobuzzer bilan birga keladi, u odamni tabletka olish vaqti kelganida va 12 ta diodli