SuryoEdu Eco-Moulder (Menonjolkan sisi edukasi kejuruan dan mesin pencetak produk ramah lingkungan).
1. Skema Sambungan Kabel (Wiring Diagram)
Agar lebih mudah dipahami, sambungan dibagi menjadi 3 bagian utama: Bagian Sensor & Aktuator Mulut, Bagian Pemanas & Suhu, dan Catu Daya (Power Supply).
A. Bagian Sensor & Aktuator Mulut (Servo & Ultrasonik)
- Sensor Ultrasonik (HC-SR04):
- VCC $\rightarrow$ Pin 5V Arduino
- GND $\rightarrow$ Pin GND Arduino
- Trig $\rightarrow$ Pin Digital
9Arduino - Echo $\rightarrow$ Pin Digital
8Arduino
- Motor Servo (Penggerak Mulut):
- Kabel Signal (Orange/Kuning) $\rightarrow$ Pin Digital
6Arduino - Kabel VCC (Merah) $\rightarrow$ Kutub Positif (+) Eksternal 5V (Jangan ambil dari 5V Arduino agar tidak drop)
- Kabel GND (Coklat/Hitam) $\rightarrow$ Kutub Negatif (-) Eksternal & Gabung/Bridge ke GND Arduino
B. Bagian Pemanas (Heater Kawat Nikrom, Relay & Thermocouple)
- Sensor Suhu Thermocouple K + Modul MAX6675:
- GND $\rightarrow$ Pin GND Arduino
- VCC $\rightarrow$ Pin 5V Arduino
- SCK (CLK) $\rightarrow$ Pin Digital
7Arduino - CS $\rightarrow$ Pin Digital
5Arduino - SO (DO) $\rightarrow$ Pin Digital
4Arduino
- Modul Relay 1-Channel (Pengontrol Pemanas):
- VCC $\rightarrow$ Pin 5V Arduino
- GND $\rightarrow$ Pin GND Arduino
- IN $\rightarrow$ Pin Digital
3Arduino
- Rangkaian Daya Pemanas (Kawat Nikrom + Busi):
- Sambungkan salah satu ujung Kawat Nikrom (yang terisolasi keramik busi pada kaleng) ke terminal COM pada modul Relay.
- Sambungkan terminal NO (Normally Open) pada modul Relay ke Kutub Positif (+) Adaptor/Power Supply Pemanas (misal DC 12V 10A).
- Sambungkan ujung Kawat Nikrom satu lagi langsung ke Kutub Negatif (-) Adaptor Pemanas.
2. Gabungan Kode Program Arduino Uno (Lengkap)
Berikut adalah kode program terpadu untuk membaca sensor jarak (mulut robot), menggerakkan servo, membaca suhu tabung kaleng lewat thermocouple, dan mengontrol pemanas kawat nikrom secara otomatis via relay.
C++
#include <Servo.h>
#include <max6675.h>
// --- INISIALISASI SERVO & ULTRASONIK ---
Servo mulutRobot;
const int trigPin = 9;
const int echoPin = 8;
const int servoPin = 6;
// --- INISIALISASI SENSOR SUHU (MAX6675) ---
int thermoSO = 4;
int thermoCS = 5;
int thermoCLK = 7;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoSO);
// --- INISIALISASI RELAY PEMANAS ---
const int relayHeaterPin = 3;
// Batas Suhu Peleburan Plastik (Derajat Celsius)
const float SUHU_MIN = 170.0; // Pemanas nyala jika di bawah ini
const float SUHU_MAX = 190.0; // Pemanas mati jika mencapai batas ini
void setup() {
Serial.begin(9600);
// Konfigurasi Pin Sensor & Aktuator
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(relayHeaterPin, OUTPUT);
digitalWrite(relayHeaterPin, LOW); // Pastikan pemanas mati saat awal dinyalakan
// Hubungkan Servo
mulutRobot.attach(servoPin);
mulutRobot.write(0); // Posisi awal mulut tertutup
delay(500); // Stabilisasi awal
}
void loop() {
// ================= RANGKAIAN 1: KONTROL MULUT ROBOT =================
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
// Jika ada objek sampah mendekat (< 15 cm)
if (distance > 0 && distance < 15) {
Serial.println("Sampah terdeteksi! Membuka mulut...");
mulutRobot.write(90); // Buka mulut
delay(3000); // Waktu memasukkan sampah (3 detik)
Serial.println("Menutup mulut...");
mulutRobot.write(0); // Tutup kembali
delay(1000);
}
// ================= RANGKAIAN 2: KONTROL PEMANAS KAWAT NIKROM =================
float suhuSekarang = thermocouple.readCelsius();
Serial.print("Suhu Tabung Kaleng: ");
Serial.print(suhuSekarang);
Serial.println(" °C");
// Logika Thermostat Otomatis
if (suhuSekarang < SUHU_MIN) {
digitalWrite(relayHeaterPin, HIGH); // Nyalakan Relay -> Pemanas Nyala
Serial.println("Status: Pemanas NYALA");
}
else if (suhuSekarang >= SUHU_MAX) {
digitalWrite(relayHeaterPin, LOW); // Matikan Relay -> Pemanas Mati
Serial.println("Status: Pemanas MATI (Suhu Stabil)");
}
delay(1000); // Jeda siklus pembacaan berikutnya
}
3. Catatan Penting Kelistrikan:
- Pemisahan Daya (Power Supply): Gunakan Adaptor 5V terpisah untuk menyuplai daya ke Motor Servo dan modul, serta Adaptor/PSU 12V tersendiri khusus untuk mencatu kawat pemanas nikrom. Wajib menyatukan kabel GND dari semua adaptor ke pin GND Arduino agar referensi sinyalnya sama.
- Keamanan Isolasi Busi: Pastikan kawat nikrom yang membentuk tanda silang (X) di dalam kaleng terikat kuat pada bagian keramik busi dan tidak menyentuh dinding besi kaleng secara langsung untuk mencegah korsleting listrik total pada sistem.
0 Comments