SKETCH PROGAM ……………………………………………………………………………… / Project 1 Creating a Wireless Remote Control, Transmitter Sketch By Berry Sebayang
Pernyataan diatas digunakan sebagai komentar ……………………………………………………………………………… ……………………………………………………………………………… #include
#include
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"; const char *offA5 = "b"; const char *onA4 = "c"; const char *offA4 = "d"; const char *onA3 = "e"; const char *offA3 = "f"; const char *onA2 = "g";
Universitas Sumatera Utara
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 ……………………………………………………………………………… ……………………………………………………………………………… }
Digunakan untuk menutup fungsi pertama kali
Universitas Sumatera Utara
………………………………………………………………………………
……………………………………………………………………………… 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(); lcd.print("output 2"); lcd.setCursor(0, 1);
Universitas Sumatera Utara
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(); lcd.print("output 3"); lcd.setCursor(0, 1); lcd.print("OFF");
Universitas Sumatera Utara
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(); lcd.print("output 5"); lcd.setCursor(0, 1); lcd.print("ON"); delay(200);
Universitas Sumatera Utara
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); vw_send((uint8_t *)offA0, strlen(offA0));
Universitas Sumatera Utara
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
Pernyataan diatas digunakan sebagai komentar
Universitas Sumatera Utara
………………………………………………………………………………
……………………………………………………………………………… #include #include
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); pinMode(12, OUTPUT);
Universitas Sumatera Utara
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(); lcd.print("output 1");
Universitas Sumatera Utara
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); digitalWrite(11, LOW); break;
Universitas Sumatera Utara
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” ……………………………………………………………………………… ………………………………………………………………………………
Universitas Sumatera Utara
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
………………………………………………………………………………
Universitas Sumatera Utara
Universitas Sumatera Utara