Materi Pembelajaran SMK Jurusan Teknik Audio Video
Bab: Membuat Program Aplikasi Sederhana Sistem Pengendali Mikrokontroler
1. Identitas Bab
Judul Bab: Membuat Program Aplikasi Sederhana Sistem Pengendali Mikrokontroler
Kelas: XI SMK Teknik Audio Video (TAV)
Capaian Pembelajaran (CP):
Siswa mampu memahami konsep dasar pemrograman mikrokontroler.
Siswa mampu membuat aplikasi sederhana untuk mengendalikan perangkat elektronik.
Siswa menunjukkan sikap teliti, disiplin, dan keselamatan kerja dalam setiap aktivitas.
2. Tujuan Pembelajaran (ATP)
Setelah mempelajari bab ini, diharapkan siswa mampu:
Menjelaskan fungsi dasar mikrokontroler dalam berbagai sistem pengendali.
Menulis kode program sederhana menggunakan lingkungan pengembangan terpadu (IDE) seperti Arduino IDE.
Mengimplementasikan dan menguji program pada rangkaian nyata dengan perangkat seperti LED, motor DC, dan berbagai sensor.
Membuat laporan hasil praktikum secara sistematis dan komprehensif.
3. Materi Inti
A. Pengenalan Mikrokontroler
Mikrokontroler adalah komputer kecil dalam satu chip yang dirancang untuk mengendalikan fungsi spesifik dari sistem yang lebih besar.
Apa itu Mikrokontroler?
Pengertian dasar, perbedaan dengan mikroprosesor.
Komponen utama mikrokontroler: CPU, Memori (Flash, SRAM, EEPROM), Port I/O.
Contoh Platform Mikrokontroler Populer:
Arduino: Platform open-source yang populer untuk pemula, mudah digunakan, dan memiliki komunitas besar.
Contoh: Arduino Uno, Arduino Mega.
ESP32: Mikrokontroler dengan kemampuan Wi-Fi dan Bluetooth terintegrasi, cocok untuk aplikasi IoT.
STM32: Mikrokontroler performa tinggi yang banyak digunakan di industri.
Penerapan Mikrokontroler:
Sistem otomasi rumah (Smart Home).
Robotika.
Kendaraan otomatis.
Peralatan medis.
Sistem keamanan.
B. Bahasa Pemrograman Dasar (C/C++ untuk Arduino)
Arduino IDE menggunakan bahasa pemrograman yang berbasis C/C++, tetapi disederhanakan dengan fungsi-fungsi khusus untuk mikrokontroler.
Dasar-dasar Sintaks:
Variabel: Tipe data (int, float, char, boolean), deklarasi dan inisialisasi.
Operator: Aritmatika (+, -, *, /), perbandingan (==, !=, <, >, <=, >=), logika (&&, ||, !).
Kondisi (Percabangan): if, else if, else.
Perulangan: for, while, do-while.
Fungsi-fungsi Penting pada Arduino:
pinMode(): Mengatur pin sebagai input atau output.
digitalWrite(): Mengatur nilai HIGH atau LOW pada pin digital.
digitalRead(): Membaca nilai dari pin digital (HIGH/LOW).
analogRead(): Membaca nilai analog dari pin analog (0-1023).
delay(): Menunda eksekusi program selama waktu tertentu (dalam milidetik).
Serial.begin(), Serial.print(), Serial.println(): Untuk komunikasi serial (debugging dan data).
C. Struktur Program Arduino: setup() dan loop()
Setiap program Arduino memiliki dua fungsi utama:
void setup():
Fungsi ini dieksekusi satu kali saat mikrokontroler pertama kali dinyalakan atau direset.
Digunakan untuk inisialisasi: mengatur mode pin (pinMode), memulai komunikasi serial (Serial.begin), atau menginisialisasi perangkat lain.
void loop():
Fungsi ini dieksekusi berulang-ulang setelah fungsi setup() selesai.
Berisi logika utama program yang akan dijalankan secara terus-menerus.
Contoh: membaca sensor, mengendalikan aktuator, memperbarui status.
D. Contoh Aplikasi Sederhana
Menyalakan LED (Blink):
Dasar untuk memahami output digital.
Kode untuk menyalakan dan mematikan LED secara berkala.
Membaca Sensor (Misal: Sensor Suhu LM35):
Dasar untuk memahami input analog.
Membaca nilai dari sensor dan menampilkannya di Serial Monitor.
Mengendalikan Motor DC:
Menggunakan driver motor (misal: L298N) untuk mengendalikan arah dan kecepatan motor DC.
Aplikasi sederhana: motor berputar maju dan mundur.
4. Praktikum
A. Alat dan Bahan
Papan Mikrokontroler Arduino Uno R3
Kabel USB Type A to B (untuk Arduino Uno)
Komputer/Laptop dengan Arduino IDE terinstal
Breadboard
LED (merah, kuning, hijau)
Resistor (220 Ohm)
Kabel Jumper Male to Male
Motor DC kecil (5V atau 12V)
Driver Motor DC (misal: L298N Module)
Sensor Suhu LM35
Adaptor daya eksternal (jika diperlukan untuk motor DC)
B. Langkah Kerja
Instalasi Arduino IDE:
Unduh dan instal Arduino IDE dari situs resmi arduino.cc.
Pastikan driver USB Arduino terinstal dengan benar (biasanya otomatis).
Pilih board Arduino Uno dan port serial yang terhubung di Arduino IDE.
Menulis Program Menyalakan LED (Blink):
Rangkai sirkuit LED sederhana: Pin Digital (misal: Pin 13) -> Resistor 220 Ohm -> LED (kaki Anoda) -> Kaki Katoda LED -> GND.
Buka Arduino IDE dan tulis kode berikut:
C++
void setup() {
pinMode(13, OUTPUT); // Mengatur Pin 13 sebagai output
}
void loop() {
digitalWrite(13, HIGH); // Menyalakan LED
delay(1000); // Tunda 1 detik
digitalWrite(13, LOW); // Mematikan LED
delay(1000); // Tunda 1 detik
}
Verifikasi dan unggah program ke Arduino Uno.
Amati perilaku LED.
Membaca Sensor Suhu LM35 dan Menampilkan di Serial Monitor:
Rangkai sirkuit LM35: Pin VCC LM35 ke 5V Arduino, Pin GND LM35 ke GND Arduino, Pin Vout LM35 ke Pin Analog A0 Arduino.
Tulis kode berikut:
C++
void setup() {
Serial.begin(9600); // Memulai komunikasi serial pada baud rate 9600
}
void loop() {
int sensorValue = analogRead(A0); // Membaca nilai dari pin analog A0
// Konversi nilai analog (0-1023) ke tegangan (0-5V)
float voltage = sensorValue * (5.0 / 1023.0);
// Konversi tegangan ke suhu dalam Celcius untuk LM35 (10mV per derajat Celcius)
float temperatureC = voltage * 100;
Serial.print("Suhu: ");
Serial.print(temperatureC);
Serial.println(" °C");
delay(1000); // Tunda 1 detik
}
Verifikasi dan unggah program.
Buka Serial Monitor di Arduino IDE dan amati pembacaan suhu.
Mengendalikan Motor DC:
Rangkai driver motor L298N:
Input driver (misal: IN1, IN2) ke pin digital Arduino (misal: Pin 9, Pin 10).
Output driver (OUT1, OUT2) ke terminal motor DC.
VCC driver ke power supply eksternal (misal: 9V atau 12V) atau 5V Arduino jika motor kecil.
GND driver ke GND Arduino dan GND power supply eksternal.
Tulis kode berikut:
C++
int motorPin1 = 9; // Pin kontrol motor 1
int motorPin2 = 10; // Pin kontrol motor 2
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println("Motor Maju");
digitalWrite(motorPin1, HIGH); // Motor berputar maju
digitalWrite(motorPin2, LOW);
delay(3000); // Berputar 3 detik
Serial.println("Motor Mundur");
digitalWrite(motorPin1, LOW); // Motor berputar mundur
digitalWrite(motorPin2, HIGH);
delay(3000); // Berputar 3 detik
Serial.println("Motor Berhenti");
digitalWrite(motorPin1, LOW); // Motor berhenti
digitalWrite(motorPin2, LOW);
delay(3000); // Berhenti 3 detik
}
Verifikasi dan unggah program.
Amati perilaku motor DC.
Membuat Laporan Hasil Praktikum:
Dokumentasikan setiap langkah kerja, hasil pengujian, dan analisis.
C. Format Laporan Praktikum
Judul Praktikum: (Sesuai topik)
Tujuan Praktikum: Apa yang ingin dicapai dari praktikum ini.
Alat dan Bahan: Daftar lengkap alat dan komponen yang digunakan.
Langkah Kerja: Deskripsi langkah-langkah perangkaian dan pemrograman secara detail.
Kode Program: Lampirkan kode program yang digunakan.
Hasil Percobaan: Jelaskan dan sertakan bukti (foto/video) dari hasil pengujian (misal: LED menyala, pembacaan suhu, putaran motor).
Analisis Data: Diskusikan hasil yang diperoleh, kendala yang dihadapi, dan bagaimana cara mengatasinya.
Kesimpulan: Ringkasan singkat mengenai apa yang telah dipelajari dan dicapai.
5. Evaluasi
A. Soal Pilihan Ganda
Manakah dari berikut ini yang BUKAN merupakan komponen utama mikrokontroler? a. CPU b. Memori c. Monitor d. Port I/O
Fungsi setup() pada program Arduino akan dieksekusi sebanyak... a. Berulang-ulang b. Satu kali c. Dua kali d. Tergantung kondisi
Untuk mengatur sebuah pin sebagai output pada Arduino, fungsi yang digunakan adalah... a. digitalRead() b. analogWrite() c. pinMode() d. delay()
Jika kita ingin menunda eksekusi program selama 2 detik, kita akan menggunakan delay() dengan parameter... a. 2 b. 20 c. 200 d. 2000
Platform mikrokontroler yang dikenal open-source dan mudah untuk pemula adalah... a. STM32 b. ESP32 c. Arduino d. Raspberry Pi
B. Soal Uraian
Jelaskan perbedaan mendasar antara fungsi setup() dan loop() dalam program Arduino. Berikan contoh penggunaannya masing-masing.
Bagaimana cara kerja mikrokontroler dalam mengendalikan perangkat seperti LED? Jelaskan langkah-langkah dari penulisan kode hingga LED menyala.
Sebutkan tiga contoh aplikasi mikrokontroler dalam kehidupan sehari-hari yang berkaitan dengan jurusan Teknik Audio Video.
C. Studi Kasus
Buatlah program Arduino dan deskripsikan rangkaian sederhananya untuk kasus berikut:
"Rancang sebuah sistem pengendali otomatis yang akan menyalakan kipas (disimulasikan dengan LED atau motor DC kecil) jika suhu lingkungan lebih besar dari 30°C, dan mematikan kipas jika suhu kurang dari atau sama dengan 30°C. Gunakan sensor suhu LM35 dan tampilkan pembacaan suhu serta status kipas di Serial Monitor."
6. Penutup
Ringkasan Materi: Dalam bab ini, kita telah mempelajari konsep dasar mikrokontroler sebagai "otak" pengendali perangkat elektronik. Kita juga telah memahami struktur dasar program Arduino dengan fungsi setup() untuk inisialisasi dan loop() untuk logika utama yang berulang. Melalui praktikum, kita berhasil membuat aplikasi sederhana seperti menyalakan LED, membaca sensor suhu, dan mengendalikan motor DC. Keterampilan ini adalah fondasi penting dalam dunia elektronika dan otomasi.
Motivasi: Pemrograman mikrokontroler adalah gerbang awal untuk memahami dan menciptakan teknologi di era digital. Penguasaan materi ini akan menjadi dasar yang kuat untuk mendalami bidang-bidang menarik seperti Internet of Things (IoT), robotika, sistem otomatisasi industri, dan pengembangan perangkat cerdas lainnya. Teruslah berkreasi dan jangan takut mencoba hal-hal baru! Masa depan teknologi ada di tangan kalian.