• Tidak ada hasil yang ditemukan

Perancangan Sistemremote Dalam Mengontrol Beban Dengan Media Komunikasi RF Berbasis Mikrokontroleratmega 328P

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Sistemremote Dalam Mengontrol Beban Dengan Media Komunikasi RF Berbasis Mikrokontroleratmega 328P"

Copied!
13
0
0

Teks penuh

(1)

SKETCH PROGAM

………

/ Project 1 Creating a Wireless Remote Control, Transmitter Sketch By

Berry Sebayang

Pernyataan diatas digunakan sebagai komentar

………

………

#include <VirtualWire.h> #include <LiquidCrystal.h>

Pustaka yang digunakan untuk mengontrol pengiriman data dan LCD ………

……… const int PIN_RS = 12;

const int PIN_E = 11; const int PIN_DB4 = 7; const int PIN_DB5 = 8; const int PIN_DB6 = 9; const int PIN_DB7 = 10;

Deretan perintah diatas digunakan untuk mendefinisikan konstanta pin-pin Mikrokontroler ATMega 328P yang dipakai dalam rangkaian LCD

………

………

LiquidCrystal lcd(PIN_RS,PIN_E,PIN_DB4,PIN_DB5,PIN_DB6,PIN_DB7);

Digunakan untuk pembuatan objek bernama LCD

………

………

uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; Digunakan sebagai virtual wire oleh modul RF

………

……… const char *onA5 = "a";

(2)

const char *offA2 = "h"; const char *onA1 = "i"; const char *offA1 = "j"; const char *onA0 = "k"; const char *offA0 = "l"; const char *on13 = "m"; const char *off13 = "n";

Deretan perintah diatas digunakan untuk mendefinisikan konstanta karakter yang pada saat tombol ditekan dan tidak ditekan

………

……….... void setup()

{

Digunakan untuk menjalankan fungsi pertama kali

………

……… vw_set_ptt_inverted(true);

vw_setup(300); vw_set_tx_pin(1);

Digunakan sebagai kontrol kecepatan transmisi data dan dihubungkan pada mikrokontroler sebagai pin transmisi data ke modul RF

………

……… pinMode(A5, INPUT);

pinMode(A4, INPUT); pinMode(A3, INPUT); pinMode(A2, INPUT); pinMode(A1, INPUT); pinMode(A0, INPUT); pinMode(13, INPUT);

Digunakan untuk mendefenisikan pin mode yang digunakan pada Mikrokontroler Atmega 328P

………

……… lcd.begin(16,2);

Digunakan untuk memberitahukan LCD yang digunakan mempunyai 16 karakter dan jumlah baris adalah 2

………

……… }

(3)

………

……… void loop()

