Kamis, 02 Februari 2017

Bahasa pemrograman yang digunakan pada Arduino

Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe



Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok!

Baiklah kita akan mulai dari:


void setup() {
// semua kode yang disini akan dibaca sekali oleh Arduino
}

void loop() {
//semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino
}

Semua kode program yang ada dalam 
void setup akan dibaca sekali oleh Arduino. Biasanya isinya berupa kode perintah untuk menentukan fungsi pada sebuah pin. Contoh kodenya seperti:


pinMode(13, OUTPUT);               // menentukan pin 13 sebagai OUTPUT
pinMode(3, INPUT);                   // menentukan pin 3 sebagai INPUT

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:


Serial.begin(9600);                      // untuk komunikasi Arduino dengan komputer

Semua kode program yang ada di 
void loop akan dibaca setelah void setup dan akan dibaca terus menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada Arduino. Contoh kodenya seperti:


digitalWrite(13, HIGH);              //untuk memberikan 5V (nyala)  kepada pin 13.
digitalWrite(13, LOW);              //untuk memberikan 0V (mati) kepada pin 13.
analogWrite(3, 225);                //untuk memberikan nilai 225 (setara dengan 5V) kepada pin 3.

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunaka:


Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di variabel nama sensor

Untuk menampilkan teks, bis menggunakan:


Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu Tools kemudian pilih Serial Monitor. Atau dengan menekan kombinasi CTRL+SHIFT+M di keyboard. Atau bisa juga dengan meng-klik ikon Kaca Pembesar di Arduino, seperti gambar dibawah ini:


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 MARI BAHAS LEBIH DETAIL LAGI!

CATATAN PADA PROGRAM
Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara mengetikan // kemudian mengetikan catatannya, seperti:


void loop() {

 
 // catatan pada baris ini tidak akan dibaca oleh program
}

Tapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja, jika kamu ingin membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /* lalu ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */ . Contohnya seperti:


void loop() {

 
 /* apapun yang kamu mau ketikan disini tidak
     akan dibaca oleh program
     sepanjang apapun kamu mengetiknya
   */


}

KURUNG KURAWAL {}

Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa pemrograman pada umumnya, Arduino membaca mulai dari atas hingga kebawah.


void loop()
{
....program
....program
....program
}

TITIK KOMA ;
Setiap baris kode pada Arduino harus diakhiri dengan tanda ;


void setup(){
pinMode(13, OUTPUT)
;
}

void loop(){
digitalWrite(13, HIGH)
;
}

VARIABLES
Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada sebuah nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float, Character.

int (integer)
Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits).

long (long)
Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits).

boolean (boolean)
Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit saja ;)

float(float)
Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32 bits).

char(character)
Menyimpan character berdasarkan ASCII kode (contoh: 'A'=65). Menggunakan 1 byte (8 bits).

OPERATOR MATEMATIKA

Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana seperti: penjumlahan, pengurangan, sama dengan, dan sebagainya.

=      (sama dengan) (contoh  x=10*2 (x sekarang jadi 20))
%    (persentase) (contoh 12%10 (hasilnya yaitu 2))
+      (penambahan)
-       (pengurangan)
*       (perkalian)
       (pembagian)

OPERATOR PERBANDINGAN

Digunakan untuk melakukan perbandingan secara logika.

