Prak-1: Sistem Pengendali Utama Robot - TeachMeSoft

Prak-1: Sistem Pengendali Utama Robot




Tujuan dan Indikator


Tujuan Pembelajaran

Setelah melakukan praktik pada sesi ini, diharapkan mahasiswa mengetahui dan memahami beberapa hal berikut:
  1. Pengertian tentang sistem elektronik pengendali terprogram.
  2. Mengembangan sistem elektronik pengendali robot berbasis MCU 8-bit keluarga Arduino, meliputi perangkat keras dan perangkat lunak.

Indikator Capaian Pembelejaran

  1. Mahasiswa mampu menjelaskan definisi sistem kendali utama robot berdasarkan arsitektur teknologinya.
  2. Mahasiswa mampu mengoperasikan sistem pengembang MCU 8-bit Arduino dengan baik dalam rangka mengendalikan sistem robot, meliputi perangkat lunak maupun perangkat keras.


Teori Singkat


Embedded system atau dikenal dalam terjemahan Bahasa Indonesia sebagai 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 arsitekturnya (misal: 8-bit, 16-bit, atau 32- bit).

Perbedaan antara pengendali mikro ( Microcontroller ) dan pemroses mikro (Microprocessor) 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 1/0 (Input/Output) agar dapat bekerja sebagai komputer.

Sedangkan pengendali mikro memiliki arsitektur internal yang lengkap layaknya sebuah komputer dalam ukuran kecil dimana sudah terdapat piranti pemroses mikro, piranti memori (RAM - random access memory, ROM - read only memory ), piranti 10, piranti Timer/Counter, piranti ADC/DAC, dsb.

Teknologi saat ini memberikan kontribusi bagi produksi pengendali mikro sehingga memiliki fasilitas yang semakin lengkap·sesuai dengan kebutuhan para pemakai yang semakin bervariasi.

Gambar 1.1 menunjukkan arsitektur dasar dari sistem benam jenis 8-bit berbasis Arduino seri MCU ATMega328p yang diproduksi oleh Atmel.

Gambar 1.1 Arsitektur perangkat lunak dan perangkat keras sistem benam Arduino 8-bit

Modul praktikum sistem benam yang akan digunaka n sebagai rujukan aktifitas percobaan ini menggunakan sistem pengembang minimum dari keluarga Arduino™ yang berbasis pengendali mikro jenis 8-bit produksi Atmel.

Slstem benam berbasis keluarga Arduino memiliki banyak variasi, antara lain:
  1. Arduino DUEMELANOVE
  2. UNO
  3. MEGA
  4. LEONARDO
  5. NANO
  6. dll. 

Setiap varian memiliki fasilitas baik perangkat lunak maupun perangkat keras yang berbeda-beda. Alasan utama penggunaan sistem benam dari keluarga Arduino adalah:
  • harganya murah,
  • cross platform (Windows, Ubuntu, atau Macintosh)
  • pemrogramannya mudah
  • open source dan 
  • perangkat lunak/keras nya 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
Adalah perangkat keras elektronik yang terdapat sistem benam di dalamnya. Terdapat beberapa varian papan elektronik Arduino yang umum digunakan seperti ditunjukkan oleh Gambar 1.2 berikut ini.

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

Pada umumnya sistem benam berbasis Arduino menggunakan jenis pengendali mikro ATMEL AVR 8-bit, antara 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 Curie produksi INTEL.
Perkembangan perangkat keras Arduino sangatlah dinamis mengikuti keinginan pengguna yang menghendaki sebuah piranti elektronis serbaguna, mudah diprogram, harganya murah, dan memiliki fleksibilitas integrasi dengan piranti lain.

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

Tata letak dan penamaan pin masukan dan keluaran papan Ardu ino memiliki standar tersendiri,seperti yang ditunjukkan oleh Gambar 1.3 yang menunjukkan tata letak dan penamaan papan Arduino UNO.

Pada dasarnya penamaan pin Arduino berdasarkan karakteristiknya, yaitu:
  • input/output digital, dan 
  • input/output analog. 
Pin input/output AO - A7 secara khusus digunakan untuk membaca data analog, namun secara umum juga bisa digunakan untuk input/output data digital.

Selain itu terdapat pin 0, 1, 2, ...,n yang secara umum digunakan untuk input/output data digital. Maksimal nilai penomoran pin digital sesuai dengan jenis pengendali mikronya.

Untuk papan Arduino UNO, pin input/output digital antara  0 - 13. Pada beberapa pin digital terdapat penambahan tanda ~ di awal nomor, hal ini menunjukkan bahwa pin juga bisa digunakan untuk output analog (PWM - pulse width modulation). Adapun fungsi-fungsi khusus lain bisa dilihat secara jelas pada Gambar 1.3.

2. Arduino IDE
Sistem Arduino tidak hanya sebatas perangkat keras elektronik saja, namun juga terdapat perangkat lunak pengembang nya, dikenal dengan Arduino IDE (Integrated 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)
  • Mengisikan kode mesin hasil kompilasi ke dalam pengendali mikro Arduino

Selain melakukan tiga hal utama di atas, Arduino IDE juga memiliki fasilitas pendukung lain, antara lain: pembaharuan library secara daring yang akan memudahkan dalam penyusunan kode program, monitor komunikasi data serial, dan pengaturan koneksi dengan perangkat keras Arduino. Gambar 1.4 menunjukkan tampilan Arduino IDE.

Gbr. 1.4 Tampilan Arduino IDE dengan keterangan fungsi tiap bagiannya.

Kode-kode program yang ditulis pada editor teks Arduino IDE disebut dengan Sketch, dengan menggunakan platform dasar bahasa pemrograman C yang sudah disesuaikan untuk keperluan pengembangan sistem benam berbasis Arduino.

Status dan informasi proses kompilasi dapat dipantau pada bagian bagian bawan 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 untuk 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 variabel dan fungsi,deklarasi library, definisi pin input/output, dll. Di bawah ini contoh struktur dasar penyusunan kode program pada Arduino IDE.


Langkah Percobaan


Sebagai pengenalan sistem Arduino baik perangkat keras maupun perangkat  lunak, dilakukan uji coba pengoperasian fasilitas kedua piranti tersebut. Adapun langkah-langkah percobaannya yaitu:
  1. Menghubungkan papan Arduino dengan PC/Laptop melalui kabel USB.
    Pada tahap ini papan Arduino tidak perlu diberikan daya listrik melalui konektor power supply karena 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 (misal: motor servo, dll) maka harus diberikan daya listrik eksternal.
  2. Membuka aplikasi Arduino IDE.
    Setelah aplikasi Arduino IDE berhasil dijalankan, selanjutnya membuka contoh kode program (Blink.inc) yang sudah disediakan oleh Arduino IDE. Langkahnya:
    Sorot: File ⇒ Examples  01.BasicsBlink
  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: Tools ⇒ Board:"? " dan pilihjenis papan Arduino yang digunakan.
    Tahap selanjutnya adalah memilih port 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 papan Arduino.
    Setelah contoh kode program tertampil pada Sketch Editor, selanjutnya lakukan kompilasi kode program dengan menekan ikon kompilasi seperti yang terlihat pada Gambar 1.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 yang terlihat pada Gambar 1.4.
  5. Mengamati apa yang 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.inc) 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 papan Arduino.


Jawaban







Disqus comments