{

Fungsi yang secara otomatis dijalankan oleh mikrokontroler ATMega 328P setelah funggsi setup dijalankan

………

……… if (digitalRead(A5)==HIGH)

{

lcd.clear();

lcd.print("output 1"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

vw_send((uint8_t *)onA5, strlen(onA5)); vw_wait_tx();

delay(50); }

Apabila pin A5 “HIGH”, print LCD “output 1 ON” dan digunakan untuk mengirim karakter “a”

………

……… if (digitalRead(A5)==LOW)

{

lcd.clear();

lcd.print("output 1"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

vw_send((uint8_t *)offA5, strlen(offA5)); vw_wait_tx();

delay(50); }

Apabila pin A5 “LOW”, print LCD “output 1 OFF” dan digunakan untuk mengirim karakter “b”

………

……… if (digitalRead(A4)==HIGH)

{

lcd.clear();

(4)

lcd.print("ON"); delay(200);

vw_send((uint8_t *)onA4, strlen(onA4)); vw_wait_tx();

delay(50); }

Apabila pin A4 “HIGH”, print LCD “output 2ON” dan digunakan untuk mengirim karakter “c”

………

……… if (digitalRead(A4)==LOW)

{

lcd.clear();

lcd.print("output 2"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

vw_send((uint8_t *)offA4, strlen(offA4)); vw_wait_tx();

delay(50); }

Apabila pin A4 “LOW”, print LCD “output 2OFF” dan digunakan untuk mengirim karakter “d”

………

……… if (digitalRead(A3)==HIGH)

{

lcd.clear();

lcd.print("output 3"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

vw_send((uint8_t *)onA3, strlen(onA3)); vw_wait_tx();

delay(50); }

Apabila pin A3 “HIGH”, print LCD “output 3ON” dan digunakan untuk mengirim karakter “e”

………

……… if (digitalRead(A3)==LOW)

{

lcd.clear();

(5)

delay(200);

vw_send((uint8_t *)offA3, strlen(offA3)); vw_wait_tx();

delay(50); }

Apabila pin A3 “LOW”, print LCD “output 3OFF” dan digunakan untuk mengirim karakter “f”

………

……… if (digitalRead(A2)==HIGH)

{

lcd.clear();

lcd.print("output 4"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

vw_send((uint8_t *)onA2, strlen(onA2)); vw_wait_tx();

delay(50); }

Apabila pin A2 “HIGH”, print LCD “output 4ON” dan digunakan untuk mengirim karakter “g”

………

……… if (digitalRead(A2)==LOW)

{ lcd.clear();

lcd.print("output 4"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

vw_send((uint8_t *)offA2, strlen(offA2)); vw_wait_tx();

delay(50); }

Apabila pin A2 “LOW”, print LCD “output 4OFF” dan digunakan untuk mengirim karakter “h”

………

……… if (digitalRead(A1)==HIGH)

{

lcd.clear();

(6)

vw_send((uint8_t *)onA1, strlen(onA1)); vw_wait_tx();

delay(50); }

Apabila pin A1 “HIGH”, print LCD “output 5ON” dan digunakan untuk mengirim karakter “i”

………

……… if (digitalRead(A1)==LOW)

{

lcd.clear();

lcd.print("output 5"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

vw_send((uint8_t *)offA1, strlen(offA1)); vw_wait_tx();

delay(50); }

Apabila pin A1 “LOW”, print LCD “output 5OFF” dan digunakan untuk mengirim karakter “j”

………

……… if (digitalRead(A0)==HIGH)

{

lcd.clear();

lcd.print("output 6"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

vw_send((uint8_t *)onA0, strlen(onA0)); vw_wait_tx();

delay(50); }

Apabila pin A0 “HIGH”, print LCD “output 6ON” dan digunakan untuk mengirim karakter “k”

………

……… if (digitalRead(A0)==LOW)

{

lcd.clear();

lcd.print("output 6"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

(7)

vw_wait_tx(); delay(50); }

Apabila pin A0 “LOW”, print LCD “output 6OFF” dan digunakan untuk mengirim karakter “l”

………

……… if (digitalRead(13)==HIGH)

{

lcd.clear();

lcd.print("output 7"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

vw_send((uint8_t *)on13, strlen(on13)); vw_wait_tx();

delay(50); }

Apabila pin 13 “HIGH”, print LCD “output 7ON” dan digunakan untuk mengirim karakter “m”

………

……… if (digitalRead(13)==LOW)

{

lcd.clear();

lcd.print("output 7"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

vw_send((uint8_t *)off13, strlen(off13)); vw_wait_tx();

delay(50); }

Apabila pin 13 “LOW”, print LCD “output 7OFF” dan digunakan untuk mengirim karakter “n”

………

……… }

Digunakan sebagai akhir dari fungsi

………

……… // Project 2 Creating a Wireless Remote Control, Receiver Sketch By Berry Sebayang

(8)

………

……… #include <VirtualWire.h>

#include <LiquidCrystal.h>

Pustaka yang digunakan untuk mengontrol pengiriman data dan LCD

………

………

const int PIN_RS = A1; const int PIN_E = A0; const int PIN_DB4 = 2; const int PIN_DB5 = 3; const int PIN_DB6 = 4; const int PIN_DB7 = 5;

Deretan perintah diatas digunakan untuk mendefinisikan konstanta pin-pin Mikrokontroler ATMega 328P yang dipakai dalam rangkaian

………

……… LiquidCrystal lcd(PIN_RS,PIN_E,PIN_DB4,PIN_DB5,PIN_DB6,PIN_DB7); Digunakan untuk pembuatan objek bernama LCD

………

……… uint8_t buf[VW_MAX_MESSAGE_LEN];

uint8_t buflen = VW_MAX_MESSAGE_LEN; Digunakan sebagai virtual wire oleh modul RF

………

……… void setup()

{

Digunakan untuk menjalankan fungsi pertama kali

………

………

vw_set_ptt_inverted(true); vw_setup(300);

vw_set_rx_pin(0); vw_rx_start();

Digunakan sebagai kontrol kecepatan transmisi data dan dihubungkan pada mikrokontroler sebagai pin receiver data dari modul RF

……… ……… pinMode(13, OUTPUT);

(9)

pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT);

Digunakan untuk mendefenisikan pin mode yang digunakan pada Mikrokontroler ATMega 328P

………

……… lcd.begin(16,2);

Digunakan untuk memberitahukan LCD yang digunakan mempunyai 16 karakter dan jumlah baris adalah 2

………

……… }

Digunakan untuk menutup fungsi pertama kali

………

……… void loop()

{

Fungsi yang secara otomatis dijalankan oleh mikrokontroler Atmega 328P setelah funggsi setup dijalankan.Sketch dijalankan secara berulang-ulang. ………

……… if (vw_get_message(buf, &buflen))

{

switch(buf[0]) {

Sebagai jalur penerimaan karakter yang dikirim dari Modul RF transmiter.Kemudian data dikirim ke mikrokontroler.

………

……… case 'a':

digitalWrite(13, HIGH); lcd.clear();

lcd.print("output 1"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200); break;

Diterima karakter “a”, buat pin 13 “HIGH” dan print LCD “output1 ON” ………

……… case 'b':

lcd.clear();

(10)

lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(13, LOW); break;

Diterima karakter “b”, buat pin 13 “LOW” dan print LCD “output1 OFF” ………

……… case 'c':

lcd.clear();

lcd.print("output 2"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(12, HIGH); break;

Diterima karakter “c”, buat pin 12 “HIGH” dan print LCD “output2 ON” ………

……… case 'd':

lcd.clear();

lcd.print("output 2"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(12, LOW); break;

Diterima karakter “d”, buat pin 12 “LOW” dan print LCD “output2 OFF” ………

……… case 'e':

lcd.clear();

lcd.print("output 3"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(11, HIGH); break;

Diterima karakter “e”, buat pin 11 “HIGH” dan print LCD “output3 ON” ………

……… case 'f':

lcd.clear();

lcd.print("output 3"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

(11)

Diterima karakter “f”, buat pin 11 “LOW” dan print LCD “output3 OFF” ………

……… case 'g':

lcd.clear();

lcd.print("output 4"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(10, HIGH); break;

Diterima karakter “g”, buat pin 10 “HIGH” dan print LCD “output4 ON” ………

……… case 'h':

lcd.clear();

lcd.print("output 4"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(10, LOW); break;

Diterima karakter “h”, buat pin 10 “LOW” dan print LCD “output4 OFF” ………

……… case 'i':

lcd.clear();

lcd.print("output 5"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(9, HIGH); break;

Diterima karakter “i”, buat pin 9 “HIGH” dan print LCD “output5 ON” ………

……… case 'j':

lcd.clear();

lcd.print("output 5"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(9, LOW); break;

Diterima karakter “j”, buat pin 9 “LOW” dan print LCD “output5 OFF” ………

(12)

case 'k': lcd.clear();

lcd.print("output 6"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(8, HIGH); break;

Diterima karakter “k”, buat pin 8 “HIGH” dan print LCD “output6 ON” ………

……… case 'l':

lcd.clear();

lcd.print("output 6"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(8, LOW); break;

Diterima karakter “l”, buat pin 8 “LOW” dan print LCD “output6 OFF” ………

……… case 'm':

lcd.clear();

lcd.print("output 7"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);

digitalWrite(7, HIGH); break;

Diterima karakter “m”, buat pin 7 “HIGH” dan print LCD “output7 ON” ………

……… case 'n':

lcd.clear();

lcd.print("output 7"); lcd.setCursor(0, 1); lcd.print("OFF"); delay(200);

digitalWrite(7, LOW); break;

Diterima karakter “n”, buat pin 7 “LOW” dan print LCD “output7 OFF” ………

……… }

} }

Akhir dari setiap fungsi

(13)

Referensi

Dokumen terkait

Hipotesa dari penelitian ini adalah akan dapat direalisasikan prototype penggerak pintu pagar otomatis berbasis Arduino Uno Atmega 328P dengan sensor sidik jari sebagai

Dengan berkembangnya teknologi mikrokontroler, fungsi waterpass ini dapat diaplikasikan secara digital dengan menggunakan sensor Mpu6050 yang berbasis pada ATMega 8535.Sensor

#3), saat SMS ini masuk GSM maka modu akan memberikan perintah ke ATMEGA 328P untuk mengaktifkan / menonaktifkan klakson dan pompa bensin sesuai program yang dibuat. 3.8

PERANCANGAN ROBOT PEMBUAT BIOPORI BERBASIS ARDUINO UNO ATMEGA 328P DENGAN SISTEM KENDALI SMARTPHONE

robot pembuat lubang resapan biopori berbasis arduino uno atmega 328p,. denganModel Unified Modelling Language (UML) yang digunakan

Dalam perancangan sistem pemanasan mesin sepeda motor secara otomatis berbasis arduino ini, penulis memanfaatkan mikrokontroler Atmega 328 yang tertanam dalam arduino uno

Dalam perancangan sistem pemanasan mesin sepeda motor secara otomatis berbasis arduino ini, penulis memanfaatkan mikrokontroler Atmega 328 yang tertanam dalam arduino uno

Rancang Bangun Alat Auto Receive Berbasis Mobile Phone Menggunakan Mikrokontroler ATMega 328P.. Samarinda : Jurnal Informatika