Lompat ke konten Lompat ke sidebar Lompat ke footer

Membuat emdedded system programming mikrokontroller berbasis IoT A.01UGS00.033.01

Membuat emdedded system programming mikrokontroller berbasis IoT. Tuntutan pembelajaran berbasis kompetensi menjadi sangat penting dalam meningkatkan kualitas Sumber Daya Manusia (SDM) yang kompeten, sesuai dengan tuntutan kebutuhan pasar kerja. Selaras dengan tuntutan tersebut, maka dibutuhkan mekanisme pelatihan yang lebih praktis, aplikatif, serta dapat menarik dilaksanakan sehingga memotivasi para peserta dalam melaksanakan pelatihan yang diberikan. Seiring dengan mudahnya teknologi digunakan, maka materi pelatihan dapat disajikan dengan berbagai media pembelajaran sehingga dapat diakses secara offline dan online. Materi pelatihan ini terdiri dari buku Panduan Materi Pelatihan dan buku Panduan Asesmen. Serta dilengkapi dengan materi yang bersifat soft copy seperti materi presentasi dan video.

Embedded system atau sistem tertanam merupakan sistem komputer khusus yang dirancang untuk menjalankan tugas tertentu dan biasanya sistem tersebut tertanam dalam satu kesatuan sistem. Sistem ini menjadi bagian dari keseluruhan sistem yang terdiri atas mekanik dan perangkat keras lainnya Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Internet of Things adalah suatu konsep dimana objek tertentu punya kemampuan untuk mentransfer data lewat jaringan tanpa memerlukan adanya interaksi dari manusia ke manusia ataupun dari manusia ke perangkat komputer. 

Manfaat Internet Of Things 

Berikut ini macam – macam manfaat dari Internet of Things: 
  • Monitoring Lingkungan IoT dapat digunakan untuk “melihat” kondisi air secara realtime di waduk, irigasi bagi para petani ataupun peternak untuk informasi debit air masih banyak atau tinggal sedikit, di laut sebagai mitigasi bencana ke para pelaut dan nelayan. Dengan monitoring ini kita melihat pergerakan jeni usaha kiat tiap hari dan tiap bulan selama beberapa tahun untuk melihat grafik naik – turunnya usaha. 
  • Pengelolaan Infrastruktur Untuk pengelolaan Infrastruktur sekarang sudah ada MRT Jakarta, singkatan dari Moda Raya Terpadu Jakarta (Jakarta Mass Rapid Transit), adalah sebuah sistem transportasi transit cepat menggunakan kereta rel listrik di Jakarta. Kereta cepat IoT ini dapat dipakai untuk mendeteksi kondisi jalur kereta aman atau tidak untuk dilintasi, sehingga palang pintu kereta akan terbuka secara otomatis tanpa harus khawatir penjaga kereta sedang terlelap tidur. 

Modul untuk membuat IoT 

Paling tidak ada 3 hal dalam system IoT : 
  1. Hardware/Things (sensor, actuator dll) 
  2. Internet 
  3. Cloud data center (untuk menjalankan aplikasi system IoT)

1. Peralatan Pemograman Mikrokontroller

A. Mikrokontroler Arduino
Arduino adalah sebuah board mikrokontroller yang berbasis ATmega328. Arduino memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset. Arduino mampu men-support mikrokontroller; dapat dikoneksikan dengan komputer menggunakan kabel USB. Arduino memiliki kelebihan tersendiri disbanding board mikrokontroler yang lain selain bersifat open source, arduino juga mempunyai bahasa pemrogramanya sendiri yang berupa bahasa C Arduino sendiri memiliki banyak varian atau jenis board yang bisa kita gunakan dalam pembuatan proyek tergantung dari kebutuhan port I/O maupun speed clock yang kita butuhkan untuk proyek yang akan kita bangun.


Jenis-jenis arduino



Salah satu jenis board arduino yang paling sering digunakan untuk membuat proyek terutama untuk pemula adalah Arduino UNO.

bagian pin arduino


Arduino merupakan sebuah perangkat embedded sederhana yang paling umum digunakan untuk mempelajari sistem IoT dari segi pengendalian dan komunikasi pada perangkat keras. Perangkat ini diprogram menggunakan aplikasi Arduino IDE dengan bahasa pemrogaman C yang sudah disederhanakan sehingga akan lebih mudah dipelajari. Untuk dapat berkomunikasi dengan perangkat lain dibutuhkan modul komunikasi (Ethernet, WiFi dan Bluetooth) sehingga dapat terhubung dengan smartphone atau perangkat lainnya

Arduino Software (IDE) 