== (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE
!=  (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE
<   (lebih kecil dari) contoh: 15 < 10 FALSE  atau 12 < 14 TRUE
>   (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE

STRUKTUR PENGENDALI
Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak memenuhi kondisinya juga ada perintah yang dilaksanakan oleh Arduino.



if(kondisi A)
{
  
Kode Perintah A
}
else if(kondisi B)
{
  
Kode Perintah B
}
else
{
  
Kode Perintah C
}

Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode Perintah A.
Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi, maka akan melaksanakan Kode Perintah B.
Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode Perintah C.


for(int i = 0; i < #repeats; i++)
{
  
Kode Perintah
}

Kode diatas digunakan saat kita ingin mengulangi kode atau nilai dalam beberapa kali. Penjelasan detailnya nanti akan dibahas ketika mencoba membuat projek, biar lebih mudah dipahami, OK. ;)

KODE DIGITAL
Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.


pinModepinmode);

Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang akan digunakan, kalo kamu pake Arduino Uno, pin Digitalnya dari 0-13. dan mode sendiri bisa berupa INPUT atau OUTPUT.

Contoh:


pinMode(13, OUTPUT);    // artinya pin 13 digunakan sebagai OUTPUT
pinMode(7, INPUT);         // artinya pin 7 digunakan sebagai INPUT

Dan seperti yang sudah saya bilang untuk kode 
pinMode itu ada didalam void setup.


digitalRead(pin);

Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin. Dan nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE).

Contoh:

digitalRead(13);     // artinya kode akan membaca nilai sensor pada pin 13

Kode 
digitalRead kita masukan dalam void loop.


digitalWrite(pin, nilai);

Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan HIGH (+5V), atau LOW (Ground).

Contoh:


digitalWrite(13, HIGH);    // artinya pin 13 kita diberi tegangan +5V
digitalWrite(13, LOW);    // artinya pin 13 kita diberi tegangan 0 / Ground

Dan untuk kode 
digitalWrite tentu saja kita masukan dalam void loop.


analogWrite(pinnilai);

Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi Analognya pada pin Digital Arduino. Tapi hanya beberap pin saja, yang biasa kita sebut PWM (Pulse With Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10, dan 11.

Dengan begini nilai yang dihasilkan menjadi bervariasi dari 0-225, itu setara dengan 0-5V.

Contoh:


analogWrite(3, 150);    // artinya pin 3 diberikan nilai sebesar 150

Dan untuk kode 
analogWrite juga kita masukan dalam void loop.

KODE ANALOG 
Kode analog ini digunakan ketika ingin menggunakan pin Analog pada Arduino. Untuk Arduino Uno pin Analog dari A0-A5. Dan karena ini pin Analog maka hanya bisa kita gunakan sebagai INPUT saja. Dan juga tidak perlu menulis 
pinMode pada void setup.


analogRead(pin);

Kode diatas digunakan untuk membaca nilai pada sensor Analog. Yaitu antara 0-1024.

Contoh:


analogRead(A0);     // artinya kode akan membaca nilai sensor pada pin AO.


Cara Memprogram Wemos D1 R2 Mini ESP8266 Dengan Arduino

Cara Memprogram Wemos D1 R2 Mini ESP8266 Dengan Arduino
Apa Itu Wemos ?
Wemos merupakan salah satu arduino compatible development board yang dirancang khusus untuk keperluan IoT. Wemos menggunakan chip SoC WiFi yang cukup terkenal saat ini yaitu ESP8266. Cukup banyak modul WiFi yang menggunakan SoC ESP8266. Namun Wemos memiliki beberapa kelebihan tersendiri yang menurut saya sangat cocok digunakan untuk Aplikasi IoT.










wemos d1
Beberapa alasan yang membuat Wemos cukup menarik untuk di oprek adalah sebagai berikut :
1.     Arduino compatible, artinya dapat diprogram menggunakan Arduino IDE dengan sintaks program dan library yang banyak terdapat di internet.
2.     Pinout yang compatible dengan Arduino uno, Wemos D1 R2 merupakan salah satu product yang memiliki bentuk dan pinout standar seperti arduino uno. Sehingga memudahkan kita untuk menghubungkan dengan arduino shield lainnya.
3.     Wemos dapat running stand alone tanpa perlu dihubungkan dengan mikrokontroler. Berbeda dengan modul WiFi lain yang masih membutuhkan mikrokontroler sebagai pengontrol, Wemos dapat running stand alone karena didalamnya sudah terdapat CPU yang dapat diprogram melalui Serial port ataupun via OTA (Over The Air) atau transfer program secara wireless.
4.     High Frequency CPU, dengan processor utama 32bit berkecepatan 80MHz Wemos dapat mengeksekusi program lebih cepat dibanding dibandingkan mikrokontroler 8 bit yang digunakan di Arduino.
5.     Dukungan High Level Language, Selain menggunakan Arduino IDE Wemos juga dapat diprogram menggunakan bahasa Python dan Lua. Sehingga memudahkan bagi network programmer yang belum terbiasa menggunakan Arduino.
Beberapa point diatas merupakan alasan saya kenapa akhirnya lebih memilih Wemos sebagai development board untuk belajar IoT. Walaupun di pasaran masih banyak development board lainnya seperti Raspberry Pi, Intel Galileo, dll.
Cara Memprogram Wemos Dengan Arduino
Sekarang masuk ke pembahasan utama yaitu bagaimana cara memprogram Wemos menggunakan Arduino IDE. Seperti yang diketahui bahwa Arduino IDE hanya dapat digunakan untuk arduino development board. Namun beberapa komunitas telah mengembangkan Arduino IDE untuk mikrokontroler dan mikroprosesor lainnya antara lain ESP8266. Pengembangan Arduino IDE untuk ESP8266 dapat Anda pantau di link berikut ini https://github.com/esp8266/Arduino .
Nah, untuk memprogram Wemos dengan Arduino IDE simak langkahnya berikut ini :
1.     Download Arduino IDE dari web resmi Arduino.cc
2.     Download driver CH340G dari web Wemos.cc
3.     Lakukan instalasi kedua software diatas di komputer Anda
4.     Buka Arduino IDE kemudian masuk ke menu File -> Preference
                                                                                                                 
5.     Kemudian pada bagian Additional Board Manager URL masukkan URL berikut ini : http://arduino.esp8266.com/stable/package_esp8266com_index.json
6.     Kemudian masuk ke menu Tool -> Board Manageresp8266 arduino
7.     Pada kotak pencarian masukkan esp8266, maka akan muncul pilihan dari ESP8266 Community. Klik pada bagian more info dan Install. Tunggu sampai selesai.
8.     Setelah selesai maka tipe board baru akan muncul di Arduino IDE. Masuk ke menu Tool -> Board lalu cari Wemos D1 R2 & Mini. Pilih tipe board ini jika Anda ingin memprogram Wemos dengan Arduino.
9.     Selanjutnya jangan lupa pilih port serial yang sesuai dengan yang dipakai Wemos. Contoh pada komputer saya adalah COM4 (tidak semua komputer sama).
10.  Untuk menguji coba upload program, gunakan Example dari contoh program blink dari Sub Folder ESP8266.
11.  Upload program Anda dan pastikan proses upload telah sukses dengan indikator pesan “Done Uploading”
12.  Setelah program berhasil terupload perhatikan LED yang berada dekat chip ESP8266 menyala berkedip. Jika LED berkedip maka proses dan cara memprogram wemos dengan arduino Anda sudah benar.