MAGOT ARDUNIOUNO
Baik Pak, berikut saya buatkan versi paling sederhana menggunakan Arduino Uno tanpa IoT.
Fungsinya: pukul 07:00 pagi, pakan keluar otomatis menggunakan pompa peristaltik atau motor DC.
✅ 1. DAFTAR ALAT
-
Arduino Uno
-
RTC DS3231 (agar jam akurat)
-
Relay 1 channel / driver MOSFET
-
Pompa peristaltik / motor DC
-
Power supply 12V (pompa)
-
Kabel jumper
๐ 2. SKEMA DASAR
RTC DS3231 → Arduino
-
VCC → 5V
-
GND → GND
-
SDA → A4
-
SCL → A5
Relay → Arduino
-
IN → pin 7
-
VCC → 5V
-
GND → GND
Pompa → Relay → 12V
(Seperti saklar listrik biasa)
๐ง 3. LOGIKA PROGRAM
-
Arduino membaca waktu dari RTC.
-
Jika waktu = 07:00:00 → pompa ON selama 5 detik.
-
Setelah itu OFF dan menunggu hari berikutnya.
๐ป 4. PROGRAM ARDUINO (PALING SEDERHANA)
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
int relayPin = 7;
bool sudahFeeding = false;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
Serial.begin(9600);
rtc.begin();
// Jalankan ini sekali untuk set waktu dari PC:
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop() {
DateTime now = rtc.now();
int jam = now.hour();
int menit = now.minute();
int detik = now.second();
// Menampilkan waktu
Serial.print(jam); Serial.print(":");
Serial.print(menit); Serial.print(":");
Serial.println(detik);
// Jika pukul 07:00 dan belum feeding
if (jam == 7 && menit == 0 && detik == 0 && !sudahFeeding) {
digitalWrite(relayPin, HIGH); // Hidupkan pompa
delay(5000); // Pompa 5 detik
digitalWrite(relayPin, LOW); // Matikan pompa
sudahFeeding = true; // Supaya tidak duplikasi hari ini
}
// Reset flag feeding untuk hari berikutnya (jam 00:00)
if (jam == 0 && menit == 0 && detik == 1) {
sudahFeeding = false;
}
delay(200);
}
⏱ 5. CARA SET WAKTU RTC
Pada kode terdapat baris:
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
-
Aktifkan baris tersebut sekali
-
Upload
-
Nonaktifkan lagi (beri tanda
//) -
Upload ulang
RTC akan otomatis mengikuti waktu komputer Bapak.
๐ฏ 6. MAU VERSI 2 WAKTU DALAM SEHARI?
Misalnya 07:00 dan 17:00?
Saya bisa buatkan.
Baik Pak, saya buatkan versi 2 jadwal otomatis misalnya:
-
Pagi: 07:00
-
Sore: 17:00
Pompa menyala selama 5 detik setiap jadwal (bisa diubah).
Program ini sangat sederhana, cocok untuk Arduino Uno + RTC DS3231.
✅ PROGRAM ARDUINO – 2 WAKTU DALAM SEHARI
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
int relayPin = 7;
// Status feeding agar tidak double
bool feedingPagi = false;
bool feedingSore = false;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
Serial.begin(9600);
rtc.begin();
// SET WAKTU RTC (aktifkan sekali)
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop() {
DateTime now = rtc.now();
int jam = now.hour();
int menit = now.minute();
int detik = now.second();
// Debug waktu
Serial.print(jam); Serial.print(":");
Serial.print(menit); Serial.print(":");
Serial.println(detik);
// ------------------------------
// JADWAL PAGI (07:00:00)
// ------------------------------
if (jam == 7 && menit == 0 && detik == 0 && !feedingPagi) {
digitalWrite(relayPin, HIGH); // Nyalakan pompa
delay(5000); // 5 detik
digitalWrite(relayPin, LOW); // Matikan
feedingPagi = true; // Tandai sudah feeding pagi
}
// ------------------------------
// JADWAL SORE (17:00:00)
// ------------------------------
if (jam == 17 && menit == 0 && detik == 0 && !feedingSore) {
digitalWrite(relayPin, HIGH); // Nyalakan pompa
delay(5000); // 5 detik
digitalWrite(relayPin, LOW);
feedingSore = true;
}
// ------------------------------
// RESET HARIAN (jam 00:00)
// ------------------------------
if (jam == 0 && menit == 0 && detik == 1) {
feedingPagi = false;
feedingSore = false;
}
delay(200);
}
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
int relayPin = 7;
// Status feeding agar tidak double
bool feedingPagi = false;
bool feedingSore = false;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
Serial.begin(9600);
rtc.begin();
// SET WAKTU RTC (aktifkan sekali)
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop() {
DateTime now = rtc.now();
int jam = now.hour();
int menit = now.minute();
int detik = now.second();
// Debug waktu
Serial.print(jam); Serial.print(":");
Serial.print(menit); Serial.print(":");
Serial.println(detik);
// ------------------------------
// JADWAL PAGI (07:00:00)
// ------------------------------
if (jam == 7 && menit == 0 && detik == 0 && !feedingPagi) {
digitalWrite(relayPin, HIGH); // Nyalakan pompa
delay(5000); // 5 detik
digitalWrite(relayPin, LOW); // Matikan
feedingPagi = true; // Tandai sudah feeding pagi
}
// ------------------------------
// JADWAL SORE (17:00:00)
// ------------------------------
if (jam == 17 && menit == 0 && detik == 0 && !feedingSore) {
digitalWrite(relayPin, HIGH); // Nyalakan pompa
delay(5000); // 5 detik
digitalWrite(relayPin, LOW);
feedingSore = true;
}
// ------------------------------
// RESET HARIAN (jam 00:00)
// ------------------------------
if (jam == 0 && menit == 0 && detik == 1) {
feedingPagi = false;
feedingSore = false;
}
delay(200);
}
๐ฏ FITUR DALAM PROGRAM
✔ Otomatis memberi pakan 2x sehari
✔ Tidak akan menyala 2x karena ada flag feedingPagi dan feedingSore
✔ Reset otomatis setiap hari
✔ Durasi pompa bisa diganti
๐ง CARA UBAH JAM FEEDING
Misalnya Bapak ingin:
-
Pagi: 06:30
-
Sore: 16:15
Ubah bagian:
if (jam == 6 && menit == 30 && detik == 0 && !feedingPagi)
dan
if (jam == 16 && menit == 15 && detik == 0 && !feedingSore)
๐งช CARA SET DURASI POMPA
Ubah:
delay(5000);
5000 = 5 detik → ubah sesuai volume pakan bubur.
❓ MAU SAYA BUATKAN VERSI:
-
3 atau 4 jadwal?
-
Setting jadwal lewat tombol & LCD?
-
Setting jadwal lewat aplikasi Android? (kombinasi Arduino + modul nRF + HP)
3 atau 4 jadwal?
Setting jadwal lewat tombol & LCD?
Setting jadwal lewat aplikasi Android? (kombinasi Arduino + modul nRF + HP)
Tinggal bilang, nanti saya siapkan kodenya.
Baik Pak, berikut Rancangan Anggaran Biaya (RAB) khusus untuk Alat Pemberi Pakan Maggot Otomatis (2x Sehari, versi Arduino Uno + RTC + Pompa).
RAB ini lengkap, rapi, dan bisa langsung dipakai untuk:
-
Proposal sekolah
-
Pengajuan BOS
-
Proyek teaching factory
-
Produksi massal
๐ RANCANGAN ANGGARAN BIAYA (RAB)
Alat Pemberi Pakan Maggot Otomatis (2x Sehari)
Versi Arduino Uno – Standalone Tanpa IoT
๐ 1. KOMPONEN HARDWARE
A. Elektronik
| No | Komponen | Qty | Harga Satuan | Total |
|---|---|---|---|---|
| 1 | Arduino Uno R3 (clone) | 1 | Rp 55.000 | Rp 55.000 |
| 2 | RTC DS3231 (jam real time) | 1 | Rp 20.000 | Rp 20.000 |
| 3 | Relay 1 channel | 1 | Rp 10.000 | Rp 10.000 |
| 4 | Pompa Peristaltik 12V | 1 | Rp 70.000 – 120.000 | Rp 90.000 |
| 5 | Adaptor Power 12V 2A | 1 | Rp 35.000 | Rp 35.000 |
| 6 | Kabel jumper male–female | 1 set | Rp 5.000 | Rp 5.000 |
| 7 | Selang silikon | 1 m | Rp 8.000 | Rp 8.000 |
Subtotal Elektronik: ± Rp 223.000
B. Mekanik
| No | Komponen | Harga |
|---|---|---|
| 1 | Wadah pakan bubur (tandon kecil/ember) | Rp 20.000 |
| 2 | Dudukan pompa (akrilik/kayu) | Rp 10.000 |
| 3 | Bracket + sekrup kecil | Rp 5.000 |
Subtotal Mekanik: Rp 35.000
C. Lain–lain
| No | Komponen | Harga |
|---|---|---|
| 1 | Lem tembak / kabel ties | Rp 5.000 |
| 2 | Kotak project box (opsional) | Rp 20.000 |
Subtotal Lain-lain: Rp 25.000
๐ฐ TOTAL BIAYA HARDWARE
⚡ Rp 223.000 + 35.000 + 25.000 = Rp 283.000
๐งช 2. BIAYA PERAKITAN & PRODUKSI
| Item | Harga |
|---|---|
| Perakitan rangkaian | Rp 20.000 |
| Pengkabelan + penyimpanan rapi | Rp 10.000 |
| Pengujian waktu RTC & pompa | Rp 10.000 |
Subtotal Produksi: Rp 40.000
๐ TOTAL KESELURUHAN
⭐ Rp 283.000 + Rp 40.000 = Rp 323.000 / unit
๐ต REKOMENDASI HARGA JUAL
Jika Bapak ingin menjual sebagai produk teaching factory sekolah:
Harga jual ideal: Rp 450.000 – Rp 600.000 / unit
Keunggulan:
-
Alat otomatis 2x sehari
-
Tidak perlu internet
-
Sangat stabil (RTC sangat akurat)
-
Cocok untuk budidaya maggot, ikan, unggas skala kecil
๐ฆ RAB untuk Produksi Massal (10 UNIT)
| Item | Perhitungan | Total |
|---|---|---|
| Hardware (10 × Rp 283.000) | Rp 2.830.000 | Rp 2.830.000 |
| Produksi (10 × Rp 40.000) | Rp 400.000 | Rp 400.000 |
Total 10 unit = Rp 3.230.000
Harga jual 10 unit → Rp 4,5 – 6 juta (ke sekolah lain)
❓ BUTUH VERSI WORD (.DOCX)?
Saya bisa buatkan RAB format Word langsung siap print.
Tinggal bilang "buatkan versi Word".
Comments
Post a Comment