Pertemuan ke 11 : Praktik Pemrograman Microcontroller

Topik Bahasan

Proyek Dasar Internet of Things I (Praktik Pemrograman Mikrokontroler, Praktik Sensor: Sensor DHT11, LCD dan Kipas, Praktik Sensor: Ultrasonic, PIR, dan LDR, Praktik Aktuator: LED dan Relay, Praktik Aktuator: Buzzer dan Servo)

Deskripsi

  • Mampu melakukan instalasi, memahami bahasa pemrograman dan pin pada Arduino.
  • Mampu melakukan uji coba serial monitor dan uji coba PWM dengan potensiometer.
  • Mampu merancang dan membuat proyek menggunakan sensor DHT22.
  • Mampu merancang dan membuat proyek menggunakan sensor Ultrasonic, PIR, dan LDR.
  • Mampu merancang dan membuat proyek menggunakan aktuator LED dan Relay.
  • Mampu merancang dan membuat proyek menggunakan aktuator Buzzer dan Servo.

Teori Singkat

Arduino memiliki pin yang dapat bekerja sesuai dengan fungsinya. Pin pada Arduino dikelompokkan menjadi Pin Analog dan Pin Digital.

Pin Analog terdapat pada A0 – A5 yang digunakan untuk menghubungkan dengan sensor analog seperti LDR, potensiometer, sensor kelembaban tanah, dll.

Pin Digital terdapat pada pin 0 – 13 yang digunakan untuk input/output digital. Contoh input digital: Sensor DHT22, Sensor PIR, Sensor ultrasonik, dll. Contoh output digital: LED, relay, Servo, dll. img.png

PWM (Pulse Width Modulation) PWM merupakan suatu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo yang tetap.

PWM dapat dianggap sebagai kebalikan dari ADC (Analog to Digital Converter) yang dapat mengkonversi sinyal Analog ke Digital, PWM ini digunakan untuk menghasilkan sinyal analog dari perangkat Digital (contohnya dari Mikrokontroller). Sehingga keluaran tegangan (ouput) dari mikrokontroler dapat diatur.

img1.png

Penggunaan PWM (Pulse Width Modulation) PWM biasa digunakan untuk:

  • Mengatur kecerahan LED
  • Mengatur kecepatan motor DC
  • Menggunakan motor servo
  • Mengatur sistem pemanas
  • Mengatur kecepatan pompa
  • Telekomunikasi

img3.png

Pin Arduino PWM (Pulse Width Modulation) 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.

img4.png

Praktikum 1: Praktik Pulse Width Modulation(PWM) pada Arduino Output Berdasarkan Input Analog

Selesaikan langkah-langkah praktikum berikut ini menggunakan Tinkercad di browser Anda.

  1. Login dengan akun yang sudah dibuat.
  2. Klik Design, Circuit
  3. Klik Create New Circuit untuk membuat rangkaian baru.
  4. Tambahkan Arduino Uno R3 dengan klik Arduino Uno R3 pada bagian Components, lalu klik di bagian simulation space. Tambahkan juga Breadboard Small dan Potensiometer.

img5.png

  1. Buatlah rangkaian seperti pada gambar. Hubungkan kaki terminal 1 potensiometer dengan 5 volt, kaki wiper potensiometer dengan A0, kaki terminal 2 dengan ground. img6.png

  2. Masukkan kode program sesuai dengan gambar dengan klik Code. Ganti mode blocks menjadi mode text.

img7.png

  1. Klik Start Simulation untuk memulai simulasi. Klik potensiometer dan ubah dari posisi awal. Klik pada Serial Monitor, maka akan menampilkan nilai PWM sesuai posisi (nilai) potensiometer. img8.png

Praktikum 2: Praktik Pulse Width Modulation(PWM) pada Arduino dengan LED

Selesaikan langkah-langkah praktikum berikut ini menggunakan Tinkercad di browser Anda.

  1. Login dengan akun yang sudah dibuat.
  2. Klik Design, Circuit
  3. Klik Create New Circuit untuk membuat rangkaian baru.
  4. Tambahkan Arduino Uno R3 dengan klik Arduino Uno R3 pada bagian Components, lalu klik di bagian simulation space. Tambahkan juga Breadboard Small, Potensiometer, Resistor dan LED.
  5. Hubungkan semua seperti gambar.

img9.png

  1. Masukkan kode program sesuai dengan gambar dengan klik Code. Ganti mode blocks menjadi mode text.

img10.png

  1. Klik Start Simulation untuk memulai simulasi. Klik Potensiometer dan rubah posisinya (merubah nilai). LED akan semakin terang saat nilai potensio berada di kiri. LED semakin redup apabila nilai potensiometer berada di sebelah kanan. Klik Stop Simulation.

img11.png

Praktikum Instalasi IDE(optional)

  • Hubungkan board ESP32 ke PC menggunakan kabel USB. Jika driver perangkat tidak terinstal secara otomatis, identifikasi USB-to-UART bridge pada board ESP32 Anda. Cari driver di internet dan install.

    img13.png img14.png

  • Jika di Linux atau macOS cek port dengan perintah berikut.

    img15.png

  • Download Thonny https://thonny.org/ dan lakukan instalasi.

img16.png

  • Setelah selesai instalasi jalankan Thonny, tampilannya seperti gambar di bawah.

img17.png

Praktikum Flashing MicroPython Firmware(optional)

img18.png

  • Hubungkan ESP32 board ke computer. Buka Thonny IDE. Tools > Options > Interpreter. Pilih Interpreter yang akan digunakan pada board, pilih COM port kemudian pilih Install or Update Firmware.

img19.png

  • Pilih port sekali lagi. Pilih lokasi firmware yang sudah didownload. Tools > Options > Interpreter. Pilih pengaturan seperti pada gambar dan klik Install.

img20.png

  • Thonny dan board siap digunakan, bisa dicoba dengan ketik help.

img21.png

Praktikum Dasar Menyalakan dan mematikan LED

  • Duplikasi code berikut

img22.png

  • LED nyala dan mati

img23.png

Praktikum PWM Dim LED dengan Micropython

  • Buat skenario seperti gambar

img24.png

  • Untuk membuat objek PWM, Anda perlu memasukkan parameter, pin yang terhubung dengannya, frekuensi sinyal, dan siklus kerja.

  • Frekuensi: Frekuensi dapat berupa nilai antara 0 dan 78125. Frekuensi 5000 Hz dapat digunakan untuk mengontrol kecerahan LED. -Siklus kerja(Duty cycle): Siklus kerja dapat berupa nilai antara 0 dan 1023. Dimana 1023 menunjukkan siklus kerja 100% (kecerahan penuh), dan 0 menunjukkan siklus kerja 0% (LED tidak menyala).

  • Duplikasi code berikut

from machine import Pin, PWM 
from time import sleep

frequency = 5000
led = PWM(Pin(5), frequency) 

while True:
  for duty_cycle in range(0, 1024):
    led.duty(duty_cycle)
    sleep(0.005)

Tugas Mandiri

Selesaikan langkah-langkah praktikum berikut ini menggunakan Tinkercad di browser Anda.

Tugas 1

  • Tambahkan 1 buah LED. Buatlah program agar nyala kedua LED berlawanan saat potensiometer diubah nilainya.

img12.png

Tugas 2

  • Lakukan seperti tugas 1, dengan mengubah board ke esp32!

hasil yang cocok ""

    Tidak ada hasil yang cocok ""