13 Sep 2019

Apa itu Arduino?

Apa itu Arduino?

Pengenalan Arduino

Arduino adalah sebuah minimum sistem mikrokontroler bersifat open-source yang banyak digunakan untuk membagun sebuah project elektronika. Platform Arduino berisi dua yaitu hardware berupa board dan sebuah software atau IDE (Integrated Development Environment) yang berjalan pada komputer, digunakan untuk menulis dan mengisikan perogram ke board Arduino.

Platform Arduino menjadi sangat populer bagi orang-orang yang ingin memulai belajar elekronika khususnya mikrokontroler, karena dengan memnggunakan Arduino tidak lagi memerlukan hardware tambahan (sering disebut downloader) untuk mengisikan program kedalam board mikrokontroler, tapi hanya perlu kabel USB saja yang disambungkan dari komputer ke board Arduino. Bahasa pemograman yang dituliskan pada Arduino IDE menggunakan bahasa pemograman C++ yang telah disederhanakan, sehingga dapat lebih mudah dimengerti. Sebuah board Arduino didesain dengan standar bentuk board serta posisi dan susunan pin/port sehingga dapat lebih mudah digunakan dan diakses dengan perangkat lain.

Arduino tipe UNO adalah salah satu jenis board dari Arduino yang sangat populer karena merupakan pilihan yang sangat cocok bagi pemula. Pada latihan percobaan yang akan kita praktekan akan mengguanakan board Arduino UNO.


         
Percaya atau tidak, hanya memerlukan 10 baris kode kamu dapat membuat LED yang berada pada Arduino kamu berkedip. Kode-kode tersebut mungkin kamu belum memahaminya untuk sekarang, tapi setelah membaca dan mengikuti latihan-latihan kamu akan memahami maksud dari kode-kode tersebut atau bahkan dapat mengembangkannya.

Sejatinya Arduino hardware dan software didesain untuk dapat digunakan oleh seniman, desainer, penggiat hobi, hacker, pemula, dan semua orang yang tertarik untuk membuat sebuah objek interaktif. Arduino dapat berinteraksi dengna tombol, LED, motor, speaker, unit GPS, camera, internet, smartphone atau TV dan masih banyak lagi perangkat yang kamu bisa hubungkan dengan Arduino. Arduino sangat fleksibel untuk bisa membuat berbagai project, dimana software Arduino adalah gratis, dan hardware board juga dengan harga yang sangat terjangkau, keduanya baik hardware dan software mudah untuk dipelajari karena sudah terdapat komunitas besar dari pengguna-pengguna Arduino yang sudah berkontribusi contoh program dan instruksi-intruksi untuk membuat berbagai project elektronika yang dibuat menggunakan board Arduino.

Ada apa saja di dalam Arduino?

Terdapat banyak varian jenis board Arduino yang dapat digunakan untuk fungsi yang berbeda-beda. Beberapa board ada yang terlihat sedikit berbeda tidak seperti pada gambar di bawah, tetapi hampir semua komponen utama adalah sama:
Power (USB / Barrel Jack)
Setiap Arduino memiliki jalur yang akan dihubungkan dengan sumber tenaga/tegangan. Arduino UNO dapat diberi tegangan melalui USB (1) dapat berasal dari komputer, power bank atau berasal dari power supply melalui barrel jack (2). Koneksi kabel USB juga berfungsi untuk jalur pemograman ke board Arduino.

Perhatian: Jangan menggunakan power supply yang tegangannya lebih dari 20 Volt, karena dapat merusak board Arduino karena overpower. Tegangan yang dizinkan untuk Arduino adalah 6 - 12 Volt.

Pin (5V, 3.3V, GND, Analog, Digital, PWM, AREF)

Pin pada Arduino adalah tempat dimana untuk menyambungkan kabel anatara pin Arduino dengan perangkat-perangkat input/output (biasanya menghubungkan dengan rangakain project pada breadboard). Pin Arduino biasanya berupa female header sehingga untuk mendapatkan koneksi dari pin Arduino hanya cukup colokan kabel ke dalam lubang pin header tersebut. Terdapat beberapa pin pada Arduino dengan fungsi yang berbeda-beda, masing-masing pin diberi label sesuai nama dan fungsinya pada PCB.

