0% menganggap dokumen ini bermanfaat (0 suara)
44 tayangan13 halaman

Program Arduino

Program ini mengatur jalur lampu dan parameter suhu untuk sistem kontrol suhu berbasis Arduino. Program menggunakan sensor suhu, dimmer, dan komunikasi Bluetooth untuk mengatur perangkat berdasarkan suhu lingkungan. [/ringkasan]

Diunggah oleh

Ulya R K
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
44 tayangan13 halaman

Program Arduino

Program ini mengatur jalur lampu dan parameter suhu untuk sistem kontrol suhu berbasis Arduino. Program menggunakan sensor suhu, dimmer, dan komunikasi Bluetooth untuk mengatur perangkat berdasarkan suhu lingkungan. [/ringkasan]

Diunggah oleh

Ulya R K
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

/*

 * Parameter value
 * 201 --> ON
 * 202 --> OFF
 * 203 --> OFF
 * 204 --> ON
 */

#include <SoftwareSerial.h>        // Komunikasi Arduino dengan bluetooth 


#include <OneWire.h>        // memasukkan program 
#include <DallasTemperature.h>    // memasukkan library Dallas ke program
#include <RBDdimmer.h>        // memasukkan library dimmer ke program

#define DS_PIN 7            // Pin 7 sebagai INPUT Dallas


#define POMPA_PIN 5        // Pin 5 sebagai OUTPUT Pompa
#define PELTIER_PIN 6        // Pin 6 sebagai OUTPUT Peltier
#define DIMMERPin 11        // Pin 11 sebagai OUTPUT ke Dimmer. Penempatan pin
float temp;                           // variable suhu
int value;            // Penyimpan data dari bluetooth
bool temp_state = false;        // Penyimpan data otomatis
unsigned long timer;        // Penyimpan data milis, deklarasi variable

OneWire oneWire(DS_PIN);            // konfigurasi library


DallasTemperature sensor(&oneWire);
SoftwareSerial bluetooth(3, 4);          // Konfigurasi pin RX DAN TX
dimmerLamp dimmer(DIMMERPin);

void setup() {
  dimmer.begin(NORMAL_MODE, ON);        // inisiasi DIMMER
  bluetooth.begin(9600);             // inisiasi library
  sensor.begin();                // inisiasi library
  Serial.begin(9600);            // inisiasi library
  pinMode(POMPA_PIN,OUTPUT);            // pin sebagai OUTPUT POMPA
  pinMode(PELTIER_PIN,OUTPUT);        // pin sebagai OUTPUT PELTIER
  dimmer.setState(OFF);            // DIMMER OFF
  digitalWrite(POMPA_PIN, LOW);        // Pin POMPA OFF
  digitalWrite(PELTIER_PIN, LOW);        // Pin PELTIER OFF
  timer = millis();            // inisiasi timer
}
void loop() {
  if(millis() > timer + 2000){        // mengirim data dari arduino ke handphone melalui
bluetooth setiap 2 s
    sensor.requestTemperatures();        // meminta data baca temperatur
    temp = sensor.getTempCByIndex(0);
    String data_toSend = String(temp);       
    int data_length = data_toSend.length() + 1;
    char data_Draw[data_length];
    data_toSend.toCharArray(data_Draw, data_length);    // mengubah data float ke char agar
aplikasi tidak error
    if((temp < 45.00) && (temp > 20.00)){        // jangkauan data yang ditampilkan pada
aplikasi
      bluetooth.write(data_Draw);            // mengirim data temperature ke aplikasi
    }
    Serial.println("DS18b20 : " + String(temp));        // untuk menampilkan temperatur pada
serial monitor
    timer = millis();
  }
  if(temp_state){                //mengatur otomatisasi dari kipas sesuai batas suhu yang telah
diprogram
    fanomatic(27.00, 80, true);       
    fanomatic(27.00, 0, false);
  }
if(bluetooth.available()){
    value = bluetooth.read();    // mengatur otomatisasi ON OFF kipas melalui handphone
    Serial.println(value);
    switch(value){
      case 201 :             // kipas ON   
        temp_state = true;       
        break;
      case 202 :            // kipas OFF
        temp_state = false;           
        break;
      case 203 :                // kipas OFF
        digitalWrite(POMPA_PIN,LOW);
        digitalWrite(PELTIER_PIN,LOW);
        break;
      case 204 :                // kipas ON
        digitalWrite(POMPA_PIN,HIGH);
        digitalWrite(PELTIER_PIN,HIGH);
        break;
    }
 if((!value && !temp_state) || !value)  dimmer.setState(OFF);    // mengatur ON OFF dimmer 
    else if((value >= 30) && (value <= 100)){
      int dimming_value = map(value, 30, 100, 32, 90);        // setting Dimmer
      dimmer.setState(ON);
      dimmer.setPower(dimming_value);
      Serial.println("IN : " + String(value) + " Power : " + String(dimming_value));
    }
  }
}

