Modul Ajar 1 - Dasar-Dasar Mikrokontroler
Berikut merupakan modul ajar materi Dasar-Dasar Mikrokontroler beserta LKPD.
📥 Download Modul Ajar 1
Untuk Siswa SMK Jurusan Teknik Audio Video Fase F
Mari jelajahi dunia teknologi dan inovasi melalui pembelajaran interaktif yang dirancang khusus untuk siswa SMK fase F. Di sini, kalian akan belajar memahami tentang dasar-dasar pemrograman, logika pemrograman, fungsi dan cara kerja mikrokontroler, serta aplikasinya di kehidupan sehari-hari.
Elemen Pemrograman dan Aplikasi Mikrokontroler pada fase F merupakan bagian dari kurikulum kejuruan di SMK, khususnya untuk program keahlian Teknik Audio Video (TAV). Elemen ini dirancang untuk membekali peserta didik dengan pengetahuan dan keterampilan dalam merancang, memrogram, serta menerapkan sistem berbasis mikrokontroler pada perangkat elektronik.
Melalui pelajaran ini, siswa mempelajari dasar-dasar pemrograman, penggunaan bahasa pemrograman tingkat tinggi (seperti C/C++ untuk Arduino), serta teknik pengendalian perangkat elektronik melalui mikrokontroler. Kompetensi yang dibangun mencakup pemahaman terhadap logika program, rangkaian elektronik, antarmuka sensor dan aktuator, hingga penerapan mikrokontroler dalam proyek nyata seperti sistem otomatisasi, audio elektronik, dan perangkat pintar.
Berikut merupakan modul ajar materi Dasar-Dasar Mikrokontroler beserta LKPD.
Berikut merupakan modul ajar materi Pemrograman Arduino UNO beserta LKPD.
Pada materi kali ini kita akan mempelajari berbagai hal tentang dasar-dasar mikrokontroler. Pembahasan dimulai dari pengertian mikrokontroler serta perbedaannya dengan mikroprosesor, lalu definisi Arduino, kelebihan Arduino dan jenis-jenis Arduino.
Mikroprosesor dan mikrokontroler adalah komponen internal perangkat elektronik. Mikroprosesor adalah unit pemrosesan yang sangat kecil di dalam CPU. Mikroprosesor adalah sirkuit terpadu tunggal pada chip komputer yang melakukan berbagai fungsi aritmatika dan logika pada sinyal digital. Beberapa lusin mikroprosesor bekerja sama di dalam server beperforma tinggi untuk pemrosesan data dan analitik.
Di sisi lain, mikrokontroler adalah unit komputasi dasar di dalam perangkat elektronik pintar, seperti mesin cuci dan termostat. Mikrokontroler adalah komputer yang sangat kecil dengan sistem RAM, ROM, dan I/O sendiri, semuanya tertanam pada satu chip. Mikrokontroler dapat memproses sinyal digital dan merespons input pengguna, tetapi kapasitas komputasinya terbatas.
Mikroprosesor dan mikrokontroler adalah chip komputer terpusat yang memberikan kecerdasan pada komputer pribadi dan perangkat elektronik. Keduanya dibuat dengan sirkuit terpadu semikonduktor dan berbagi bagian internal tertentu.
Mikroprosesor dan mikrokontroler adalah komponen semikonduktor yang dibuat di atas sirkuit terpadu. Sirkuit terpadu adalah chip persegi atau persegi panjang yang sangat kecil yang berisi ribuan atau bahkan jutaan komponen elektronik. Sirkuit terpadu memungkinkan rekayasawan untuk mengurangi ukuran sirkuit elektronik.
Baik mikroprosesor maupun mikrokontroler memiliki CPU. CPU adalah bagian terpusat dari chip komputer yang memproses instruksi yang disediakan oleh aplikasi atau firmware. CPU juga memiliki modul unit aritmatika logika (ALU) khusus. ALU menghitung nilai matematika dan mengevaluasi masalah logika berdasarkan instruksi komputer.
Register adalah modul memori yang digunakan CPU untuk diproses. CPU menyimpan instruksi atau data biner untuk sementara sebelum, selama, dan setelah diproses. Baik mikroprosesor maupun mikrokontroler dibuat dengan register internal meskipun mikrokontroler sering memiliki lebih banyak register daripada mikrokontroler
Meskipun mengambil bentuk chip komputer, mikroprosesor dan mikrokontroler dibuat dengan arsitektur yang berbeda. Mikroprosesor direkayasa dengan arsitektur von Neumann, tempat program dan data berada dalam modul memori yang sama. Sementara itu, mikrokontroler menggunakan arsitektur Harvard, yang memisahkan memori program dari ruang data.
Mikroprosesor memiliki komponen sirkuit yang lebih terpadu daripada mikrokontroler. Perbedaan arsitektur ini memengaruhi pertimbangan desain untuk mikroprosesor dan mikrokontroler dalam komputasi dan aplikasi sistem tertanam.
| Aspek | Mikroprosesor | Mikrokontroler |
|---|---|---|
| Memori | Membutuhkan memori eksternal dan penyimpanan data. | Modul memori on-chip (ROM, RAM). |
| Periferal | Membutuhkan bagian tambahan, terhubung dengan bus eksternal. | Periferal on-chip (timer, port I/O, konverter sinyal). |
| Kapasitas Komputasi | Mampu menangani tugas komputasi yang kompleks. | Terbatas pada logika aplikasi tertentu. |
| Kecepatan Clock | Sangat cepat (rentang GHz). | Cepat, tetapi lebih lambat dari mikroprosesor (kHz–MHz). |
| Penggunaan daya | Penggunaan daya tinggi. Tidak ada mode hemat daya. | Menggunakan daya minimal. Mode hemat daya bawaan. |
| Sistem operasi | Membutuhkan sistem operasi. | Sistem operasi bersifat opsional untuk beberapa mikrokontroler. |
| Konektivitas | Menangani transfer data berkecepatan tinggi. Mendukung USB 3.0 dan Gigabit Ethernet | Mendukung komunikasi kecepatan rendah hingga sedang. Antarmuka Periferal Serial (SPI) dan I²C. Pemancar penerima asinkron universal (UART). |
| Biaya | Mahal karena membutuhkan komponen tambahan. | Lebih murah karena satu sirkuit terpadu menyediakan berbagai fungsi. |
| Kasus penggunaan | Untuk komputasi generik, atau sistem yang membutuhkan kapasitas komputasi yang kuat. | Untuk sistem yang ringkas, bertenaga baterai, atau perangkat pemrosesan logika. |
Mikrokontroler merupakan sebuah komponen elektronik yang berfungsi sebagai pusat kendali dalam suatu sistem. Salah satu mikrokontroler yang paling banyak digunakan dalam pembelajaran maupun proyek elektronika adalah ATmega328P. Mikrokontroler ini termasuk dalam keluarga AVR 8-bit dan dikenal karena kemudahannya dalam pemrograman serta kestabilannya dalam berbagai aplikasi. ATmega328P digunakan sebagai inti dari board Arduino UNO, sehingga sangat familiar bagi pemula. Di dalam satu chip kecil ini sebenarnya sudah terdapat berbagai komponen penting seperti CPU (otak pemroses), memori, serta pin input dan output. Dengan adanya komponen-komponen tersebut, mikrokontroler mampu membaca data dari sensor, mengolahnya sesuai program, lalu memberikan output berupa aksi seperti menyalakan LED, menggerakkan motor, atau menampilkan data. Secara spesifikasi, ATmega328P bekerja dengan arsitektur 8-bit dan memiliki kecepatan hingga 16 MHz. Memori yang tersedia terdiri dari Flash sebesar 32 KB untuk menyimpan program, SRAM sebesar 2 KB untuk pengolahan data sementara, serta EEPROM sebesar 1 KB untuk penyimpanan data permanen. Selain itu, mikrokontroler ini juga dilengkapi dengan fitur ADC (Analog to Digital Converter) yang memungkinkan pembacaan sinyal analog dari sensor.
Agar mikrokontroler dapat bekerja dengan baik, diperlukan suatu rangkaian dasar yang disebut sebagai minimum sistem. Minimum sistem adalah rangkaian paling sederhana yang harus ada supaya mikrokontroler bisa menjalankan programnya. Tanpa rangkaian ini, ATmega328P tidak akan dapat berfungsi sebagaimana mestinya. Dalam minimum sistem, komponen pertama yang sangat penting adalah catu daya. Mikrokontroler membutuhkan tegangan, biasanya sebesar 5 volt, agar dapat aktif dan bekerja. Selain itu, diperlukan juga kristal oscillator yang berfungsi sebagai penentu kecepatan kerja sistem. Tanpa clock ini, mikrokontroler tidak memiliki “detak” untuk menjalankan instruksi program. Rangkaian reset juga menjadi bagian penting dalam minimum sistem. Dengan adanya tombol reset, pengguna dapat mengulang jalannya program dari awal ketika terjadi kesalahan atau saat ingin memulai ulang sistem. Di samping itu, biasanya ditambahkan kapasitor kecil sebagai penstabil tegangan agar sistem tidak terganggu oleh noise.
Hal lain yang tidak kalah penting adalah proses pemrograman. Untuk memasukkan program ke dalam ATmega328P, diperlukan alat bantu seperti programmer (misalnya USBasp) atau menggunakan Arduino sebagai perantara. Program yang sudah dibuat di komputer akan diunggah ke dalam memori mikrokontroler agar dapat dijalankan. Jika diperhatikan, board Arduino sebenarnya sudah menggabungkan semua komponen minimum sistem tersebut dalam satu papan. Oleh karena itu, Arduino sering digunakan sebagai alat belajar karena lebih praktis. Namun, dalam pembuatan produk nyata, penggunaan minimum sistem ATmega328P lebih disukai karena lebih hemat biaya dan dapat disesuaikan dengan kebutuhan. Dengan memahami ATmega328P dan minimum sistemnya, siswa tidak hanya mampu menggunakan Arduino, tetapi juga mengerti konsep dasar bagaimana sebuah sistem mikrokontroler bekerja dari tingkat paling sederhana hingga aplikasi yang lebih kompleks.
Arduino adalah platform elektronik open-source yang terdiri dari perangkat keras (hardware) berupa mikrokontroler dan perangkat lunak (software) berupa Arduino IDE. Arduino dirancang untuk memudahkan pembuatan proyek berbasis elektronik, baik untuk pemula maupun profesional.
Arduino mampu membaca inputan berupa sensor, tombol dan mengolahnya menjadi output seperti mengaktifkan motor, menyalakan LED dan sebagainya.
Arduino memiliki berbagai jenis papan mikrokontroler yang dirancang untuk kebutuhan yang berbeda-beda. Setiap jenis Arduino memiliki ukuran, jumlah pin, dan kemampuan yang berbeda. Beberapa jenis Arduino digunakan untuk pembelajaran dasar, sedangkan jenis lainnya digunakan untuk proyek yang lebih kompleks seperti robotika, Internet of Things (IoT), dan sistem otomatisasi.
Berikut ini adalah beberapa jenis board Arduino yang umum digunakan:
| Jenis Arduino | Keterangan Singkat |
|---|---|
| Arduino Uno | Board paling populer untuk pemula, cocok untuk belajar dasar mikrokontroler. |
| Arduino Leonardo | Memiliki kemampuan sebagai perangkat USB seperti keyboard atau mouse. |
| Arduino Mega 2560 | Memiliki banyak pin I/O, cocok untuk proyek besar dan kompleks. |
| Arduino LilyPad | Dirancang untuk wearable (pakaian pintar), berbentuk tipis dan fleksibel. |
| Arduino Mega ADK | Dapat terhubung dengan perangkat Android untuk kontrol dan komunikasi. |
| Arduino Fio | Digunakan untuk aplikasi wireless, mendukung modul XBee. |
| Arduino Ethernet | Memiliki port Ethernet untuk koneksi jaringan/internet. |
| Arduino Pro | Board kecil untuk sistem embedded, biasanya tanpa USB onboard. |
| Arduino BT | Dilengkapi modul Bluetooth untuk komunikasi nirkabel. |
| Arduino Nano | Ukuran kecil, cocok untuk proyek mini dan breadboard. |
| Arduino Mini | Versi lebih kecil dari Arduino, hemat ruang dan daya. |
| Arduino Pro Mini | Ukuran sangat kecil, cocok untuk proyek permanen dan hemat biaya. |
Disini kita akan mempelajari tentang apa itu Arduino UNO, struktur Arduino UNO, cara menginstall Software Arduino UNO, pengenalan software Arduino IDE dan contoh program sederhananya.
Arduino Uno adalah salah satu board mikrokontroler paling populer dalam ekosistem Arduino. Board ini berbasis ATmega328P dan sering digunakan dalam proyek elektronik, pemrograman mikrokontroler, serta Internet of Things (IoT).
Arduino Uno terdiri dari berbagai bagian utama yang memiliki fungsi masing-masing. Berikut adalah beberapa bagian utama yang terdapat pada Arduino Uno:
| Bagian | Fungsi |
|---|---|
| Mikrokontroler | Pusat pengolah data dan menjalankan program yang telah diunggah. |
| Digital Input/Output | Digunakan untuk membaca dan mengirim sinyal digital seperti LED atau tombol. |
| PWM | Menghasilkan sinyal analog semu untuk mengatur kecerahan LED atau kecepatan motor. |
| Analog Input | Membaca sinyal analog dari sensor seperti sensor suhu atau potensiometer. |
| USB Connection | Menghubungkan Arduino dengan komputer untuk upload program dan sumber daya. |
| DC Power | Sumber tegangan dari adaptor atau baterai. |
| Voltage Regulator | Menstabilkan tegangan agar sesuai kebutuhan Arduino. |
| Power LED | Indikator bahwa Arduino mendapatkan sumber listrik. |
| TX dan RX LED | Indikator proses komunikasi data Arduino dengan komputer. |
| Reset Button | Mengulang kembali program dari awal. |
| Ground (GND) | Jalur negatif atau referensi tegangan. |
| Pin 5V dan 3.3V | Memberikan tegangan keluaran ke sensor atau modul. |
| AREF | Referensi tegangan untuk pembacaan analog. |
Dengan memahami struktur Arduino Uno, siswa dapat mengetahui fungsi setiap bagian sehingga lebih mudah dalam merancang rangkaian berbasis mikrokontroler.
Download Software Arduino
https://www.arduino.cc/en/Main/Software
Ikuti langkah-langkah berikut:
IDE Arduino (Integrated Development Environment) adalah perangkat lunak yang digunakan untuk menulis, mengedit, mengompilasi, dan mengunggah kode ke board mikrokontroler Arduino. IDE ini mendukung bahasa pemrograman berbasis C/C++ dan menyediakan berbagai fitur untuk mempermudah pengembangan proyek elektronik berbasis Arduino.
Berikut adalah beberapa menu yang ada di software Arduino IDE beserta penjelasannya:
Digunakan untuk memberikan catatan atau penjelasan dalam kode, tanpa mempengaruhi jalannya program.
// Ini adalah komentar satu baris
Jika program menggunakan library tambahan, harus dimasukkan di awal dengan #include.
#include <Wire.h> // Library untuk komunikasi I2C #include <LiquidCrystal.h> // Library untuk LCD
Digunakan untuk menyimpan data yang akan digunakan dalam program.
int ledPin = 13; // Variabel untuk menyimpan pin LED const int sensorPin = A0; // Konstanta untuk pin sensor
Fungsi ini akan dieksekusi sekali saat Arduino dinyalakan atau di-reset. Biasanya digunakan untuk inisialisasi pin, sensor, komunikasi serial, dan sebagainya.
void setup() {
pinMode(ledPin, OUTPUT); // Mengatur pin 13 sebagai output
Serial.begin(9600); // Memulai komunikasi serial dengan baud rate 9600
}
Fungsi ini akan dijalankan berulang kali selama Arduino menyala. Biasanya digunakan untuk membaca sensor, mengontrol aktuator, atau melakukan proses lainnya.
void loop() {
digitalWrite(ledPin, HIGH); // Menyalakan LED
delay(1000); // Tunggu 1 detik
digitalWrite(ledPin, LOW); // Mematikan LED
delay(1000); // Tunggu 1 detik
}
| int led = 7; | Mendeklarasikan variabel led dengan nilai 7, yang berarti LED akan dihubungkan ke pin digital nomor 7 pada board Arduino. |
| void setup() { | setup() adalah fungsi yang akan dijalankan sekali saat Arduino pertama kali dinyalakan atau di-reset. |
| pinMode(led, OUTPUT); } | Mengatur pin 7 sebagai output, sehingga bisa mengontrol LED (menghidupkan atau mematikan). |
| void loop() { | loop() adalah fungsi yang akan berjalan terus-menerus selama Arduino menyala. |
| digitalWrite(led, HIGH); | Menyalakan LED (mengirim sinyal HIGH atau 5V ke pin 7). |
| delay(2000); | Menunggu 2 detik (2000 milidetik). |
| digitalWrite(led, LOW); | Mematikan LED (mengirim sinyal LOW atau 0V ke pin 7). |
| delay(1000); } | Menunggu 1 detik sebelum siklus diulang kembali. |
Berikut beberapa video pembelajaran untuk membantu memahami materi.
Video pembelajaran ini menjelaskan cara menginstall Arduino IDE untuk pemrograman mikrokontroler.
Video pembelajaran ini membahas fitur-fitur utama pada Arduino IDE dan cara Installasi Driver untuk Port Arduino.
Video pembelajaran ini menjelaskan contoh program sederhana LED pada Arduino, dan penjelasan fungsi tiap barisnya.
void setup() {
pinMode(13, INPUT);
}
void loop() {
digitalWrite(13, HIGH);
}
LED tidak menyala. Analisis yang PALING tepat adalah...
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
}
LED menyala terus tanpa berkedip. Analisis penyebabnya adalah...
Perhatikan gambar berikut!
Arduino tidak terdeteksi di Arduino IDE saat proses upload. Kabel sudah terhubung.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
}
LED hanya menyala terus dan tidak mati. Analisis yang PALING tepat adalah...
void setup() {
}
void loop() {
digitalWrite(13, HIGH);
}
LED tidak menyala.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
digitalWrite(13, LOW);
}
LED tidak terlihat berkedip.Perhatikan gambar berikut:
Terjadi error seperti pada gambar diatas meskipun kabel USB terpasang.