SlideShare a Scribd company logo
1 of 19
Nicolas Novian Ruslim/18211031
Muhammad Fajrin/18211010
Andy Primawan/18211031
Gilang Ramadhan /18211045
Raosan Fikri L. /18211027

 Ayam memiliki ‘mood’ untuk mengerami telur
hanya pada waktu tertentu (broody)
 Dibutuhkan inkubator saat kekurangan ayam untuk
mengerami telur
 Inkubator yang ada dan dibuat sendiri bersifat
manual  harus memantau temperatur dengan
termometer.
Pendahuluan

Relay
Spesifikasi Inkubator -
Input
Temperatur – LM35
Keypad
Sensor PIR
Spesifikasi Inkubator - Proses
Di saat temperatur di bawah suhu
yang diinginkan maka lampu akan
menyala untuk menghangatkan.
Spesifikasi Inkubator - Proses
Di saat temperatur di atas suhu
yang diinginkan maka kipas akan
menyala untuk mendinginkan.
Spesifikasi Inkubator - Proses
Di saat ada gerakan maka alarm
akan menyala.
Spesifikasi Inkubator - Proses

Kipas
Spesifikasi Inkubator -
Output
Alarm Lampu

 User menyalakan inkubator melalui switch
 User memasukkan suhu ideal melalui keypad
 Sistem akan menyesuaikan agar suhu di dalam
inkubator sesuai dengan suhu yang diinput
 User menekan keypad untuk mematikan alarm,
mengatur mode manual/otomatis, menyalakan
lampu/kipas, serta mematikan lampu dan kipas
Spesifikasi Inkubator -
Interaksi

Blok Desain Hardware