void fanomatic(float suhu, int pwr, bool state){       


  if(temp < 45.00 && temp > 15.00){            // jangkauan suhu yang dapat digunakan untuk
mengatur ON OFF Dimmer
    if(state){
      if(temp > suhu){
        dimmer.setState(ON);            // temperatur lebih dari 27.00 maka DIMMER ON
        dimmer.setPower(pwr);           
      }
    }
    else{
      if(temp <= suhu){            // temperatur lebih dari 27.00 maka DIMMER ON
        dimmer.setState(OFF);
      }
    }
  }
}
// inisialisasi coding(Pengenalan program) Pin data pada Aduino Uno.

const int pinH1 = 1;

const int pinK2 = 2;

const int pinM3 = 3;

const int pinM4 = 4;

const int pinK5 = 5;

const int pinH6 = 6;

const int pinM7 = 7;

const int pinK8 = 8;

const int pinH9 = 9;

const int pinM10 = 10;

const int pinK11 = 11;

const int pinH12 = 12;

void setup(){

// Peran pin Arduino uno sebagai output data.

pinMode(pinH1, OUTPUT);

pinMode(pinK2, OUTPUT);

pinMode(pinM3, OUTPUT);

pinMode(pinM4, OUTPUT);

pinMode(pinK5, OUTPUT);

pinMode(pinH6, OUTPUT);

pinMode(pinM7, OUTPUT);

pinMode(pinK8, OUTPUT);

pinMode(pinH9, OUTPUT);

pinMode(pinM10, OUTPUT);

pinMode(pinK11, OUTPUT);

pinMode(pinH12, OUTPUT);

}
void loop(){

// coding jalur A Jalan : M3(Mati),M4710(Hidup),H6912(Mati),H1(Hidup)

digitalWrite(pinM3, LOW);

digitalWrite(pinM4, HIGH);

digitalWrite(pinM7, HIGH);

digitalWrite(pinM10, HIGH);

digitalWrite(pinH1, HIGH);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

digitalWrite(pinM3, LOW);

digitalWrite(pinM4, LOW);

digitalWrite(pinM7, LOW);

digitalWrite(pinM10, LOW);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

// Coding pindah lampu K2(Hidup) berkedip 3x ke k5

digitalWrite(pinK2, HIGH);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);
digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, HIGH);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, HIGH);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

// Coding Jalur B Jalan : M3710(Hidup)M4(Mati),H6(Hidup)H1912(Mati)

digitalWrite(pinM3, HIGH);

digitalWrite(pinM4, LOW);

digitalWrite(pinM7, HIGH);

digitalWrite(pinM10, HIGH);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, HIGH);
digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

digitalWrite(pinM3, LOW);

digitalWrite(pinM4, LOW);

digitalWrite(pinM7, LOW);

digitalWrite(pinM10, LOW);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

// Coding pindah lampu K5(Hidup)berkedip 3x ke K8.

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, HIGH);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, HIGH);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);
digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, HIGH);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

// Coding Jalur C Jalan : M3410(Hidup)M7(Mati),H9(Hidup)H1612(Mati)

digitalWrite(pinM3, HIGH);

digitalWrite(pinM4, HIGH);

digitalWrite(pinM7, LOW);

digitalWrite(pinM10, HIGH);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, HIGH);

digitalWrite(pinH12, LOW);

delay(2000);

digitalWrite(pinM3, LOW);

digitalWrite(pinM4, LOW);

digitalWrite(pinM7, LOW);

digitalWrite(pinM10, LOW);

digitalWrite(pinH1, LOW);
digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

// Coding pindah lampu K8(Hidup)berkedip 3x ke K11.

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, HIGH);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, HIGH);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, HIGH);

digitalWrite(pinK11, LOW);
delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

// Coding Jalur D Berjalan : M347(Hidup)M10(Mati),H12(Hidup)H169(Mati)

digitalWrite(pinM3, HIGH);

digitalWrite(pinM4, HIGH);

digitalWrite(pinM7, HIGH);

digitalWrite(pinM10, LOW);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, HIGH);

delay(2000);

digitalWrite(pinM3, LOW);

digitalWrite(pinM4, LOW);

digitalWrite(pinM7, LOW);

digitalWrite(pinM10, LOW);

digitalWrite(pinH1, LOW);

digitalWrite(pinH6, LOW);

digitalWrite(pinH9, LOW);

digitalWrite(pinH12, LOW);

delay(2000);

// Coding pindah lampu K11(Hidup)berkedip 3x ke K2.

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);
digitalWrite(pinK11, HIGH);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, HIGH);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, HIGH);

delay(100);

digitalWrite(pinK2, LOW);

digitalWrite(pinK5, LOW);

digitalWrite(pinK8, LOW);

digitalWrite(pinK11, LOW);

delay(100);

Anda mungkin juga menyukai