Arduino IDE (Integrated Development Environment) adalah software yang di gunakan untuk memprogram di arduino, dengan kata lain Arduino IDE sebagai media untuk memprogram board Arduino. Arduino IDE bisa di download secara gratis di website resmi Arduino IDE. Arduino IDE ini berguna sebagai text editor untuk membuat, mengedit, dan juga mevalidasi kode program. bisa juga digunakan untuk meng-upload ke board Arduino. Kode program yang digunakan pada Arduino disebut dengan istilah Arduino “sketch” atau disebut juga source code arduino, dengan ekstensi file source code .ino

software arduino ide


B. Mikrokontroler Raspberry

Raspberry Pi adalah salah satu perangkat IoT yang bisa dibilang memiliki fitur yang cukup lengkap karena selain dapat digunakan untuk mengendalikan komponen seperti lampu LED dan sensor perangkat ini juga dapat digunakan sebagai sebuah miniPC dengan sistem operasi berbasis Linux yang disebut Raspbian OS dan juga ada Windows IoT. Perangkat Raspberry Pi ini secara default menggunakan bahasa pemrogaman Python yang dapat dijalankan melalui tampilan terminal OS atau dengan tampilan Graphical User Interface (GUI) yang telah disediakan OS. Selain itu, pada perangkat ini juga telah dilengkapi untuk komunikasi Ethernet, WiFi dan Bluetooth.

raspberry pi 4


C. Modul Koneksi Internet untuk membangun project IoT

1. Node MCU ESP8266

Node MCU ESP8266 adalah sebuah perangkat modul WiFi tambahan dengan protokol TCP/IP untuk perangkat mikrokontroller. Perangkat ini memiliki kemiripan dengan Arduino, yang membedakan adalah perangkat ini sudah dilengkapi WiFi dan Bluetooth tetapi memiliki spesifikasi yang lebih rendah dari pada beberapa versi perangkat Arduino.

2. Ethernet Shield Ethernet

shield adalah modul yang digunakan untuk mengkoneksikan Arduino dengan internet menggunakan kabel.Arduino ethernet shield dibuat berdasarkan pada wiznet W5100 ethernet chip. Wiznet W5100 menyediakan IP untuk TCP dan UDP, yang mendukung hingga 4 socket secara simultan. Untuk menggunakanya dibutuhkan library Ethernet dan SPI. Dan Ethernet Shield ini menggunakan kabel RJ-45 untuk mengkoneksikanya ke Internet, dengan integrated line transformer dan juga Power over Ethernet. Ethernet Shield bekerja dengan cara memberikan layanan IP pada arduino dan pc agar dapat terhubung ke internet. Cara menggunakan cukup mudah yaitu hanya dengan menghubungkan Arduino Ethernet Shield dengan board Arduino lalu akan disambungkan ke jaringan internet. Cukup memasukkan module ini ke board Arduino, lalu menghubungkannya ke jaringan ineternet dengan kabel RJ-45, maka Arduino akan terkoneksi langsung ke internet. Dan untuk menggunakanya, tentu saja kita harus menyetting IP pada module dan pc internet agar dapat terhubung satu sama lain.

2. Menyiapkan Peralatan Pemograman Mikrokontroller 

A. Pemeriksaan kelayakan mikrokontroller 

Secara fisik kita dapat melakukan pemeriksaan terhadap kondisi dari perangkat mikrokontroler yang kita gunakan,apakah ada cacat atai tidak.Langkah selanjutnya adalah pengecekan dengan menghubungkan perangkat mikrokontroer dengan computer atau pc. untuk mengetahui port COM berapa yang digunakan untuk koneksi data antara Arduino dengan komputer. Caranya cukup mudah, yaitu : 

1. Pertama pastikan koneksi kabel USB A-B antara Arduino dengan komputer secara fisik terhubung dengan baik.Pastikan software Arduino IDE sudah terinstal pada laptop atau PC,Software Arduino IDE dapat di download pada website Arduino https://www.arduino.cc/en/software/

 2. Periksa status koneksi pada Device Manager, yaitu dengan membuka “Control Panel -> Device Manager” kemudian pilih (expand) pada bagian “Port (COM & LPT)”. Ketika koneksi antara Arduino dengan komputer berhasil maka akan muncul tipe Arduino beserta port COM yang digunakan. Gambar dibawah menunjukan Arduino yang digunakan ialah Arduino Mega menggunakan port “COM5”.

3. Mengubah pengaturan tipe board dan port di software/aplikasi Arduino IDE. Sesuaikan dengan tipe bord dan port yang digunakan yaitu "Arduino Mega" dan port "COM5". Untuk mengaturnya masuk ke menu "Tools -> Board" pilih Arduino Mega, kemudian masuk ke menu "Tools - > Port" pilih COM5.