Menyalakan
switch
inkubator
Meletakkan
telur
Pindah ke
mode manual
kipas/lampu
(jika
diperlukan)
Alarm
menyala saat
telur menetas
Matikan
alarm
Flowchart
Rangkaian
Kode Program – Arduino 1 (Input)
/* Sensor LM 35
Mencetak temperatur ke serial monitor */
#include <Wire.h>
#include <Keypad.h>
#include <LiquidCrystal.h>
int state = 0; // 0 = otomatis & 1 = manual
//Variable untuk keypad
const int inPin = 0;
const byte ROWS = 4; // jumlah baris = 4
const byte COLS = 3; // jumlah kolom = 3
// Mendefiniskan keypad map
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
// Menyambungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin digital arduino.
byte rowPins[ROWS] = { 0, 1 , 7, 8 };
// Menyambungkan keypad COL0, COL1 and COL2 ke pin digital arduino.
byte colPins[COLS] = { 9, 10, 13 };
//Menciptakan 'objek keypad'
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
// Inisialisasi library tadi dengan nomor pin
// yang digunakan untuk interface
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// Kita set bit rate dari komunikasi serialnya 9600 bps
Serial.begin(9600);
// Banyaknya kolom yang dipakai 16. Dan barisnya
// sebanyak 2. Itu dari sananya.
lcd.begin(16, 2);
// Tuliskan pesannya ke LCD
lcd.print("Suhunya saat ini :");
Wire.begin(); // join i2c bus (address optional for master)
}
void loop() {
int alarm = 0;
char key = kpd.getKey();
//mengeset hasil pembacaan sensor LM 35
int value = analogRead(inPin);
/* mengubah hasil pembacaan sensor LM 35
ke dalam milivolt */
float millivolts = (value / 1024.0) * 5000;
// mengkonversi ke dalam Celcius
float celcius = millivolts / 10;
// Pindahkan kursor ke baris 2, kolom paling kiri
lcd.setCursor(0, 1);
Kode Program – Arduino 1 (Input)
// Tuliskan ke LCD!!
lcd.print(celcius); lcd.print(" C");
if(state == 1){
lcd.print(" MODE:M");
}else if(state == 0){
lcd.print(" MODE:A");
}
int out;
Wire.beginTransmission(4); // transmit to device #4
Serial.print("state masuk loop = ");
Serial.println(state);
if(key == '*'){
state = 0;
Serial.println(state);
}else if(key == '#') {
state = 1;
Serial.println(state);
}else if(key == '9'){
alarm = 9;
Serial.println(alarm);
}
if(state == 0){
if (celcius < 30.00) {
out=1;
} else if (celcius >= 30.00 && celcius <= 32.00) {
out=2;
} else if (celcius > 32.00) {
out=3;
}
}else if(state == 1){
if(key == '1'){
Serial.println("satu");
out=4;
}else if(key == '2'){
out=5;
Serial.println("dua");
} else if (key == '3') {
out=2;
Serial.print("tiga");
}
}
if(alarm == 9){
Wire.write(alarm);
}else{
Wire.write(out);
}
Wire.endTransmission();
//tunggu 1 detik
delay(1000);
}
Kode Program – Arduino 2 (Output)
#include <Wire.h>
//define names for the 4 Digital pins On the Arduino
7,8,9,10
//These data pins link to 4 Relay board pins IN1, IN2,
IN3, IN4
#define RELAY1 8
#define RELAY2 9
int valPIR = LOW;
int statePIR = LOW; // we start, assuming no
motion detected
int inputPIR = 7; // choose the input pin (for PIR
sensor)
int lampstate = 0; //kondisi lampu
int fanstate = 0; //kondisi kipas
int pinALARM = 13;
int statemove = 0;
int counter = 0;
void setup()
{
// Initialise the Arduino data pins for OUTPUT
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(inputPIR, INPUT);
pinMode(pinALARM, OUTPUT);
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Serial.begin(9600); // start serial for output
}
void loop()
{
delay(100);
}
Kode Program – Arduino 2 (Output)
// function that executes whenever data is received from
master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
int x = Wire.read(); // receive byte as an integer
Serial.print("X = ");
Serial.println(x);
if (x == 1 && lampstate == 0) { //lampu nyalain
digitalWrite(RELAY1,LOW);
digitalWrite(RELAY2,HIGH);
lampstate = 1;
} else if (x == 2 && lampstate == 1 || x ==2 && fanstate
== 1) { //matiin lampu atau kipas
digitalWrite(RELAY1,HIGH);
lampstate = 0;
digitalWrite(RELAY2,HIGH);
fanstate = 0;
} else if (x == 3 && fanstate == 0) { //kipas nyalain
digitalWrite(RELAY1,HIGH);
digitalWrite(RELAY2,LOW);
fanstate = 1;
} else if (x == 4) { //lampu nyalain mode darurat
digitalWrite(RELAY1,LOW);
digitalWrite(RELAY2,HIGH);
lampstate = 1;
} else if (x == 5) { //kipas nyalain mode darurat
digitalWrite(RELAY1,HIGH);
digitalWrite(RELAY2,LOW);
fanstate = 1;
}
valPIR = digitalRead(inputPIR); // read input value
if(valPIR == HIGH && statePIR == LOW){
//kirim sinyal untuk menyalakan alarm
digitalWrite(pinALARM, HIGH);
statemove = 1;
statePIR = HIGH;
}
Serial.print("sensor gerak = ");
Serial.println(x);
if (statemove = 1) {
counter++;
}
if (counter >= 30 || x == 9 ) {
statemove = 0;
counter = 0;
digitalWrite(pinALARM, LOW);
statePIR = LOW;
}
}

 Pengetesan dengan membandingkan kerja inkubator
dengan hasil pembacaan LM35.
Testing

 Temperatur yang dibaca oleh arduino input saat
ditransfer ke arduino output nilainya aneh
 Kabel diganti menjadi kabel fleksibel yang di dalamnya
berupa serabut  harus dilapisi timah
 Serial monitor tidak ada perubahan, masalah hardware
atau masalah software?
 Saat menggunakan baterai kerja inkubator menjadi aneh.
Kendala

Produk

