Daftar Isi:
- Langkah 1: Memodifikasi Kotak
- Langkah 2: Bagian Cetakan 3D
- Langkah 3: Elektronik
- Langkah 4: Kode
- Langkah 5: Pengaturan Akhir
Video: Dispenser Obat Otomatis: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Proyek ini digunakan dalam bidang medis, di mana pasien lanjut usia harus memiliki cara yang dapat diandalkan untuk membagi dan mengeluarkan obat. Perangkat ini memungkinkan obat untuk dibagikan hingga 9 hari sebelumnya, dan secara otomatis dibagikan pada waktu yang diinginkan. Tutupnya juga dapat dikunci dengan tag RFID, memastikan bahwa hanya pengasuh yang dapat mengakses obat.
Perlengkapan:
Ada bahan yang diperlukan untuk membangun proyek ini:
- Arduino UNO
- Modul Pengemudi Motor
- Servo SG90 9G
- Motor langkah
- Modul RTC DS1302
- Berbagai kabel jumper
- LCD IIC 1602
- Akses pencetak 3D
- Kaki seperti pasak kayu
- Modul dan Tag RFID
- Dua tombol tekan
- Besi solder
- Papan tempat memotong roti
- lem super
- Sekrup kayu
- Kotak Kayu yang Belum Selesai dengan Tutup Berengsel
- Pita dua sisi
Langkah 1: Memodifikasi Kotak
Kotak pertama harus dimodifikasi. Ada beberapa lubang yang harus dibor. Lubang pertama akan berada di bagian depan kotak, tempat kotak panel kontrol dicetak. Lubang kedua ada di bagian belakang kotak, untuk dilewati kabel USB. Lubang terakhir ada di bagian bawah kotak, tempat obat akan jatuh begitu dikeluarkan. Terakhir, kaki harus menempel di bagian bawah. Saya menggunakan kaki karet yang saya temukan di sekitar rumah saya untuk kaki, tetapi pasak kayu juga bisa digunakan.
Langkah 2: Bagian Cetakan 3D
Ada banyak bagian cetak 3D yang dibutuhkan untuk proyek ini.
Mereka:
- Korsel yang menyimpan obat
- Dasar untuk korsel
- Corong untuk obat
- Lengan untuk motor servo untuk mengunci tutupnya
- Basis untuk motor servo
- Kait untuk lengan servo
- Panel kendali
- Cangkir untuk obat yang akan dibagikan
Basis untuk korsel dilekatkan ke kotak dengan selotip dua sisi. Basis untuk motor servo dan kait untuk lengan keduanya disekrup ke dalam kotak dengan sekrup kayu pendek. Kotak panel kontrol direkatkan ke bagian depan kotak dengan lem super, setelah komponen dimasukkan.
Langkah 3: Elektronik
Elektronik sekarang perlu ditempatkan ke dalam kotak. Pertama, motor stepper dipasang pada dasar carousel dengan baut dan mur M3. Servo kemudian direkatkan ke dasarnya. Kemudian, pengontrol motor, Arduino, papan tempat memotong roti, modul RFID, dan modul RTC semuanya direkatkan ke kotak dengan pita dua sisi. LCD dimasukkan ke dalam lubang di kotak kontrol. Ada beberapa solder yang diperlukan. Untuk tombol tekan, kabel jumper harus disolder ke konektor sekop. Untuk pembaca RFID, pin harus disolder ke papan.
Langkah 4: Kode
Di bawah ini adalah kode yang dikomentari:
Pustaka untuk motor Servo, LCD, RTC, RFID, dan Stepper disertakan dalam kode ini.
///////////////// Pustaka dan Variabel
#include #include //library standar Arduino #include #include virtuabotixRTC myRTC(2, 3, 4); // Tentukan pin #define servopin 8 const int buttonup = 6; const int buttondown = 7; int jam=0; int minn=0; int sel=0; int status = 0; int status turun=0; int status = 0; int tunggu = 0; int loker = 0; // Mengatur servo Servo servo; int sudut = 180; #include //gunakan pustaka stepper yang dimodifikasi dengan urutan penembakan magnet 1000/0100/0010/0001. Letakkan perpustakaan di folder perpustakaan Anda. #define gearratio 64 //1:64 rasio roda gigi const int langkahPerRevolution = 2048; //motor Arduino Kit diturunkan. Dengan percobaan saya menentukan bahwa 2048 langkah memutar poros satu putaran. int langkah = 0; LiquidCrystal_I2C lcd (0x27, 16, 2); // buat instance stepper 4-kawat pada pin 8 hingga 11: Stepper myStepper(stepsPerRevolution, A0, A1, A2, A3); #sertakan #sertakan #tentukan SS_PIN 10 #tentukan RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Buat instance MFRC522. int derajat = 10; void pengaturan() { lcd.init(); // inisialisasi lcd lcd.backlight(); // Baris di bawah ini digunakan untuk mengatur waktu saat ini. Itu hanya perlu dilakukan sekali, dan setelah itu kode // harus diunggah lagi dengan dikomentari. //myRTC.setDS1302Time(40, 55, 11, 1, 7, 12, 2020); pinMode(tombol up, INPUT_PULLUP); pinMode(tombol ke bawah, INPUT_PULLUP); Serial.begin(9600); // Memulai komunikasi serial SPI.begin(); // Memulai bus SPI mfrc522. PCD_Init(); // Inisiasi MFRC522 myStepper.setSpeed(0.15*gearratio);//motor tampaknya diturunkan 1/64, artinya kecepatan perlu disetel 64x. // inisialisasi port serial: servo.attach(servopin); } void loop(){ ///////////////// LCD Code // Terus-menerus memperbarui tampilan dengan waktu saat ini dan waktu pengeluaran. lcd.clear(); myRTC.updateTime(); lcd.setCursor(0, 0); lcd.print("Waktu:"); lcd.setCursor(6, 0); lcd.print(myRTC.jam); lcd.print(":"); lcd.print(myRTC.minutes); lcd.setCursor(0, 1); lcd.print("Keluarkan:"); lcd.setCursor(10, 1); lcd.print(jam); lcd.print(":"); lcd.print(minn); ///////////////// Baca Status Tombol // Membaca status tombol untuk mengubah waktu pengeluaran. stateup = digitalRead(buttonup); statedown = digitalRead(tombol turun); penundaan(100); ///////////////// Logika Pengeluaran // Jika waktu saat ini sama dengan waktu pengeluaran yang dipilih, putar motor stepper. // Setiap 9 kali perangkat mengeluarkan, motor memutar jarak ekstra untuk memastikan putaran penuh dibuat. if (myRTC.hours == jam && myRTC.minutes == menit && langkah <9){ myStepper.step(227); langkah = langkah +1; penundaan (60100); myRTC.updateTime(); } else if (myRTC.hours == jam && myRTC.minutes == menit && langkah ==9){ myStepper.step(232); langkah = 0; penundaan (60100); myRTC.updateTime(); ///////////////// Mengubah Waktu Pengeluaran // Mengubah waktu pengeluaran berdasarkan tombol yang ditekan. // Waktu kembali ke nol ketika jam mencapai 24 dan menit mencapai 60. } if (status == LOW && hr<23){ hr=hr+1; penundaan(50); } else if (status == RENDAH && hr ==23){ hr=0; penundaan(50); } if (status == RENDAH && minn <59){ minn=minn+1; penundaan(50); } else if (status == RENDAH && minn ==59){ minn=0; penundaan(50); } ///////////////// Kode RFID // Membaca tag RFID saat ditampilkan. if (! mfrc522. PICC_IsNewCardPresent()) { kembali; } // Pilih salah satu kartu jika (! mfrc522. PICC_ReadCardSerial()) { return; } String konten = ""; huruf byte; for (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": " ")); content.concat(String(mfrc522.uid.uidByte, HEX)); loker = 1; } konten.toUpperCase(); ///////////////// KODE KUNCI // Ketika tag RFID yang benar dibaca, pindahkan servo ke posisi terbuka saat ditutup, // dan pindahkan servo ke posisi tertutup saat membuka. while (locker == 1){ if (content.substring(1) == "3B 21 D6 22"){ //ubah di sini UID kartu/kartu yang ingin Anda akses { switch (deg){ case 180: servo.write(derajat); derajat = 10; loker = 0; Serial.print("bergerak"); penundaan (1000); merusak; kasus 10: servo.write(deg); derajat = 180; loker=0; penundaan (1000); merusak; } } } else { Serial.println("Akses ditolak"); penundaan (1000); } } }
Langkah 5: Pengaturan Akhir
Langkah terakhir adalah menyiapkan proyek untuk digunakan. Pertama-tama unggah kode dengan baris pengaturan waktu tidak dikomentari, untuk mengunggah waktu saat ini ke RTC. Kemudian komentari kodenya, dan unggah ulang kodenya. Ini akan memastikan bahwa jika perangkat dicabut, itu akan tetap mempertahankan waktu yang tepat. Sekarang yang harus Anda lakukan adalah menempatkan obat di slot, menempatkan cangkir di bawah lubang pengeluaran, dan mengatur waktu pengeluaran. Perangkat akan andal mengeluarkan pada waktu yang sama setiap hari.
Direkomendasikan:
Dispenser Pembersih Tangan Otomatis DIY: 6 Langkah
Dispenser Pembersih Tangan Otomatis DIY: Dalam proyek ini, kami akan membuat Dispenser Pembersih Tangan Otomatis. Proyek ini akan menggunakan Arduino, Sensor Ultrasonik, Pompa Air, dan Hand Sanitizer. Sensor ultrasonik digunakan untuk memeriksa keberadaan tangan di bawah outlet mesin pembersih
Dispenser Alkohol Gel Otomatis Dengan Esp32: 9 Langkah
Dispenser Alkohol Gel Otomatis Dengan Esp32: Dalam tutorial kita akan melihat cara membuat prototipe lengkap, untuk merakit dispenser alkohol gel otomatis dengan esp32, itu akan mencakup perakitan langkah demi langkah, sirkuit elektronik dan juga kode sumber yang dijelaskan semua langkah demi langkah melangkah
Ingatkan Saya untuk Mengambil Mesin Obat: 5 Langkah
Remind Me to Take Medicine Machine: Ini adalah mesin yang bisa mengingatkan Anda untuk minum obat. Orang sering lupa minum obat, baik sebelum keluar atau sebelum tidur. Ini akan menjatuhkan obat ketika Anda melewati mesin, jadi letakkan di tempat yang biasa Anda lewati, seperti di dekat tempat tidur atau
Pengumpan Tanaman Otomatis WiFi Dengan Reservoir - Pengaturan Budidaya Indoor/Outdoor - Air Tanaman Secara Otomatis Dengan Pemantauan Jarak Jauh: 21 Langkah
Pengumpan Tanaman Otomatis WiFi Dengan Reservoir - Pengaturan Budidaya Indoor/Outdoor - Menanam Tanaman Secara Otomatis Dengan Pemantauan Jarak Jauh: Dalam tutorial ini kami akan mendemonstrasikan cara mengatur sistem pengumpan tanaman indoor/outdoor khusus yang secara otomatis menyirami tanaman dan dapat dipantau dari jarak jauh menggunakan platform Adosia
Dispenser Obat Berbasis Arduino: 5 Langkah (dengan Gambar)
Dispenser Obat Berbasis Arduino: Ini sangat mudah dibuat dan sangat berguna