4. Kemudian setelah itu jalankan kode program (sketch) yang sederhana seperti Blink atau AnalogReadSerial yang terdapat pada menu "File -> Examples -> Basics". Dapat dijalankannya kode program pada Arduino menujukan Arduino dan komputer terhubung (terkoneksi) dengan baik

B. Mengenal platform untuk membangun project IoT 

latform IoT memainkan peran penting dalam arsitektur IoT. Dimana ketika seorang developer membangun sebuah project IoT atau sistem yang berbasis sensor dan perangkat yang mengirimkan data ke platform cloud.Beberapa platform yang dapat digunakan untuk pembuatan project IoT antara lain: 

a. Temboo 

Platform Temboo menyediakan layanan untuk mengintegrasikan Arduino, Raspberry Pi dan platform lain dengan berbagai layanan internet (seperti SMS, email dan lain sebagainya). Platform ini menggunakan choreos yang merupakan konektor yang menghubungkan layanan luar, sehingga semua event di arduino, seperti sinyal sensor bisa diubah menjadi event yang berbeda. Selain itu temboo menyediakan beberapa logika seperti percabangan IF – THEN. Selain itu, Temboo juga mendukung aplikasi M2M (machine to machine) menggunakan MQTT, CoAP, dan juga protokol HTTP. Fitur utama yang disediakan Temboo antara lain adalah 

  • Code Generation: Platform menghasilkan program yang telah dioptimasi untuk beberapa perangkat menggunakan beberapa bahasa pemrograman yang berbeda seperti Java, C/C++, Python dan lain – lain 
  • Interoperability: tembo menyediakan sekumpulan layanan choreos yang menyederhanakan proses integrasi degan layanan cloud yang lain 
  • Data: Temboo menyimpan dan menvisualisasikan berbagai jenis data 

b. Ubidots

Ubidots adalah platform IoT menarik lainnya yang menyediakan beragam layanan. Pertama, ia mendukung beberapa perangkat seperti Arduino, Raspberry Pi, Particle, Espressif, Onion dan banyak lagi. Selain itu, ada beberapa jenis layanan yang berbeda dari konektivitas perangkah hingga visualisasi data. 

Beberapa fitur yang dimiliki oleh Ubudots antara lain adalah sebagai berikut : 

  • SDK/API : Ubidots menyediakan SDK untuk perangkat yang berbeda – beda yang memudahkan proses integrasi perangkat dengan platform. Selain itu juga ada API yang bisa dipanggil untuk berinteraksi dengan platform 
  • Mendukung protokol MQTT dan HTTP 
  • Synthetic Variabel yang bisa menerapkan formula matematika pada data 
  • Penyimpanan data 
  • Visualisasi data https://www.youtube.com/watch?time_continue=13&v= DBRdfurZkGU&feature=emb_logo

c. ThingSpeak 

ThingSpeak adalah platform IoT terbuka yang mendukung Matlab. Inti dari platform ini adalah IoT analytics dan visualisasi data. Menyediakan visualisasi data secara realt – time dan dengan dukungan matlab, memungkinkan untuk menambahkan data untuk keperluan analisis dan pemrosesan berapa fitur utama yang dimiliki oleh ThingSpeak adalah sebagai berikut 
  • Visualisasi data sensor secara realtime 
  • Agregasi data dari penyedia pihak ketiga
  • task IoT analytics terjadwal guna menganalisis data 
  • Event Scheduling 
  • Menjalankan aksi berdasarkan data yang diterima Platform ini mendukung beberapa perangkat misalnya Arduino, Raspberry Pi, hingga ESP 

d. Blynk 

BLYNK adalah platform untuk aplikasi OS Mobile (iOS dan Android) yang bertujuan untuk kendali module Arduino, Raspberry Pi, ESP8266, WEMOS D1, dan module sejenisnya melalui Internet. Penggunaannya sangat mudah untuk mengatur semuanya dan dapat dikerjakan dalam waktu kurang dari 5 menit. Blynk tidak terikat pada papan atau module tertentu. Dari platform aplikasi inilah dapat mengontrol apapun dari jarak jauh, dimanapun kita berada dan waktu kapanpun. Dengan catatan terhubung dengan internet dengan koneksi yang stabil dan inilah yang dinamakan dengan sistem Internet of Things (IOT).

3. Memasang instalasi perangkat I/O dengan mikrokontroler 

Arduino uno terdapat pin I/O (Input/Output) untuk mengakses atau menerima data yang berupa sinyal analog maupun sinyal digital.

