LA 1
Tugas Pendahuluan 1
1. Prosedur [kembali]
- Menyiapkan alat dan bahan.
- Merangkai komponen pada breadboard sesuai dengan gambar rangkaian percobaan.
- Menghubungkan masing masing pin input output.
- Mengunggah program menggunakan ST-LINK ke mikrokontroler.
- Jalankan Rangkaian.
2. Hardware dan Blok Diagram [kembali]
- Hardware
STM32F103C8
Touch Sensor
PIR Sensor
LED
Buzzer
Resistor
- Diagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
Prinspi Kerja:
Prinsip kerja sistem pada percobaan kontrol lampu lorong ini dimulai dari pembacaan input oleh sensor PIR dan touch yang terhubung ke mikrokontroler STM32 sebagai pusat pengendali. Pada kondisi awal, sensor PIR berfungsi mendeteksi adanya pergerakan sehingga mikrokontroler akan mengaktifkan LED sebagai indikator. Ketika touch sensor disentuh untuk pertama kali, mikrokontroler mengubah kondisi sistem dengan menyalakan LED dan buzzer secara bersamaan serta menonaktifkan pengaruh dari sensor PIR. Selanjutnya, sistem akan terus bekerja secara berulang dengan membaca kondisi input dan memberikan respon output sesuai logika yang telah diprogram, sehingga tercipta suatu siklus kontrol sederhana antara input, proses, dan output.
Secara keseluruhan, prinsip kerja rangkaian ini menunjukkan sistem kontrol sederhana dengan konsep prioritas input, di mana touch sensor berfungsi sebagai trigger utama untuk mengubah mode operasi sistem, sedangkan PIR hanya berfungsi saat sistem belum diaktifkan oleh sentuhan. Sistem ini cocok digunakan untuk aplikasi seperti lampu lorong pintar yang dapat diaktifkan secara manual sekaligus memiliki fitur deteksi otomatis.
4. Flowchart dan Listing Program [kembali]
Flowchart
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
// 1. Cek apakah sensor Touch mendeteksi sentuhan
if (HAL_GPIO_ReadPin(GPIOA, Touch_Pin) == GPIO_PIN_SET)
{
// Sentuhan pertama kali terdeteksi!
// Nyalakan LED dan Buzzer
HAL_GPIO_WritePin(GPIOB, LED_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, Buzzer_Pin, GPIO_PIN_SET);
// Kunci program di sini (pengganti variabel flag)
while (1)
{
// Program akan berputar terus di sini.
// LED & Buzzer tetap menyala, dan PIR otomatis terabaikan (nonaktif).
}
}
// 2. Jika kode sampai ke titik ini, berarti Touch BELUM disentuh sama sekali.
// Di sinilah sensor PIR masih aktif.
if (HAL_GPIO_ReadPin(GPIOA, PIR_Pin) == GPIO_PIN_SET)
{
// Logika jika PIR mendeteksi gerakan sebelum Touch disentuh
// (Contoh: hanya menyalakan LED sementara tanpa Buzzer)
HAL_GPIO_WritePin(GPIOB, LED_Pin, GPIO_PIN_SET);
}
else
{
// Matikan LED dan Buzzer jika PIR tidak mendeteksi apa-apa
HAL_GPIO_WritePin(GPIOB, LED_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, Buzzer_Pin, GPIO_PIN_RESET);
}
}
/* USER CODE END 3 */
Listing Program
5. Video Demo [kembali]
6. Kondisi [kembali]
Percobaan 1, kondisi 5, Buatlah rangkaian seperti pada gambar percobaan 1 dengan kondisi sensor Touch mendeteksi sentuhan pertama kali, maka LED menyala dan Buzzer berbunyi, serta PIR dinonaktifkan.
7. Video Simulasi [kembali]
Video SimulasiPercobaan 3
8. Download File [kembali]
- Rangkaian Proteus [Download]
- Program [Download]
- Datasheet STM32F103C8 [Download]
- Datasheet Touch Sensor [Download]
- Datasheet PIR Sensor [Download]
- Datasheet LED [Download]
Komentar
Posting Komentar