More Related Content

What's hot

CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNO
CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNOCONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNO
CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNOSusanti Arianto
 
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16Mochammadfinandika
 
Heraeus ut 5042 e
Heraeus ut 5042 eHeraeus ut 5042 e
Heraeus ut 5042 eChristydei
 
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...muhamadaulia3
 
Laporan praktikum Fislab mikrokontroler LM 35
Laporan praktikum Fislab mikrokontroler LM 35Laporan praktikum Fislab mikrokontroler LM 35
Laporan praktikum Fislab mikrokontroler LM 35Bogiva Mirdyanto
 
Sensor temperatur dengan output led berbasis arduino
Sensor temperatur dengan output led berbasis arduinoSensor temperatur dengan output led berbasis arduino
Sensor temperatur dengan output led berbasis arduinoLingga arum
 
Laporan praktikum mikrokontroler
Laporan praktikum mikrokontrolerLaporan praktikum mikrokontroler
Laporan praktikum mikrokontroleranis_mh
 
Humidity and temperature sensor using dht11 with arduino
Humidity and temperature sensor using dht11 with arduinoHumidity and temperature sensor using dht11 with arduino
Humidity and temperature sensor using dht11 with arduinoAsep Subagja
 
Fire detector and control pump using flame sensor
Fire detector and control pump using flame sensorFire detector and control pump using flame sensor
Fire detector and control pump using flame sensorDedep Tohpati
 
RANCANG BANGUN PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...
RANCANG BANGUN  PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...RANCANG BANGUN  PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...
RANCANG BANGUN PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...RenataNoviene
 
Humid and temp sensor dht11 with arduino
Humid and temp sensor dht11 with arduinoHumid and temp sensor dht11 with arduino
Humid and temp sensor dht11 with arduinorena hakimah
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR KEN KEN
 

What's hot (19)

CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNO
CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNOCONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNO
CONTROL FAN AC USING TEMPERATURE SENSOR LM35 BASED ON ARDUINO UNO
 
sensor suhu LM35
sensor suhu LM35sensor suhu LM35
sensor suhu LM35
 
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16
Rancang bangun conveyor Menggunakan Mikrokontroller atmega 16
 
Heraeus ut 5042 e
Heraeus ut 5042 eHeraeus ut 5042 e
Heraeus ut 5042 e
 
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
 
Bab iv hasil
Bab iv hasilBab iv hasil
Bab iv hasil
 
Laporan praktikum Fislab mikrokontroler LM 35
Laporan praktikum Fislab mikrokontroler LM 35Laporan praktikum Fislab mikrokontroler LM 35
Laporan praktikum Fislab mikrokontroler LM 35
 
Timer dan counter
Timer dan counterTimer dan counter
Timer dan counter
 
Sensor temperatur dengan output led berbasis arduino
Sensor temperatur dengan output led berbasis arduinoSensor temperatur dengan output led berbasis arduino
Sensor temperatur dengan output led berbasis arduino
 
Laporan praktikum mikrokontroler
Laporan praktikum mikrokontrolerLaporan praktikum mikrokontroler
Laporan praktikum mikrokontroler
 
Humidity and temperature sensor using dht11 with arduino
Humidity and temperature sensor using dht11 with arduinoHumidity and temperature sensor using dht11 with arduino
Humidity and temperature sensor using dht11 with arduino
 
Fire detector and control pump using flame sensor
Fire detector and control pump using flame sensorFire detector and control pump using flame sensor
Fire detector and control pump using flame sensor
 
RANCANG BANGUN PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...
RANCANG BANGUN  PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...RANCANG BANGUN  PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...
RANCANG BANGUN PUTAR BALIK MOTOR DC CONVEYOR MENGGUNAKAN MIKROKONTROLER ATME...
 
Humid and temp sensor dht11 with arduino
Humid and temp sensor dht11 with arduinoHumid and temp sensor dht11 with arduino
Humid and temp sensor dht11 with arduino
 