— GND (3): Kependekan dari 'Ground'. Terdapat beberapa pin ground dan semuanya dapat digunakan.

— 5V (4) & 3.3V (5): 5V pin memberikan supply tegangan 5 volt, dan 3.3V pin memberikan supply tegangan 3.3 volt. Kebanyakan yang digunakan dengan Arduino bekerja pada tegangan 5 atau 3.3 volt.

— Analog (6): Pin yang berada di bawah tulisan 'Analog In' (A0 sampai A5 pada Arduino UNO) adalah pin Analog Input. Pin ini dapat membaca sinyal dari sensor analog (seperti sensor suhu) dan mengkonversinya kedalam nilai digital yang dapat kita baca.

— Digital (7): Terletak disisi lain dari analog pin terdapat pin digital (0 sampai 13 pada UNO). Pin ini dapat difungsikan sebagai digital input (seperti memberitahukan apabila button dipencet) dan digital output (seperti menyalakan sebuah LED).

— PWM (8): Kamu bisa melihat simbol (~) pada beberapa pin digital (3, 5, 6, 7, 9, 10, dan 11 pada UNO). Pin ini berfungsi sebagai pin digital biasanya, tapi bisa digunakan untuk Pulse-Width Modulation (PWM), sederhananya pin ini dapat mengeluarkan keluaran tegangan Analog.

— AREF (9): Singkatan dari Analog Reference. Pin ini digunakan untuk mengatur tegangan referensi external (antara 0 dan 5 volt) sebagai batas untuk pin analog input.

Tombol Reset

Seperti komputer pada umumnya, Arduino mempunyai tombol reset (10). Menekan tombol ini akan menghubungkan pin reset dengan ground dan merestart semua kode program yang ada di dalam Arduino. Reset ini akan sangat membantu jika kode tidak berjalan berulang-ulang, tapi kamu ingin menjalankannya beberapa kali.

Power LED Indicator

Tepat di bawah dan di sebelah kanan kata "UNO" di board Arduino, ada LED kecil di samping kata 'ON' (11). LED ini harus menyala setiap kali Anda memasukkan Arduino Anda ke sumber tegangan. Jika lampu ini tidak menyala, ada kemungkinan ada sesuatu yang salah.

TX RX LED

TX adalah singkatan dari transmit, RX adalah singkatan dari receive. Kata ini cukup familiar dalam istilah elektronik untuk menunjukkan pin sebagai komunikasi serial. Dalam board Arduino terdapat dua tempat tulisan TX dan RX - pertama pada pin digital 0 dan 1, dan yang kedua di samping indikator LED TX dan RX (12). LED ini akan memberi kita beberapa indikasi visual setiap kali Arduino menerima atau mentransmisikan data (seperti saat kita memasukan program baru ke board Arduino).

IC Utama

Berwarna hitam terdapat banyak kaki logam disampingnya adalah IC, atau Integrated Circuit (13). Anggap saja itu sebagai otaknya Arduino. IC utama pada Arduino UNO berbeda dengan jenis board Arduino lainnya tapi biasanya merupakan IC keluarga ATmega yang diproduksi oleh perusahaan ATMEL. Untuk mengetahui jenis IC yang dipakai bisa ditemukan secara tertulis disisi atas IC. Jika Anda ingin tahu lebih banyak tentang perbedaan antara IC tersebut, dapat dilihat pada datasheet.

Voltage Regulator

Regulator tegangan (14) berfungsi untuk membatasi jumlah tegangan yang masuk ke board Arduino. Anggap saja itu sebagai semacam gatekeeper; ini akan menghilangkan tegangan lebih yang mungkin membahayakan sirkuit. Tentu saja, ini memiliki batas, jadijangan menghubungkan Arduino Anda dengan yang lebih besar dari 20 volt.

12 Sep 2019

14 - Pengendali Relay

Pengendali Relay

