SuryoEdu Eco-Moulder

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 9 Arduino

    • Echo $\rightarrow$ Pin Digital 8 Arduino

  • Motor Servo (Penggerak Mulut):

    • Kabel Signal (Orange/Kuning) $\rightarrow$ Pin Digital 6 Arduino

    • 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 7 Arduino

    • CS $\rightarrow$ Pin Digital 5 Arduino

    • SO (DO) $\rightarrow$ Pin Digital 4 Arduino

  • Modul Relay 1-Channel (Pengontrol Pemanas):

    • VCC $\rightarrow$ Pin 5V Arduino

    • GND $\rightarrow$ Pin GND Arduino

    • IN $\rightarrow$ Pin Digital 3 Arduino

  • 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:

  1. 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.

  2. 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.

Post a Comment

0 Comments