Bab iv hasil fix
Bab iv hasil fixBab iv hasil fix
Bab iv hasil fix
 
Bab iii
Bab iiiBab iii
Bab iii
 
Laporan vanny manpro suhu
Laporan vanny manpro suhuLaporan vanny manpro suhu
Laporan vanny manpro suhu
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
 
Termos cerdas ^^
Termos cerdas ^^Termos cerdas ^^
Termos cerdas ^^
 

Similar to INKU-TELUR

17 proyek arduino
17 proyek arduino17 proyek arduino
17 proyek arduinoJilun
 
Projek arduino uno with sound sensor
Projek arduino uno with sound sensorProjek arduino uno with sound sensor
Projek arduino uno with sound sensorBernaz Bullah
 
Project arduino uno with sound sensor
Project arduino uno with sound sensorProject arduino uno with sound sensor
Project arduino uno with sound sensoranahadijah
 
Project arduino uno with sound sensor
Project arduino uno with sound sensorProject arduino uno with sound sensor
Project arduino uno with sound sensorMuhammad Rezza
 
Projek arduino uno with sound sensor
Projek arduino uno with sound sensorProjek arduino uno with sound sensor
Projek arduino uno with sound sensorMuhammad Alwan
 
arduino
arduinoarduino
arduinojhcid
 
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Muhammad Kennedy Ginting
 
Tugas akhir muhamad iqbal ramdhani arduino sensor gas
Tugas akhir muhamad iqbal ramdhani arduino sensor gasTugas akhir muhamad iqbal ramdhani arduino sensor gas
Tugas akhir muhamad iqbal ramdhani arduino sensor gasMuhamadIqbalRamdhani
 
Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2  Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2 Muhammad Taufik
 
Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledJodit Sulistyo
 
2 lampu Kedip bergantian
2 lampu Kedip bergantian2 lampu Kedip bergantian
2 lampu Kedip bergantiankhazimf
 
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...DestiNuraeni
 
Latihan Arduino.pptx
Latihan Arduino.pptxLatihan Arduino.pptx
Latihan Arduino.pptxVidi34
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledSawah Dan Ladang Ku
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Wesnu Prajati
 
Simple Project Arduino 2
Simple Project Arduino 2  Simple Project Arduino 2
Simple Project Arduino 2 Lusiana Diyan
 
Presentasi makalah interface & peripheral
Presentasi makalah interface & peripheralPresentasi makalah interface & peripheral
Presentasi makalah interface & peripheralyohanesjati
 

Similar to INKU-TELUR (20)

17 proyek arduino
17 proyek arduino17 proyek arduino
17 proyek arduino
 
Projek arduino uno with sound sensor
Projek arduino uno with sound sensorProjek arduino uno with sound sensor
Projek arduino uno with sound sensor
 
Project arduino uno with sound sensor
Project arduino uno with sound sensorProject arduino uno with sound sensor
Project arduino uno with sound sensor
 
Project arduino uno with sound sensor
Project arduino uno with sound sensorProject arduino uno with sound sensor
Project arduino uno with sound sensor
 
Projek arduino uno with sound sensor
Projek arduino uno with sound sensorProjek arduino uno with sound sensor
Projek arduino uno with sound sensor
 
arduino
arduinoarduino
arduino
 
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
 
Tugas akhir muhamad iqbal ramdhani arduino sensor gas
Tugas akhir muhamad iqbal ramdhani arduino sensor gasTugas akhir muhamad iqbal ramdhani arduino sensor gas
Tugas akhir muhamad iqbal ramdhani arduino sensor gas
 
Arduino Basic
Arduino BasicArduino Basic
Arduino Basic
 
Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2  Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2
 
Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan led
 
2 lampu Kedip bergantian
2 lampu Kedip bergantian2 lampu Kedip bergantian
2 lampu Kedip bergantian
 
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...
Sistem Kendali Volume Air pada Air Isi Ulang dengan Ultrasonic metode PID ber...
 
