Kamis, 17 Maret 2016

Pre-Final Project

Halooo semuaaa!!

Sekarang saya akan menjelaskan tentang proses pemilihan judul akhir untuk proyek besar mata kuliah ini.

Jadi sebenarnya kelompok kami memiliki 2 ide utama:

- Smart Traffic Light, Ide ini mensimulasikan proses tilang otomatis untuk para pengendara yang menerobos lampu merah

- Panic Button, Ide ini mensimulasikan sebuah produk aksesoris yang didalamnya terdapat tombol, yang mana saat tombol itu di klik, maka akan dikirimkan pesan ke kantor polisi terdekat bahwa orang tersebut sedang dalam bahaya

Ada beberapa parameter yang digunakan sebagai pembanding, yaitu:
- Kegunaan
- Akses teknologi / teknologi yang dibutuhkan
- Presentasi keberhasilan

Mari kita bahas satu persatu!

A. Kegunaan
Smart Traffic Light jauh lebih berguna dibandingkan panic button. Hal ini disebabkan tidak begitu matangnya ide Panic Button. Bisa saja kalau si penggunanya iseng dia tekan-tekan terus tombolnya, jadilah spam. Sekalipun dilakukan pengecekan dengan denyut nadi(yang mana biasanya orang-orang yang panik akan semakin cepat nadinya berdenyut), tetap saja tidak bisa menjadi tolak ukur baku karena tingkat kecepatan denyut nadi tiap orang disaat panik berbeda-beda.

B. Akses teknologi / teknologi yang dibutuhkan
Smart Traffic Light menggunakan sensor tekan, ceritanya ditaruh di bawah garis lampu merah. Sedangkan Panic Button menggunakan sensor pendeteksi denyut nadi. Terlihat bahwa sensor tekan lebih terjangkau dari pada sensor pendeteksi denyut nadi.

C. Presentasi keberhasilan
Smart Traffic Light sejauh ini dirancang seperti simulasi lampu merah. Ada lampu LED 3, sensor tekan, dan (pura-puranya) mobil yang melintas. Sedangkan Panic Button sejauh ini dibayangkan bentuk jadinya seperti gelang. HOW???

Jadi setelah semua pertimbangan tersebut, pilihan kami adalah...

SMART TRAFFIC LIGHT!!!

Sekian~~

Kamis, 03 Maret 2016

Percobaan Arduino UNO 3 - Kalkulator

Pada postingan kali ini, saya akan menjelaskan tentang percobaan ketiga kelompok saya menggunakan Arduino seri UNO, yaitu membuat kalkulator sederhada.

Alat-alat yang dibutuhkan meliputi:
  • Arduino UNO (1 set)
  • BreadBoard (1 buah)
  • Keypad 4x4 (1 buah)
  • LCD (1 buah)
  • Resistor 220 ohm (1 buah)
  • Potensiometer 10 kilo ohm
  • Kabel jumper secukupnya
  • Laptop
 Berikut adalah langkah-langkah pengerjaannya:

1. Susun rangkaian berikut kabel jumpernya seperti gambar di bawah ini:


 Gambar 1: Ilustrasi dari Implementasi Rangkaian

2. Sambungkan Arduino pada PC.

3. Masukkan source code berikut ini:
 ---
#include <LiquidCrystal.h> //import lcd library
#include <Keypad.h> //import keypad library

LiquidCrystal lcd(5, 4, 3, 2, 1, 0); //lcd pins
const byte ROWS = 4; // four rows
const byte COLS = 4; // four columns

//define the keymap
char keys [ROWS] [COLS] = {
  {'7', '4', '1', 'X'},
  {'8', '5', '2', '0'},
  {'9', '6', '3', '='},
  {'/', '*', '-', '+'}
};
byte rowPins[ROWS] = {
  9 ,8 ,7 ,6}; //connect keypad ROW1, ROW2, ROW3, ROW4 to these arduino pins
byte colPins[COLS] = {
  13, 12, 11, 10}; //connect keypad COL1, COL2, COL3, COL4 to these arduino pins

//create the keypad
Keypad myKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

//variables declaration
boolean valOnePresent = false;
boolean next = false;
boolean final = false;
String num1, num2;
int ans;
char op;

void setup(){
  lcd.begin(16,2);
  lcd.setCursor(2,0);
  lcd.print("Hello World!");
  delay(2500);
  lcd.clear(); //clears the LCD screen and positions the cursor in the upper-left corner.
}

