TP 2
1. Persiapan Alat dan Bahan
Sesuai modul :
- STM32 Nucleo G474RE
- Sensor LDR
- Motor Servo
- Push Button
- Breadboard
- Adaptor / supply
2. Perancangan Rangkaian
Buat rangkaian seperti gambar yang kamu kirim:
- LDR → PA0 (ADC)
- Servo → PA6 (PWM TIM3)
- Push button → PB1 (input)
- VCC dan GND terhubung dengan benar
3. Konfigurasi Sistem
Lakukan konfigurasi:
- ADC untuk membaca nilai LDR
- PWM (TIM3) untuk mengontrol posisi servo
- GPIO untuk tombol
4. Penentuan Kondisi Cahaya
Tambahkan 3 kategori intensitas cahaya dari nilai ADC
5. Algoritma Sistem
Alur kerja:
- Baca nilai LDR dari ADC
- Bandingkan dengan threshold
-
Tentukan posisi servo:
- Gelap → masuk atap
- Sedang → setengah
- Terang → keluar
- Kirim PWM ke servo
- Ulangi terus
b. Hardware dan Diagram Blok[Kembali]
HARDWARE
Microcontroller | STM32G474RE (ARM Cortex-M4F) |
Operating Voltage | 3.3 V |
Input Voltage (recommended) | 5 V via USB (ST-LINK) atau 7–12 V via VIN |
Input Voltage (limit) | 4.5 – 15 V (VIN board Nucleo) |
Digital I/O Pins | ±51 GPIO pins (tergantung konfigurasi fungsi) |
PWM Digital I/O Pins | Hingga 24 channel PWM (advanced, general-purpose, dan high-resolution timers) |
Analog Input Pins | Hingga 24 channel ADC (12-bit / 16-bit dengan oversampling) |
DC Current per I/O Pin | Maks. 20 mA per pin (disarankan ≤ 8 mA) |
DC Current for 3.3V Pin | Hingga ±500 mA (tergantung regulator & sumber daya) |
Flash Memory | 512 KB internal Flash |
SRAM | 128 KB SRAM (termasuk CCM RAM) |
Clock Speed | Hingga 170 MHz |
- Sensor LDR
Spesifikasi Sensor Cahaya LDR
1. Supply : 3.3 V – 5 V (arduino available)
2. Output Type: Digital Output (0 and 1)
3. Inverse output
4. Include IC LM393 voltage comparator
5. Sensitivitasnya dapat diatur
6. Dimensi PCB size: 3.2 cm x 1.4 cm
Modul sensor cahaya ini memudahkan Anda dalam menggunakan sensor LDR (Light Dependent Resistor) untuk mengukur intensitas cahaya. Modul LDR ini memiliki pin output analog dan pin output digital dengan label AO dan DO pada PCB. Nilai resistansi LDR pada pin analog akan meningkat apabila intensitas cahaya meningkat dan menurun ketika intensitas cahaya semakin gelap. Pada pin digital, pada batas tertentu DO akan high atau low, yang dikendalikan sensitivitas nya menggunakan on-board potensiometer.
• Input Voltage: DC 3.3V - 5V
• Output: Digital - Sensitivitas bisa diatur, dan analog
• Ukuran PCB : 33 mm x 15 mm
LDR atau Light Dependent Resistor merupakan salah satu komponen jenis resistor dengan nilai resistansi yang terus berubah sesuai intensitas cahaya yang mengenai sensor. Semakin banyak cahaya yang mengenai sensor LDR, maka akan semakin menurun nilai resistansinya. Nah, semakin sedikit cahaya yang mengenai sensor (gelap), maka nilai resistansinya akan semakin besar, jadi arus listrik yang mengalir akan terhambat.
Pada umumnya, sensor LDR mempunyai nilai resistansi sebesar 200 KOhm di tengah kegelapan dan akan turun menjadi 500 Ohm saat terkena banyak cahaya. Oleh karena itu, menjadi hal biasa apabila komponen elektronika yang peka cahaya ini sering digunakan untuk lampu alarm, kamar tidur, penerangan jalan dan lain sebagainya.
LDR memiliki peran sebagai sensor cahaya di dalam aneka rangkaian elektronika seperti saklar otomatis berdasarkan cahaya. Jadi jika sensor terkena cahaya, maka arus listrik akan mengalir (ON) dan jika sensor berada di dalam kondisi minim cahaya alias gelap, maka aliran listrik akan terhambat (OFF). LDR sering digunakan untuk sensor lampu kamar tidur, penerangan jalan otomatis, alarm dan lain sebagainya
- Motor Servo
- Push Button
Spesifikasi Teknis Push Button Switch
Karakteristik Listrik
Rating Tegangan (Voltage): Menunjukkan batas maksimum tegangan yang bisa ditangani, misalnya 12V DC atau 250V AC.
Rating Arus (Current): Menunjukkan seberapa besar arus yang bisa dialirkan tanpa merusak kontak, biasanya berkisar antara 1A hingga 5A.
Tipe Kontak: Bisa NO (Normally Open), NC (Normally Closed), atau kombinasi keduanya (SPDT / Single Pole Double Throw).
c. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Prinsip Kerja
Prinsip kerja sistem jemuran otomatis ini dimulai ketika mikrokontroler STM32 dihidupkan dan melakukan inisialisasi seluruh peripheral yang digunakan, yaitu GPIO, ADC, dan PWM (timer). Sensor LDR yang terhubung ke pin analog (PA0) berfungsi sebagai pendeteksi intensitas cahaya lingkungan. Nilai cahaya yang diterima oleh LDR akan diubah menjadi sinyal analog, kemudian dikonversi oleh ADC 12-bit menjadi data digital dengan rentang nilai 0 hingga 4095.
Selanjutnya, mikrokontroler secara terus-menerus membaca nilai ADC dari sensor LDR menggunakan fungsi read_LDR(). Nilai digital ini merepresentasikan tingkat pencahayaan di sekitar jemuran. Semakin kecil nilai ADC, maka kondisi lingkungan semakin gelap (cahaya rendah), sedangkan semakin besar nilai ADC menunjukkan kondisi semakin terang. Nilai tersebut kemudian dibandingkan dengan dua batas ambang (threshold), yaitu LDR_RENDAH dan LDR_SEDANG, yang telah ditentukan sebelumnya melalui proses kalibrasi.
Berdasarkan hasil perbandingan tersebut, sistem akan menentukan posisi jemuran dalam tiga kondisi. Jika nilai LDR lebih kecil dari LDR_RENDAH, maka dianggap kondisi gelap atau mendung sehingga jemuran akan masuk ke dalam atap untuk menghindari hujan atau kondisi tidak optimal. Jika nilai LDR berada di antara LDR_RENDAH dan LDR_SEDANG, maka kondisi dianggap cahaya sedang sehingga jemuran diposisikan setengah terbuka sebagai posisi aman. Sedangkan jika nilai LDR lebih besar dari LDR_SEDANG, maka kondisi dianggap sangat terang sehingga jemuran akan keluar sepenuhnya untuk memaksimalkan proses penjemuran.
Untuk menggerakkan jemuran, digunakan motor servo yang dikendalikan menggunakan sinyal PWM dari timer TIM3 pada pin PA6. Lebar pulsa (pulse width) PWM menentukan sudut putar servo. Pada program ini, nilai pulsa 1000 digunakan untuk posisi 0 derajat (jemuran masuk), 1500 untuk posisi 90 derajat (setengah terbuka), dan 2000 untuk posisi 180 derajat (jemuran keluar). Fungsi set_servo() akan mengatur nilai PWM tersebut sesuai dengan kondisi cahaya yang telah ditentukan.
Proses ini berlangsung secara terus-menerus di dalam loop utama dengan jeda waktu tertentu, sehingga sistem dapat merespons perubahan intensitas cahaya secara real-time. Dengan demikian, jemuran dapat bergerak otomatis menyesuaikan kondisi lingkungan tanpa intervensi pengguna, sehingga meningkatkan efisiensi dan keamanan dalam proses penjemuran pakaian.
d. Flowchart dan Listing Program[Kembali]
FLOWCHARTmain.c
Buatlah rangkaian dengan kondisi ketika sensor cahaya (LDR) mendeteksi cahaya rendah, maka jemuran berada di dalam atap. Jika cahaya meningkat ke tingkat sedang, jemuran berada pada posisi aman (setengah terbuka). Jika cahaya sangat terang, jemuran berada di luar atap.
FIle Zip [klik disini]
Datasheet Sensor: - datasheet Sensor LDR [disini]
- datasheet motor servo [disini]
- datasheet Stm32f103C8 [klik disini]
- datasheet Push Button [klik disini]
Komentar
Posting Komentar