Assalamualaikum warahmatullahi wabarakatuh.
Pada pertemuan ini, kita akan mengenal praktik dasar elektronika dan mempelajari pemrograman mikrokontroler Arduino menggunakan simulator. Anda akan memahami penggunaan Tinkercad dan Wokwi sebagai alat bantu simulasi, serta melakukan praktik dengan Serial Monitor dan PWM.
Pembelajaran pemrograman Electronic Development Board (Arduino dan lainnya) dapat dilakukan dengan berbagai cara, salah satunya dengan simulasi. Simulasi membantu kita dalam memahami penggunaan board, rangkaian, pemrograman, dan komponen pendukukung lainnya. Terdapat beberapa platform yang dapat digunakan sebagai simulator yaitu Tinkercad, Wokwi, Proteus dan lain-lain.
Tinkercad adalah platform online milik Autodesk yang menyediakan simulasi rangkaian elektronika, desain 3D, dan coding mikrokontroler Arduino secara interaktif.
Wokwi adalah simulator berbasis web yang memungkinkan Anda mempraktikkan kode Arduino, ESP32, dan Raspberry Pi Pico dengan visualisasi real-time.
Arduino IDE adalah software resmi untuk menulis, mengunggah, dan memonitor kode pada board Arduino. IDE ini mendukung berbagai library dan contoh program.
Untuk menggunakan Tinkercad, Anda perlu membuat akun melalui situs resmi tinkercad.com menggunakan email aktif.
Tinkercad memiliki fitur Circuit untuk simulasi rangkaian, Code Editor untuk menulis program, serta Monitor Serial virtual.
Papan breadboard virtual disediakan untuk membantu menyusun rangkaian elektronika sebelum diimplementasikan ke perangkat fisik.
Anda dapat membuat simulasi Arduino dengan menambahkan board Arduino Uno ke workspace, menyusun rangkaian LED atau sensor, lalu menulis program dan menjalankan simulasi.
Gambar: Rangkaian dan kode program 1 LED berkedip
Gambar: Rangkaian dan kode program 3 LED berkedip
Gambar: Rangkaian dan kode program C++ 3 LED berkedip
Gambar: Skema rangkaian 3 red LED berkedip
Pada Arduino Uno terdapat 14 pin digital (0–13) dan 6 pin analog (A0–A5). Pin digital dapat digunakan sebagai input/output, sedangkan pin analog membaca nilai sensor analog.
Gambar: Pin digital dan analog dari Arduino Uno
Struktur dasar kode Arduino terdiri dari dua fungsi utama:
Contoh:
int LED_13 = 0;
void setup()
{
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(8, LOW);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(9, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(9, LOW);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(10, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(10, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
Serial Monitor adalah fitur pada Arduino IDE yang digunakan untuk melihat data yang dikirimkan oleh board Arduino secara real-time melalui port serial.
Gambar: Serial monitor dari Arduino IDE
Pada praktik ini, Anda akan membuat program sederhana yang menampilkan teks ke Serial Monitor, misalnya "Hello World".
Contoh kode: lihat gambar
Gambar: Serial monitor pada aplikasi Tinkercad
PWM adalah teknik untuk menghasilkan sinyal analog menggunakan output digital. Digunakan untuk mengatur kecerahan LED, kecepatan motor, dll.
PWM (Pulse Width Modulation) adalah teknik untuk menghasilkan sinyal analog menggunakan output digital. Dalam konteks Arduino, PWM digunakan untuk mengatur kecepatan motor, kecerahan LED, dan kontrol daya lainnya.
Arduino menggunakan fungsi analogWrite(pin, value) untuk mengirimkan sinyal PWM, di mana
value bernilai antara 0 (0% duty cycle) hingga 255 (100% duty cycle).
Tidak semua pin Arduino mendukung PWM karena memerlukan kompatibilitas dengan IC mikrokontroler tersebut. Pin PWM Arduino dituliskan dengan simbol ~ disamping nomor pin, diantaranya 3, 5, 6, 9, 10, 11.
Dalam tantangan ini, Anda diminta membuat simulasi menggunakan Arduino untuk mengatur kecerahan LED berdasarkan input potensio. Nilai dari potensiometer akan dibaca melalui pin analog dan diterjemahkan menjadi sinyal PWM untuk mengatur LED.
Gambar: Potensiometer terhubung dengan Arduino UNO
int ledPin = 9;
int potPin = A0;
int potValue = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
potValue = analogRead(potPin); // Baca potensiometer
int pwmValue = map(potValue, 0, 1023, 0, 255);
analogWrite(ledPin, pwmValue); // Kirim PWM ke LED
Serial.println(pwmValue); // Tampilkan nilai PWM
delay(100);
}
Simulasikan proyek ini menggunakan Tinkercad, amati perubahan kecerahan LED sesuai putaran potensiometer.
Buatlah rangkaian seperti berikut ini, kemudian buatlah program agar nyala kedua LED berlawanan saat potensiometer diubah nilainya.
Gambar: Rangkaian yang harus dibuat sebagai tantangan
Melalui pertemuan ini, Anda telah mengenal simulasi elektronika dengan Tinkercad, serta praktik dasar pemrograman mikrokontroler Arduino.