Anda di halaman 1dari 20

SISTEM KONTROL DAN MONITORING PROSES

PENGOMPOSAN PADA KOMPOSTER


HOMESCALE

Mata kuliah : Sistem Kendali Embedded (EL5214)


-Philippians Manurung (23220338)-
LATAR BELAKANG
Proses pengomposan bahan organik dapat berjalan secara optimal dipengaruhi beberapa faktor:

No Parameter Kondisi Ideal

1 Rasio C/N 25-35:1


2 Kelembaban 45% - 62%

3 Konsentrasi Oksigen yang Tersedia >10%


4 Ukuran partikel bervariasi
5 Bulk Density 1000 lbs/cu yd
6 pH 6.5 – 8.0
7 Suhu 54℃ - 60℃

(Sumber: On-Farm Composting Handbook)


GAMBARAN KOMPOSTER
 Drum komposter merupakan tangki air
ukuran 200 L

 Komposter dilengkapi dengan sensor suhu,


sensor kelembaban, dan sensor pH

 Aktuator yang digunakan pompa air, motor


AC, dan motor DC
DESKRIPSI SISTEM
EMBEDDED
1. Mikrokomputer Raspberry Pi 3 Model B
Parameter Keterangan

Vinput 5V

Arus Maksimum tiap pin i/o 16 mA

Mikroprosesor SoC Broadcom BCM2837

WiFi BCM43143

Pin GPIO 40 Pin

USB 2.0 Port 4 buah

Bluetooth Bluetooth Low Energy

CPU ARM Cortex-A53

Flash Memory 16 GB SSD memory card

Internal RAM 1GB DDR2

Ethernet 10/100 ethernet

Batas suhu operasi -40sampai 85C

(Sumber: https://www.raspberrypi.org)
DESKRIPSI SISTEM
EMBEDDED (CONT’D) Parameter Keterangan
2. Mikrokontroller Arduino Uno
Mikroprosesor ATMega 328

Tegangan masukan 5V

Pin i/o 14 pin

Arus DC tiap pin 40mA

Arus DC pin 3.3V 50mA

Flash Memory Bootloader

SRAM 2 KB

EEPROM 1 KB

Clock Speed 16MHz

(Sumber: https://www.arduino.cc)
DESKRIPSI SISTEM
EMBEDDED (CONT’D)
3. Sensor suhu DS18B20
Parameter Keterangan
Vcc 3.0-5.5V
Rentang Pengukuran -55℃ sampai 125℃
±0,5℃ untuk rentang -10℃ sampai 85℃
Nilai Eror ±1℃ untuk rentang -30℃ sampai 100℃
±2℃ untuk rentang 55℃ sampai 125℃
Defenisi Pin Merah: VCC, Kuning: Data, Hitam: GND

(Sumber: Dallas Semiconductor)

4. Sensor Kelembaban YL-69


Parameter Keterangan
Vcc 3.3V atau 5V
Arus 35mA
Tegangan Sinyal ouput 0-4.2V
GND Terhubung ke ground

(Sumber: Datasheet YL-69)


DESKRIPSI SISTEM
EMBEDDED (CONT’D)
5. Sensor pH tanah
Paramater Keterangan

Tegangan masukan 3.0 V – 4.7 V

Tegangan keluaran 4.0 V – 45.0 V

Respon waktu 0.1 s – 0.3 s

Sensitivitas 0.036 V – 0.234 V

(Sumber: Depoinovasi Electronic)

6. Aktuator dan komponen lainnya

Pompa air Motor DC Driver Motor Motor AC Relay


PERANCANGAN SISTEM
1. Pengkabelan/wiring sensor suhu dengan RPi
PERANCANGAN
SYSTEM(CONT’D)
2. Pengkabelan/wiring sensor kelembaban dengan Arduino uno
PERANCANGAN
SYSTEM(CONT’D)
3. Pengkabelan/wiring sensor pH dengan Arduino uno
PERANCANGAN
SYSTEM(CONT’D)
4. Pengkabelan/wiring actuator

RPi+relay+motor AC RPi+driver motor+motor DC RPi+relay+pompa air


IMPLEMENTASI SISTEM

Control Box
IMPLEMENTASI SYSTEM
(CONT’D)
KODE PROGRAM
Code Arduino Untuk Pembacaan Sensor Kelembaban: moisture1= map(sensor_analog1,1023,385,0,100);
moisture2= map(sensor_analog2,1023,385,0,100);
Const int sensor_pin1 = A0; moisture3= map(sensor_analog3,1023,385,0,100);
const int sensor_pin2 = A1;
const int sensor_pin3 = A2; Serial.print(moisture1);
void setup() { Serial.print(“-");
Serial.begin(9600); Serial.print(moisture2);
} Serial.print(“-");
  Serial.print(moisture3);
void loop() { Serial.print("\n\n");
int adc,sensor_analog1,sensor_analog2,sensor_analog3; delay(1000);
float ph,moisture1,moisture2,moisture3;
sensor_analog1 = analogRead(sensor_pin1);
sensor_analog2 = analogRead(sensor_pin2);
sensor_analog3 = analogRead(sensor_pin3);
KODE PROGRAM (CONT’D)

Library: Komunikasi Serial:


def read_temp_raw1():
import RPi.GPIO as GPIO
f = open(device_file1, 'r')
import os ser =
lines1 = f.readlines()
import glob serial.Serial(port='/dev/ttyACM0',baudr
f.close()
import time ate=9600,
return lines1
import datetime parity=serial.PARITY_NONE, stopbits
def read_temp1():
import serial = serial. STOPBITS_ONE, bytesize =
lines1 = read_temp_raw1()
from time import sleep serial. EIGHTBITS, timeout=5)
while lines1[0].strip()[-3:] != 'YES':
time.sleep(0.2)
def serial_test():
lines1 = read_temp_raw1()
line = ser.readline()
equals_pos = lines1[1].find('t=')
return line
if equals_pos != -1:
temp_string1 = lines1[1][equals_pos+2:]
temp_c1 = float(temp_string1) / 1000.0
def read_moisture1(): temp_f1 = temp_c1 * 9.0 / 5.0 + 32.0
baris1 = serial_test() return temp_c1
data1 = baris1.split("-")
moisture1 = data1[0]
return moisture1
FINITE STATE MACHINE
Cuplikan Program “control.py”
SCHEDULING
SCHEDULING (CONT’D)
VIDEO DEMO
THANK YOU

Anda mungkin juga menyukai