LAPORAN AKHIR 1

[KEMBALI KE MENU SEBELUMNYA]

MODUL 1 PERCOBAAN 1

1. Prosedure [Kembali]

  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


LED

    Diagram Blok



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

    Rangkaian Simulasi

Gambar Rangkaian Percobaan 1 di Proteus

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 PIR & Touch Sensor
  • Sensor Touch on, maka PIR mendeteksi objek, LED dan Buzzer menyala
  • Sensor Touch on, maka PIR tidak mendeteksi objek, LED dan Buzzer mati
  • Sensor Touch off, LED dan Buzzer mati

4. Flowchart dan Listing Program [Kembali]

    Flowchart

    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]

  • Download File Zip disini
  • Download File Rangkaian Proteus disini
  • Download Listing Program disini
  • Link Vidio Simulasi disini
  • Link Vidio Demo disini
  • Download Datasheet PIR Sensor disini
  • Download Datasheet Touch Sensor disini
  • Download Datasheet STM32F103C8 disini
  • Download Datasheet LED disini
  • Download Laporan Akhir Modul 1 disini


Komentar

Postingan populer dari blog ini