Pengenalan Sistem Benam (Embedded System) Berbasis Pengendali Mikro 8-bit - Praktikum - TeachMeSoft

Pengenalan Sistem Benam (Embedded System) Berbasis Pengendali Mikro 8-bit - Praktikum

Pengenalan Sistem Benam Berbasis Pengendali Mikro 8-bit



Teori Singkat

Embedded system atau dikenal dalam terjemahan Bahasa Indonesia sebagi sistem benam adalah sistem elektronik pengendali proses berbasis teknologi Microcontroller. Terdapat banyak jenis pengendali mikro yang umum digunakan ditinjau baik dari pembuat (misal : Atmel, Intel, Microchip, Motorola, dll). Maupun Arsitektur (misal : 8-bit, 16-bit, atau 32-bit).


Perbedaan antara pengendali mikro (Microcontroller) dan pemroses mikro (Mikroprosesor) adalah berdasarkan Arsitektur internalnya. Pada pemroses mikro hanya menjalankan fungsi sebagai ALU (Arithmetic Control Unit) dan CU (Control Unit) saja, dan memerlukan piranti lain seperti memori dan I/O (input/output) agar dapat bekerja sebagai komputer. Sedangkan pengendali mikro memiliki arsitektur internal yang lengkap layaknya sebuah komputer dalam kuran kecil dimanan sdah terdapat piranti pemroses mikro, piranti memori (RAM - random acces memory, ROM - read only memory), piranti IO, peranti Timer/ Counter, piranti ADC/DAC, dsb. Teknologi saat ini memberi kontribusi bagi produksi pengendali mikro sehingga memiliki fasilitas yang semakin lengkap sesuai kebutuhan para pemakai yang semakin bervariasi. Gambar 1 menunjukan arsitektur dasar dari sistem benam jenis 8-bit berbasis Arduino seri MCU ATMega328p yang diproduksi oleh Atmel.

Gbr. 1 Arsitektur perangkat lunak dan perangkat keras sistem benam arduino 8-bit

Modul praktikum sistem benam yang akan digunakan sebagai rujukan aktifitas percobaan ini menggunakan sistem pengembang minimum dari keluaran ArduinoTM yang berbasis pengendali mikro jenis 8-bit produksi Atmel. Sistem benam berbasis keluarga Arduino memiliki banyak variasi, antara lain : Arduino Duemelanove , Uno, Mega, Leonardo, Nano, dll. Setiap varian memiliki fasilitas baik perangkat lunak maupun perangkat keras harganya murah, cross platform (windows, Ubuntu, atau Macintosh), Pemrogramannya mudah, open source dan perangkat lunak/ kerasnya mudah dikembangkan



Alat dan Bahan Percobaan

Pada sesi ini akan diperkenalkan tentang sistem pengembang MCU 8-bit Arduino yang meliputi perangkat keras dan perangkat lunak.

1. Arduino Board
Perangkat keras elektronik yang terdapat sistem benam didalamnya. Terdapat beberapa varian papan elektronik Arduino yang umum digunakan seperti ditunjukan oleh Gambar 2 berikut ini.

Gbr. 2 Variasi papan elektronik Arduino. (Nano-Uno-Mega)

Pada umumnya sistem benam berbasis Arduino menggunakan jenis pengendali mikro ATMEL AVR 8-bit, diantara lain: ATmega8, ATMega32, ATMega168, ATMega328, ATMega1280 dan ATMEGA2560, Selain itu, Arduino juga menggunakan jenis pengendali mikro 32-bit dari beberapa vendor, yaitu SAM3x8E ARM Cortex-M3 produksi ATMEL, dan Galileo serta Curle produksi Intel. Perkembangan perangkat keras Arduino sangatlah dinamis mengikuti keinginan penggunan yang menghendaki sebuah piranti elektronis serbaguna, mudah diprogram, harganya murah dan memiliki fleksibilitas integrasi dengan piranti lain.

Gbr. 3 Tata letak dan penamaan pin masukan dan keluaran Arduino UNO

Tata letak dan penamaan pin masukan dan keluaran papan Arduino memiliki standar tersendiri, seperti yang ditunjukan oleh Gambar 3 yang menunjukkan tata letak dan penamaan papan Arduino UNO. Pada dasarnya penamaan pin Arduino berdasarkan karakteristiknya, yaitu : input/ output digital, dan imput/output analog. Pin input/output A0-A7 seccara khusus digunakan untuk membaca data analog, namun secara umum juga bisa digunakan untuk input/output digital sesuai dengan jenis pengendali mikronya. Untuk papan Arduino UNO, Pin input/ Output digital antara 0-13/ Pada beberapa pin digital terdapat penambahan tandan ~ di awal nomor, hal ini merujukkan bahwa pin juga bisa digunakan untuk analog (PWM - pulse width modulation). Adapun fungsi-fungsi khusus lain bisa dilihat secara jelas pada Gambar 3.