Pada latihan ini kamu akan membuat sebuah saklar pengendali seperti yang digunakan di industri pabrik untuk menghidupkan sebuah mesin menggunakan dua push button Start/ON dan Stop/OFF untuk mematikannya. Kamu dapat mencoba memperaktekanya untuk mengendalikan sebuah kipas angin, dengan cara menghubungkan kabel colokan kipas angin dengan kontak terminal pada modul relay sebelum dihubungkan ke sumber tegangan listrik.

Relay: pada dasarnya merupakan sebuah saklar mekanik yang dikontrol secara listrik. di dalam relay terdapat lilitan dengan inti besi yang akan berubah menjadi magnet ketika dialiri arus listrik dan menarik tuas saklar sehingga menyebabkan saklar menjadi kontak. Relay mempunyai pin NC (Normally Close), Pin NC kebalikan dari pin NO yaitu akan terhubung antara pin COM dengan NC ketika kondisi relay mati. Pin-pin kontak pada relay dapat digunakan sesuai dengan kebutuhan apakah dalam keadaan aktif nyala atau mati. Kedua pin NO dan NC juga dapat digunakan untuk dua peralatan yang nyalanya bergantian.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x Modul Relay
— 2 x Push Button
— 2 x Resistor 10kΩ
— 10 x Kabel Jumper

Rangkaian:

Perakitan:

Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.


/*
  14 - Pengendali Relay

  Menyalakan dan mematikan relay dengan menggunakan dua push button START dan STOP.
*/


int startButton = 4;  //pin yang dihubungkan dengan push button start 
int stopButton = 5;   //pin yang dihubungkan dengan push button start
int relayPin = 8;    //pin yang dihubungkan dengan relay
int startButtonStatus = 0;    //variabel untuk menyimpan kondisi push button start
int stopButtonStatus = 0;     //variabel untuk menyimpan kondisi push button stop

void setup() { 
  pinMode(relayPin, OUTPUT);    //atur relayPin sebagai output
  pinMode(startButton, INPUT);  //atur relayPin startButton input
  pinMode(stopButton, INPUT);   //atur relayPin stopButton input

  digitalWrite(relayPin, LOW);  //biarkan kondisi relay mati pada kondisi awal
}

void loop() { 
  startButtonStatus = digitalRead(startButton);  //membaca kondisi pin startButton dan menyimpannya di startButtonStatus
  stopButtonStatus = digitalRead(stopButton);    //membaca kondisi pin stopButton dan menyimpannya di stopButtonStatus

  //memeriksa jika push button START kondisi HIGH, AND(&&) push button STOP kondisi LOW, jika ya nyalakan relay. 
  if (startButtonStatus == HIGH && stopButtonStatus == LOW) { 
    digitalWrite(relayPin, HIGH); 
  }

  //memeriksa jika push button START kondisi LOW, AND(&&) push button STOP kondisi HIGH, jika ya matikan relay.
  if (startButtonStatus == LOW && stopButtonStatus == HIGH) {
    digitalWrite (relayPin, LOW); 
  } 
}

Cara menggunakan:

Kamu seharusnya dapat mendengarkan suara klik ketika kontak relay aktif, dan melihat LED indikator pada modul relay menyala. Jadi ketika pertama kali Arduino dinyalakan kondisi relay mati, ketika kamu menekan push button ON maka relay akan aktif sebaliknya ketika menekan push button OFF maka relay akan mati.

01 - LED Berkedip

LED Berkedip

Pada umumnya percobaan pertama dari sebuah latihan Arduino adalah LED berkedip. Ini merupakan sebuah latihan yang cukup mudah dengan membuat sebuah LED yang terhubung ke pin 13 menyala selama selang waktu 1 detik kemudian mati selama selang waktu 1 detik dan begitu seterusnya. Pada percobaan ini tidak terdapat banyak fungsi yang digunakan tapi merupakan dasar untuk bisa memahami bahasa pemograman yang lebih kompleks nantinya.

