LA M3 Up & Uc





  1. Rangkai semua komponen pada breadboard yang terhubung ke  Raspberry Pi Pico.
  2. Hubungkan Raspberry Pi Pico dengan aplikasi Thony IDE menggunakan kabel  USB.
  3. Build program yang telah dibuat, lalu inputkan program ke dalam mikrokontroler melalui stlink.
  4. Setelah program diinputkan, uji rangkaian yang telah dirangkai sesuai dengan output yang ditentukan.
  5. Selesai.

2. Alat dan Bahan [Kembali]

 Hardware
1) Laptop yang sudah terinstal Software Thonny 
2) Port sambungan kabel dari laptop ke Raspberry Pi Pico(USB)

3) White Board atau Project Board
4) Raspberry Pi Pico
5) Potensiometer

6) Motor Servo 

7) Jumper
  8) LCD

Diagram Blok :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian


Prinsip Kerja : 

Berdasarkan gambar rangkaian yang ditampilkan, sistem ini menggunakan Raspberry Pi Pico sebagai pusat kendali utama yang mengatur kerja potensiometer, motor servo, dan LCD melalui jalur komunikasi dan kontrol masing-masing. Raspberry Pi Pico membaca input analog dari potensiometer melalui salah satu pin ADC (Analog to Digital Converter). Potensiometer berfungsi sebagai sensor input yang mengubah posisi putarannya menjadi sinyal tegangan analog. Tegangan ini kemudian dikonversi oleh mikrokontroler menjadi nilai digital yang mewakili sudut tertentu. Nilai sudut ini digunakan untuk mengatur posisi motor servo. Raspberry Pi Pico menghasilkan sinyal PWM (Pulse Width Modulation) dari salah satu pin digitalnya, yang dikirim ke pin sinyal pada motor servo. Motor servo kemudian merespons sinyal PWM tersebut dengan mengubah posisi porosnya sesuai dengan lebar pulsa yang diterima, yang mencerminkan nilai sudut dari potensiometer.

Selain mengendalikan servo, Raspberry Pi Pico juga mengirimkan informasi sudut tersebut ke LCD menggunakan protokol komunikasi I2C melalui dua jalur yaitu SDA dan SCL. Modul LCD berperan sebagai slave I2C yang menerima data karakter dari mikrokontroler untuk ditampilkan di layar. Dengan demikian, sistem ini bekerja secara terintegrasi di mana potensiometer sebagai input menghasilkan nilai tegangan, Raspberry Pi Pico memproses dan menerjemahkan nilai tersebut menjadi sinyal kontrol untuk motor servo, sekaligus menampilkan nilai sudutnya secara real-time pada layar LCD. 

4. Flowchart dan Listing Program [Kembali]

Flowchart


Listing Program

from machine import Pin, ADC, PWM, I2C from pico_i2c_lcd import I2cLcd import utime # 1. Setup Potensiometer (GP26 = ADC0) pot = ADC(Pin(26)) # 2. Setup Servo (GP15) servo = PWM(Pin(15)) servo.freq(50) # Frekuensi PWM standar servo # 3. Setup LCD I2C 16x2 I2C_ADDR = 0x27 # Alamat I2C LCD, bisa 0x3F tergantung modul I2C_NUM_ROWS = 2 I2C_NUM_COLS = 16 i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # GP0=SDA, GP1=SCL
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS) # Fungsi untuk mapping nilai def map_value(x, in_min, in_max, out_min, out_max): return (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min # Kalibrasi servo SERVO_MIN_DUTY = 1500 # Duty cycle untuk 0° SERVO_MAX_DUTY = 7500 # Duty cycle untuk 180° while True: # Baca nilai potensiometer pot_value = pot.read_u16() # Konversi ke sudut 0-180° angle = map_value(pot_value, 0, 65535, 0, 180) # Konversi sudut ke duty cycle duty = map_value(angle, 0, 180, SERVO_MIN_DUTY, SERVO_MAX_DUTY) servo.duty_u16(duty) # Tampilkan di LCD lcd.clear() lcd.putstr("Sudut Servo:") lcd.move_to(0, 1) lcd.putstr(f"{angle} derajat") utime.sleep_ms(200) # Delay untuk mengurangi flicker

5. Video Penjelasan [Kembali]




6. Analisa [Kembali]

Soal analisa : 
1. Analisa bagaimana konfigurasi rangkaian dan program dari percobaan yang telah dilakukan!
jawab:

Pada percobaan 6, rasspberry pi pico digunakan sebagai motor I2C yang membaca nilai potensiometer melalui pin ADC dan mengatur posisi servo menggunakan PWM. Data sudut servo kemudian ditampilkan pada LCD kumunikasi I2C terjadi melalui pin SDA dan SCL dan dari program tersebut potensiometer dirubah menjadi sudut dikonversi ke bentuk teks, lalu dikirimkan dan ditampilkan di LCD

2. Jelaskan bagaimana proses yang terjadi pada percobaan (UART Dan I2C)! 
jawab:

UART merupakan kumonikasi serial yang bersifat asynchronous, menggunakan 2 jalur yaitu Tx dan Rx tanpa sinyal clock. UART digunakan untuk mengirim data berupa dari STM32 ke rasspberry pi pico, sementara itu I2C merupakan komunikasi serial synchronous yang menggunakan 2 jalur yaitu SDA dan SCL dengan sistem master slave. Dalam percobaan ini ,rasspberry pi pico bertindak sebagai master yang mengirim data ke LCD sebagai slave. Data yang diterima melalui UART dari STM32 kemudian diteruskan ke LCD melalui protokol I2C untuk ditampilkan.

3. Jelaskan bagaimana proses data dikirimkan hingga dapat tampil sebagai karakter LCD! 
jawab:

Dimulai dari pembacaan nilai analog potensiometer oleh rasspberry pi pico melalui pin ADC. Nilai tersebut kemudian dikonversi menjadi sudut servo dan dirubah ke format teks. Selanjutnya ,data teks ini dikirim ke LCD menggunakan protokol I2C. LCD menerima data tersebut melalui jalur SDA dan SCL, lalu menampilkannya dalam bentuk karakter sesuai posisi yang diatur di layar LCD.


HTML↠ klik disini
Video↠ klik disini
Listing Program↠ klik disini

Datasheet:

Resistor↠ klik disini
Raspberry Pi Pico↠ klik disini
Push Button↠ klik disini
Motor Servo↠ klik disini
STM32F103C8↠ klik disini
LED↠ klik disini

Komentar

Postingan populer dari blog ini

MODUL 1 Up & Uc

TUGAS BESAR SISTEM DIGITAL

M1 - Tugas Pendahuluan Up & Uc