2. Arduino IDE
Sistem Arduino tidak hanya sebatas perangkat keras elektronik saja, namun juga terdapat perangkat lunak pengembang nya, dikenal dengan Arduino IDE (Integraed Development Environment), Arduino IDE merupakan perangkat lunak pengembang berbasis platform java yang digunakan untuk melakukan beberapa hal utama, antara lain :
  • Menulis/ mengubah kode program Arduino (sketch)
  • Melakukan kompilasi kode program Arduino menjadi kode mesin (*.hex)
  • Mengisi kode mesin hasil kompilasi ke dalam pengendali mikro Arduino
Selain melaukukan tiga hal utama di atas, Arduino IDE juga memiliki fasilitas pendukung lain, antara lain : pembaruan library secara daring yang akan memudahkan dalam penyusunan kode program, monitor komunikasi data serial, dan pengaturan koneksi dengan perangkat keras Arduino. Gambar 4 menunjukan tampilan Arduino IDE.
Gambar 4 Tampilan Arduino IDE dengan keterangan fungsi tiap bagiannya

Kode-kode program yang ditulis pada editor Arduino IDE disebut dengan Sketch, dengan menggunakan platform dasar bahasa pemrograman C yang sudah disesuaikan untuk keperluan pegembang system benam berbasisi Arduino. Status dan informasi proses kompilasi dapat dipantau pada bagian bawah arduino IDE, meliputi kesalahan yang terdeteksi, tahapan kompilasi dan hasil kompilasi



Struktur dasar pemrograman Arduino secara umum terbagi menjadi dua bagian, yaitu setup dan loop. Setup digunakan mendefinisikan fungsi dan karakteristik fasilitas yang akan digunakan dan hanya dieksekusi sekali saja, sedangkan loop digunakan untuk menyatakan sekuensial kerja yang akan dilakukan secara berulang terus-menerus. Di luar setup dan loop dapat digunakan untuk deklarasi variable dan fungsi, deklarasi library, definisi pin input/ output, dll. Dibawah ini contoh struktur dasar penyusunan kode program pada Arduino IDE.



Langkah Percobaan 

Sebagai pengenal system Arduino baik perangkat keras maupun perangkat lunak, dilakukan uji coba pengoperasian fasilitas kedua piranti tersebut. Adapun langkah-langkah percobaan yaitu :
  1. Menghubungkan papan Arduino dengan PC/ Laptop melalui kebel USB.
    Pada tahap ini papan Arduino tidak perlu diberi daya listrik melalaui konektor power supply karenan saat terhubung dengan PC/ laptop melalui kabel USB, maka papan Arduino secara langsung mendapatkan daya listrik. Kecuali jika papan arduino terhubung dengan beban listrik yang besar (missal:motor servo, dll) maka harus diberikan daya listrik eksternal. 
  2. Membuka aplikasi Arduino IDE.
    Setelah aplikasi Arduino IDE berhasil dijalankan, selanjutnya membukan contoh kode program (blink.ino) yang sudah disedikan oleh Arduino IDE. Langkahnya :
    Sorot : File ⇛ Examples ⇛ 01.Basics ⇛ Blink. 
  3. Mengatur koneksi Arduino IDE dengan papan Arduino.
    Hal pertama yang harus dilakukan adalah memilih jenis papan Arduino yang terhubung dengan PC/laptop. Langkahnya :
    Sorot: Tool ⇛ Board ⇛ “?” dan pilih jenis papan Arduino yang digunakan.
    Tahap selanjutnya adalah memilih USB PC/Laptop yang sudah terhubung dengan papan Arduino. Langkahnya :
    Sorot : Tools ⇛ Port ⇛ “?” dan pilih nama port pada PC/ Laptop. 
  4. Melakukan kompilasi kode program dan upload kode mesin menuju Arduino.
    Setelah contoh kode program tertampil pada Sketch editor, selanjutnya lakukan kompilasi kode program dengan menekan ikon kompilasi seperti yang terlihat pada Gambar 4 jika tidak ada notifikasi kesalahan selanjutnya dilakukan proses upload kode mesin hasil kompilasi menuju papan Arduino yang sudah dihubungkan ke PC/ Laptop dengan menekan ikon Upload seperti pada Gambar 4
  5. Mengamati apa terjadi baik pada papan Arduino maupun pada Arduino IDE.



Tugas

Berikut ini deskripsi tugas yang harus anda lakukan terkait dengan tahap-tahap percobaan yang sudah dilakukan:
  1. Buka contoh kode program (selain Blink.ino) yang disediakan oleh Arduino IDE. 
  2. Lakukan pengaturan koneksi dengan papan Arduino. 
  3. Kompilasi dan upload kode program yang sudah anda buat, kemudian amati hasilnya. 
  4. Lakukan upload kode mesin pada papa Arduino.




Jawaban






Disqus comments