Laporan Akhir 1

[menuju akhir]
  1. Buka aplikasi STM32CubeIDE lalu pilih stm project
  2. Setelah itu masukkan pin Input dan pin Output sesuai dengan gambar rangkaian di modul
  3. Masukan program yang telah di buat sesuai kondisi pada kedua file tersebut
  4. Rangkai komponen sesuai dengan gambar rangkaian di modul
  5. Hubungkan laptop dengan rangkaian yang telah dirangkai
  6. Selesai

2. Hardware dan Diagram Blok [Kembali]

  Hardware


STM32F103C8

Touch Sensor



PIR Sensor


LED


Buzzer

Resistor


    Diagram Blok






3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]


Gambar Rangkaian Percobaan 1

Gambar Rangkaian Simulasi Switch on, PIR mendeteksi, LED on

Gambar Rangkaian Simulasi Switch on, PIR tidak mendeteksi, LED off




Gambar Rangkaian Semua off




Prinsip Kerja :
Inisialisasi sistem dilakukan dengan menggunakan sensor PIR dan sensor sentuh sebagai input, serta LED dan buzzer sebagai output. Ketika sensor sentuh dalam kondisi aktif (ON), maka sensor PIR akan mulai bekerja untuk mendeteksi adanya objek. Jika PIR mendeteksi objek, LED dan buzzer akan menyala sebagai indikasi, sedangkan jika tidak ada objek yang terdeteksi, keduanya akan tetap dalam keadaan mati. Sementara itu, apabila sensor sentuh dalam kondisi tidak aktif (OFF), maka LED dan buzzer akan tetap mati tanpa memperhatikan kondisi dari sensor PIR.

4. Flowchart dan Listing Program [Kembali]
a. Flowchart






b. Listing Program

#include "stm32f1xx_hal.h" uint8_t system_enable = 0; uint8_t touch_last = 0; uint8_t pir_first_trigger = 1; void SystemClock_Config(void); static void MX_GPIO_Init(void); void Error_Handler(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); while (1) { uint8_t pir_now = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); uint8_t touch_now = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1); if (touch_now == GPIO_PIN_SET && touch_last == GPIO_PIN_RESET) { system_enable = !system_enable; if (system_enable) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); } HAL_Delay(200); } touch_last = touch_now; if (pir_now == GPIO_PIN_SET) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); if (pir_first_trigger) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); pir_first_trigger = 0; } } else { pir_first_trigger = 1;

if(!system_enable) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); } if(system_enable) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); } } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) Error_Handler(); RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) Error_Handler(); } static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1, GPIO_PIN_RESET); }

void Error_Handler(void) { __disable_irq(); while(1) { } }






5. Video Demo [Kembali]



6. Kondisi [Kembali]
Percobaan 1 Kontrol lampu lorong

7. Video Simulasi [Kembali]








8. Download File [Kembali]

















Komentar

Postingan populer dari blog ini

TUGAS BESAR

PBL Modul 1

Modul 1 UP & UC