void loop(){
  char key = myKeypad.getKey();

  if (key != NO_KEY && (key=='1'||key=='2'||key=='3'||key=='4'||key=='5'||key=='6'||key=='7'||key=='8'||key=='9'||key=='0')){
    if (valOnePresent != true){
      num1 = num1 + key;
      int numLength = num1.length();
      lcd.setCursor(15 - numLength, 0); //to adjust one whitespace for operator
      lcd.print(num1);
    }
    else {
      num2 = num2 + key;
      int numLength = num2.length();
      lcd.setCursor(15 - numLength, 1);
      lcd.print(num2);
      final = true;
    }
  }

  else if (valOnePresent == false && key != NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+')){
    if (valOnePresent == false){
      valOnePresent = true;
      op = key;
      lcd.setCursor(15,0); //operator on right corner
      lcd.print(op);
    }
  }

  else if (final == true && key != NO_KEY && key == '='){
    if (op == '+'){
      ans = num1.toInt() + num2.toInt();
    }
    else if (op == '-'){
      ans = num1.toInt() - num2.toInt();
    }
    else if (op == '*'){
      ans = num1.toInt() * num2.toInt();
    }
    else if (op == '/'){
      ans = num1.toInt() / num2.toInt();
    }  
      lcd.clear();
      lcd.setCursor(15,0);
      lcd.autoscroll();
      lcd.print(ans);
      lcd.noAutoscroll();
  }
  else if (key != NO_KEY && key == 'X'){
    lcd.clear();
    valOnePresent = false;
    final = false;
    num1 = "";
    num2 = "";
    ans = 0;
    op = ' ';
  }
}

---

4. Compile dan run code. Maka seharusnya kalkulator dapat berjalan dengan baik.

Seharusnya...

Ya, kami gagal mengerjakannya.

Untuk lebih jelasnya, berikut adalah video hasil pengerjaan kami:
---

---
Untuk kendala yang kami alami, ada banyak. Sebelumnya mohon maaf pada percobaan yang satu ini saya tidak dapat terlibat langsung dalam pengerjaannya sehingga saya hanya akan me-list semua temuan yang teman saya temukan.

Kendala yang ditemukan(oleh teman saya Ifan):

1. Kabel jumper yang kurang bagus sehingga dalam transmisi data kurang baik
2. Gigi pin arduino yang tidak menggigit sehingga kabel jumper mudah terlepas
3. LCD yang tidak disolder sehingga nyala mati ketika dijalankan karena mudah terlepas dari kabel jumper
4. IDE Arduino yang error tidak bisa upload source code ke dalam arduino
5. Kesalahan pemasangan pin sehingga output LCD dan keypad tidak sesuai dengan yang seharusnya
6. Potensiometer yang tidak berjalan dengan baik sehingga tulisan LCD tidak tampak

Referensi percobaan ini:

Well, saya rasa cukup untuk postingan kali ini.

Fikriansyah Adzaka
18213001

Percobaan Arduino UNO 2 - ESP 8266

Pada postingan kali ini, saya akan menjelaskan tentang percobaan kedua kelompok saya menggunakan Arduino seri UNO, yaitu mencoba ESP 8266 - Modul Wifi.

Alat-alat yang dibutuhkan meliputi:
  • Arduino UNO (1 set)
  • BreadBoard (1 buah)
  • ESP 8266 - Modul Wifi (1 buah)
  • Kabel jumper secukupnya
  • Akses Point(Wifi) (1 buah) 
  • Laptop (1 buah)
 Berikut adalah langkah-langkah pengerjaannya:

1. Susun rangkaian berikut kabel jumpernya seperti gambar di bawah ini:



 Gambar 1 : Illustrasi dari Implementasi Rangkaian


 Gambar 2 : Foto Rangkaian Jadi


2. Sambungkan Arduino pada PC.

3.Masukkan kode kosong ke arduino.



Gambar 3 : Kode Kosong

4. Compile dan run code. Buka Serial Monitor kemudian set Both NL & CR dan kecepatan komunikasi (Baudrate) 115200 dipojok kanan bawah dari serial monitor

 

Gambar 4 : Settingan Serial Monitor

5.  Jalankan modul dengan memberikan perintah kepada Serial Monitor:
- AT : Mengecek apakah ESP 8266 sudah siap untuk digunakan
- AT+GMR : Mengecek versi firmware dari ESP 8266 yang digunakan
- AT+CWLAP : Mengecek Akses Point yang tersedia
- AT+CWJAP=”SSID”,”Password” : Konek ke dalam sebuah akses point
- AT+CIFSR : Mengecek IP Address setelah berhasil tersambung ke akses point
- AT+RST : Restart sistem ESP 8266

Hampir tidak ada ada kendala dalam pengerjaan proyek ini dikarenakan terdapat banyak referensi yang jelas pada internet.

---
Referensi

---

Fikriansyah Adzaka
18213001