1. Prosedur [kembali]
- Siapkan alat dan bahan seperti, STM32 Bluepill, PIR Sensor, Sensor LDR, push button, LED, Fan, resistor, breadboard, dan jumper.
- Rangkai komponen sesuai gambar rangkaian pada modul serta hubungkan komunikasi SPI antara 2 Bluepill.
- Buka STM32CubeIDE lalu buat project.
- Lakukan konfigurasi GPIO dan SPI sesuai pengaturan pada modul kemudian Generate Code.
- Masukkan listing program transmitter pada project Bluepill dan listing program receiver pada project Bluepill sesuai modul.
- Hubungkan kedua board STM32 ke laptop menggunakan kabel USB.
- Build dan Run program pada STM32CubeIDE.
- Uji LDR Sensor dan button dan amati kondisi fan dan LED apakah bekerja sesuai program.
2. Hardware dan Diagram Blok[kembali]
Hardware
STM32 F103C8T6
Sensor LDR
Push button
LED
Fan
Jumper
Breadboard
Blok Diagram
3. Rangkaian Simulasi Dan Prinsip Kerja [kembali]
Rangkaian Simulasi
Read_LDR(), kemudian membandingkan hasilnya dengan nilai threshold 1500, jika nilai ADC kurang dari 1500 yang berarti kondisi gelap maka txData[1] diisi nilai 1, dan jika push button ditekan (logika LOW) maka txData[0] diisi nilai 1. Kedua byte data tersebut kemudian dikirimkan ke Slave melalui jalur SPI (MOSI) menggunakan fungsi HAL_SPI_Transmit()
setiap 200ms dengan konfigurasi Mode 0 (CPOL=LOW, CPHA=1Edge), MSB
first, dan NSS Hard Output untuk mengaktifkan Slave secara otomatis.
Pada sisi Slave, data diterima melalui fungsi HAL_SPI_Receive() dan diproses untuk mengontrol dua aktuator, yaitu jika rxData[1] = 1 maka LED pada pin PB0 dinyalakan sebagai respons terhadap kondisi gelap yang terdeteksi LDR, dan jika rxData[0] = 1
maka relay pada pin PB1 diaktifkan (logika LOW) untuk menghidupkan fan
sebagai sistem ventilasi greenhouse yang dikendalikan oleh push button.- Ketika Lm35 mendeteksi maka kipas akan on
- Ketika lm 35 tidak mendeteksi maka kipas akan off
- Ketika push button diberi interupt maka kipas akan otomatis off
4. Flowchart dan Listing Program [kembali]
Listing Program
- Master
- Slave
5. Video Simulasi[kembali]
6. Analisa [kembali]
Jawaban:
1. Konfigurasi rangkaian pada percobaan komunikasi antar mikrokontroler dilakukan dengan menghubungkan pin komunikasi antara master dan slave sesuai protokol yang digunakan, seperti TX-RX pada UART, MOSI-MISO-SCK-SS pada SPI, serta SDA-SCL pada I2C. Pada program, mikrokontroler dikonfigurasi menggunakan inisialisasi parameter komunikasi seperti baudrate, mode komunikasi, alamat slave, clock polarity, dan clock phase agar proses pengiriman serta penerimaan data dapat berjalan dengan baik
2. Proses komunikasi pada percobaan dilakukan dengan pertukaran data antara mikrokontroler master dan slave menggunakan protokol UART, SPI, atau I2C. Pada UART, data dikirim secara serial melalui pin TX dan diterima melalui RX tanpa clock sinkronisasi. Pada SPI, master mengendalikan komunikasi menggunakan sinyal clock dan mengirim data melalui MOSI serta menerima melalui MISO. Pada I2C, komunikasi menggunakan dua jalur yaitu SDA dan SCL dengan sistem addressing untuk memilih slave yang dituju.
3. Kesalahan pengiriman data dapat disebabkan oleh beberapa faktor seperti baudrate yang tidak sama, koneksi kabel yang kurang baik, noise pada jalur komunikasi, kesalahan konfigurasi clock, buffer overflow, serta sinkronisasi data yang tidak sesuai. Selain itu, program yang kurang tepat dalam proses pembacaan dan pengiriman data juga dapat menyebabkan data corrupt atau tidak terbaca
4. Konfigurasi parameter komunikasi harus sama antara master dan slave agar proses sinkronisasi data berjalan dengan benar. Pada UART, baudrate yang berbeda menyebabkan data diterima tidak sesuai sehingga karakter menjadi rusak atau error. Pada SPI, clock polarity (CPOL) dan clock phase (CPHA) harus sama agar slave membaca data pada tepi clock yang benar. Jika konfigurasi berbeda, maka bit data dapat bergeser atau terbaca salah sehingga komunikasi gagal.
5. Data sensor atau input yang dibaca mikrokontroler akan diproses terlebih dahulu sebelum dikirim melalui sistem komunikasi ke mikrokontroler lain atau perangkat output. Nilai input tersebut mempengaruhi respon output yang dihasilkan, misalnya ketika sensor mendeteksi perubahan nilai tertentu maka mikrokontroler akan mengirim data untuk menyalakan LED, mengaktifkan buzzer, atau menampilkan informasi pada LCD. Semakin akurat data input yang diterima, maka respon output yang dihasilkan juga akan semakin sesuai dengan kondisi sistem.
- Download Video Penjelasan Rangkaian (klik disini)
- Download Datasheet Resistor (klik disini)
- Download Datasheet LED (klik disini)
- Datasheet STM32F103C8T6 (klik disini)
- Datasheet sensor LDR (klik disini)
- Datasheet fan (klik disini)
- Datasheet button (klik disini)



Tidak ada komentar:
Posting Komentar