+ Pada setiap latihan akan terdapat sebuah penjelasan singkat dan bagaimana percobaan tersebut bekerja.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x LED
— 1 x Resistor 330Ω
— 2 x Kabel Jumper

+ Ini merupakan daftar komponen yang di perlukan untuk menyelesaikan setiap latiahan.

Rangkaian:

+ Ini adalah gambar rangkaian merupakan gambar skema yang terlihat sedikit rumit, pada gambar rangkaian tidak selalu menjelaskan dimana komponen diletakan relatif terhadap komponen lain, tapi menjelaskan bagaimana komponen-komponen tersebut terhubung.

Perakitan:


+ Ini adalah gambar perakitan yang memperlihatkan letak dari masing-masing komponen dan bagaimana komponen tersebut terhubung satu sama lainnya. Apabila kamu belum memahami gambar rangkaian kamu bisa mengikuti sama persis seperti gambar ini.

Upload sketch Arduino pertama:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.


/*
  01 - Led Berkedip

  Menyalakan LED selama satu detik, kemudian mematikannya selama satu detik, terus berulang.
*/

//fungsi setup berjalan satu kali ketika papan Arduino mendapat power atau ketika push button reset diteken
void setup() {
  //inisialisasi digital pin LED_BUILTIN sebagai output.
  pinMode(LED_BUILTIN, OUTPUT);
}

//fungsi loop berjalan berulang dan terus menerus
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   //menyalakan LED (HIGH merupakan level tegangan)
  delay(1000);                       //menunggu selama 1 detik
  digitalWrite(LED_BUILTIN, LOW);    //mematikan LED dengan membuat level tegangan menjadi LOW
  delay(1000);                       //menunggu selama 1 detik
}
+ Ini adalah program/sketch yang akan dimasukan kedalam Arduino, akan ada sketch yang berbeda pada setiap latihan.
Untuk mengetahui bagaimana program di atas berjalan pada Arduino, di dalamm sketch tersebut kamu bisa membaca penjelan dari setiap baris kode yang ditulis sebagai komen.

Cara menggunakan:

Kamu akan melihat LED berkedip menyala dan mati. Jika ini tidak terjadi, pastikan kamu melakukan tahap demi tahap dari percobaan dengan benar pada latihan 01 dan pastikan kamu telah upload sketchnya kedalam Arduino.

Coba rubah nilai 1000 dari fungsi delay() dengan nilai yang berbeda dan lihat bagaimana mempengaruhi waktu berkedip dari LED. Nilai yang kecil akan membuat loop berjalan cepat. (Mengapa?)

Tantangan lain:
* kurangi delay ke 10 ms. Dapatkah kamu melihat LED masih berkedip?
Temukan nilai delay terkecil sehingga kamu masih dapat melihat LED berkedip.

+ Lihat hasilnya jika percobaan latihan kamu selesai dan berjalan benar.

7 Sep 2019

SwitchIoT 1.0


SwitchIoT adalah aplikasi yang berjalan pada platform Android dapat membantu kita membuat sebuah perangkat IoT smart switch berbasis chip ESP8266 dengan sangat mudah. Untuk mulai membuatnya cukup ikutin panduan "Getting Started" yang ada pada aplikasi, yaitu pertama tentukan hardware apa yang akan digunakan (ESP01, Wemos, NodeMCU & Sonoff basic), kemudian upload firmware dari aplikasi ini melalui USB OTG ke hardware kamu, dan terakhir setelah selesai upload hubungkan perangkat SwitchIoT kamu dengan sebuah jaringan internet (router) menggunakan aplikasi ini. Selesai deh sekarang kamu bisa mengontrol sebuah saklar dari mana saja, mudah bukan!!


Untuk tutorial lengkap cara membuat hardware SwitchIoT bisa mengikuti tutorial lengkap dari Instructable disini.

Apabila ada pertanyaan atau menemukan sebuah 'bug' atau saran mengenai app tersebut tulis saja dikolom komentar dibawah, semoga app bisa menjadi lebih baik.

Jangan lupa berikan bintang dan reviewnya pada halaman Google playstore SwitchIoT yaa!