Otomatisasi 1
Otomatisasi 1Otomatisasi 1
Otomatisasi 1
 
Latihan Arduino.pptx
Latihan Arduino.pptxLatihan Arduino.pptx
Latihan Arduino.pptx
 
Sismik
Sismik Sismik
Sismik
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Simple Project Arduino 2
Simple Project Arduino 2  Simple Project Arduino 2
Simple Project Arduino 2
 
Presentasi makalah interface & peripheral
Presentasi makalah interface & peripheralPresentasi makalah interface & peripheral
Presentasi makalah interface & peripheral
 

INKU-TELUR

  • 1. Nicolas Novian Ruslim/18211031 Muhammad Fajrin/18211010 Andy Primawan/18211031 Gilang Ramadhan /18211045 Raosan Fikri L. /18211027
  • 2.   Ayam memiliki ‘mood’ untuk mengerami telur hanya pada waktu tertentu (broody)  Dibutuhkan inkubator saat kekurangan ayam untuk mengerami telur  Inkubator yang ada dan dibuat sendiri bersifat manual  harus memantau temperatur dengan termometer. Pendahuluan
  • 4. Spesifikasi Inkubator - Proses Di saat temperatur di bawah suhu yang diinginkan maka lampu akan menyala untuk menghangatkan.
  • 5. Spesifikasi Inkubator - Proses Di saat temperatur di atas suhu yang diinginkan maka kipas akan menyala untuk mendinginkan.
  • 6. Spesifikasi Inkubator - Proses Di saat ada gerakan maka alarm akan menyala.
  • 9.   User menyalakan inkubator melalui switch  User memasukkan suhu ideal melalui keypad  Sistem akan menyesuaikan agar suhu di dalam inkubator sesuai dengan suhu yang diinput  User menekan keypad untuk mematikan alarm, mengatur mode manual/otomatis, menyalakan lampu/kipas, serta mematikan lampu dan kipas Spesifikasi Inkubator - Interaksi
  • 13. Kode Program – Arduino 1 (Input) /* Sensor LM 35 Mencetak temperatur ke serial monitor */ #include <Wire.h> #include <Keypad.h> #include <LiquidCrystal.h> int state = 0; // 0 = otomatis & 1 = manual //Variable untuk keypad const int inPin = 0; const byte ROWS = 4; // jumlah baris = 4 const byte COLS = 3; // jumlah kolom = 3 // Mendefiniskan keypad map char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; // Menyambungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin digital arduino. byte rowPins[ROWS] = { 0, 1 , 7, 8 }; // Menyambungkan keypad COL0, COL1 and COL2 ke pin digital arduino. byte colPins[COLS] = { 9, 10, 13 }; //Menciptakan 'objek keypad' Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Inisialisasi library tadi dengan nomor pin // yang digunakan untuk interface LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // Kita set bit rate dari komunikasi serialnya 9600 bps Serial.begin(9600); // Banyaknya kolom yang dipakai 16. Dan barisnya // sebanyak 2. Itu dari sananya. lcd.begin(16, 2); // Tuliskan pesannya ke LCD lcd.print("Suhunya saat ini :"); Wire.begin(); // join i2c bus (address optional for master) } void loop() { int alarm = 0; char key = kpd.getKey(); //mengeset hasil pembacaan sensor LM 35 int value = analogRead(inPin); /* mengubah hasil pembacaan sensor LM 35 ke dalam milivolt */ float millivolts = (value / 1024.0) * 5000; // mengkonversi ke dalam Celcius float celcius = millivolts / 10; // Pindahkan kursor ke baris 2, kolom paling kiri lcd.setCursor(0, 1);
  • 14. Kode Program – Arduino 1 (Input) // Tuliskan ke LCD!! lcd.print(celcius); lcd.print(" C"); if(state == 1){ lcd.print(" MODE:M"); }else if(state == 0){ lcd.print(" MODE:A"); } int out; Wire.beginTransmission(4); // transmit to device #4 Serial.print("state masuk loop = "); Serial.println(state); if(key == '*'){ state = 0; Serial.println(state); }else if(key == '#') { state = 1; Serial.println(state); }else if(key == '9'){ alarm = 9; Serial.println(alarm); } if(state == 0){ if (celcius < 30.00) { out=1; } else if (celcius >= 30.00 && celcius <= 32.00) { out=2; } else if (celcius > 32.00) { out=3; } }else if(state == 1){ if(key == '1'){ Serial.println("satu"); out=4; }else if(key == '2'){ out=5; Serial.println("dua"); } else if (key == '3') { out=2; Serial.print("tiga"); } } if(alarm == 9){ Wire.write(alarm); }else{ Wire.write(out); } Wire.endTransmission(); //tunggu 1 detik delay(1000); }
  • 15. Kode Program – Arduino 2 (Output) #include <Wire.h> //define names for the 4 Digital pins On the Arduino 7,8,9,10 //These data pins link to 4 Relay board pins IN1, IN2, IN3, IN4 #define RELAY1 8 #define RELAY2 9 int valPIR = LOW; int statePIR = LOW; // we start, assuming no motion detected int inputPIR = 7; // choose the input pin (for PIR sensor) int lampstate = 0; //kondisi lampu int fanstate = 0; //kondisi kipas int pinALARM = 13; int statemove = 0; int counter = 0; void setup() { // Initialise the Arduino data pins for OUTPUT pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); pinMode(inputPIR, INPUT); pinMode(pinALARM, OUTPUT); Wire.begin(4); // join i2c bus with address #4 Wire.onReceive(receiveEvent); // register event Serial.begin(9600); // start serial for output } void loop() { delay(100); }
  • 16. Kode Program – Arduino 2 (Output) // function that executes whenever data is received from master // this function is registered as an event, see setup() void receiveEvent(int howMany) { int x = Wire.read(); // receive byte as an integer Serial.print("X = "); Serial.println(x); if (x == 1 && lampstate == 0) { //lampu nyalain digitalWrite(RELAY1,LOW); digitalWrite(RELAY2,HIGH); lampstate = 1; } else if (x == 2 && lampstate == 1 || x ==2 && fanstate == 1) { //matiin lampu atau kipas digitalWrite(RELAY1,HIGH); lampstate = 0; digitalWrite(RELAY2,HIGH); fanstate = 0; } else if (x == 3 && fanstate == 0) { //kipas nyalain digitalWrite(RELAY1,HIGH); digitalWrite(RELAY2,LOW); fanstate = 1; } else if (x == 4) { //lampu nyalain mode darurat digitalWrite(RELAY1,LOW); digitalWrite(RELAY2,HIGH); lampstate = 1; } else if (x == 5) { //kipas nyalain mode darurat digitalWrite(RELAY1,HIGH); digitalWrite(RELAY2,LOW); fanstate = 1; } valPIR = digitalRead(inputPIR); // read input value if(valPIR == HIGH && statePIR == LOW){ //kirim sinyal untuk menyalakan alarm digitalWrite(pinALARM, HIGH); statemove = 1; statePIR = HIGH; } Serial.print("sensor gerak = "); Serial.println(x); if (statemove = 1) { counter++; } if (counter >= 30 || x == 9 ) { statemove = 0; counter = 0; digitalWrite(pinALARM, LOW); statePIR = LOW; } }
  • 17.   Pengetesan dengan membandingkan kerja inkubator dengan hasil pembacaan LM35. Testing
  • 18.   Temperatur yang dibaca oleh arduino input saat ditransfer ke arduino output nilainya aneh  Kabel diganti menjadi kabel fleksibel yang di dalamnya berupa serabut  harus dilapisi timah  Serial monitor tidak ada perubahan, masalah hardware atau masalah software?  Saat menggunakan baterai kerja inkubator menjadi aneh. Kendala