perangkat input output arduino

a. Input/Output Analog 

Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang berhubungan dengan variabel lain.Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi harus melewati proses pengubahan output dari digital menjadi analog yang memerlukan fungsi komponen Digital to Analog Converter. output analog pada Arduino kebanyakan memiliki fitur PWM (Pulse Width Modulation).

b. Input/Output Digital 

Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0, logika high atau low, maupun kondisi on atau off.Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1, nilai tersebut akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital adalah pin yang dapat mengirim atau menerima sinyal – sinyal digital. 
Pada output digital sebenarnya hampir sama dengan input digital dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat diset sebagai input maupun output.Format dasar pemograman untuk deklarasi >> pinMode ([pin yang digunakan], [INPUT or OUTPUT]};

Contoh Rangkaian Pemasangan Pin I/O


 4. Membuat Program Mikrokontroler

Tahap awal dalam proses pembuatan program mikrokontroller adalah dengan mendownload software Arduino Integrated Development Environment - atau Arduino Software (IDE: https://www.arduino.cc/en/Main/Software.

a. Struktur Pemrograman Arduino 

IDE Struktur pemrograman yang ada di Arduino IDE secara garis besar terbagi menjadi beberapa bagian seperti gambar di atas. yaitu : 
1. Header 
Header berisi library yang kita butuhkan. Library-library dasar yang ada dalam pemrograman bahasa C, sudah terinput otomatis dalam Arduino IDE. Library dasar seperti stdio.h, stdlib.h, math.h, kemudian library mikrokontroler yang digunakan dan masih banyak lagi. Sehingga, ketika memprogram di Arduino IDE dan perlu library-library dasar sudah tidak perlu dipanggil lagi di bagian header. Library yang sifatnya pengembangan, yang tidak termasuk library dasar maka harus dipanggil dibagian header. Misal library untuk LCD 16x2, HCSR04, dan masih banyak lagi. Cara menulisnya sebagai berikut:

cara menulis header
cara menulis header

2. Deklarasi Variabel 
Deklarasi variabel yang dimaksud yaitu variabel global, yaitu variabel yang bisa digunakan diseluruh bagian program ini. Variabel terbagi menjadi dua, yaitu global dan lokal. Untuk deklarasi variabel global terletak dibagian ini, tetapi untuk variabel lokal maka dideklarasikan ditiap awal fungsi/prosedur dimana variabel tersebut digunakan.Cara penulisannya deklarasi variabel global sebagai berikut:
deklarasi variabel global
deklarasi variabel global

Cara penulisannya deklarasi variabel lokal sebagai berikut:

deklarasi variabel lokal
deklarasi variabel lokal

2. Setup 
Pada bagian ini, digunakan untuk mengkonfigurasi / mengatur mikrokontroler supaya sesuai kebutuhan pengguna. Pada dasarnya pin-pin yang ada pada mikrokontroler bisa digunakan sebagai masukan (input) atau keluaran (output), baik digital maupun analog. Maka, mikrokontroler harus diatur sebelum digunakan sesuai kebutuhan. Kegunaan lainnya yaitu untuk menjalankan program yang hanya sekali dijalankan seperti tampilan awal program, atau init. Cara menulisnya sebagai berikut:
setup
3. Loop 
Bagian Loop merupakan bagian yang isinya program utama yang akan dijalankan berulang-ulang. Program yang dijalankan sampai sumber tenaga (power supply) dicabut. Jika ingin membuat program menghidupkan LED yang dirangkai active low, maka sebagai berikut cara penulisan programnya.

loop
loop


Proyek sederhana merupakan langkah awal praktik belajar Arduino. Proyek yang sangat familiar yaitu led blink. Led Blink adalah proyek menyalakan LED dengan cara menghubungkan LED ke pin 13 dan membuat perintah Arduino untuk membuat perulangan LED berkedip atau dinamakan blink. 
Dengan mengerjakan proyek ini, pemula akan mempelajari beberapa dasar-dasar elektronik dan sketch program Arduino. Bahan yang diperlukan 
  1. Papan atau Board Arduino Uno DIP 
  2. USB A-to-B Cable. 
  3. Breadboard 
  4. LED 5 mm warna apa saja boleh. 
  5. 100ohm resistor jika tidak ada bisa menggunakan 220ohm, 330ohm dan maksimal ukuran paling besar 560ohm. 
  6. Kabel Jumper 2 saja.
skema rangkaian led blink

Untuk langkah kerja proyek membuat led blink bisa anda download pada link berikut
 

Posting Komentar untuk "Membuat emdedded system programming mikrokontroller berbasis IoT A.01UGS00.033.01"