LAPORAN AKHIR PERCOBAAN 6




Laporan Akhir 2 Modul 1
(Percobaan 6)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Buat program untuk mikrokontroler STM32F103C8 di software STM32 CubeIDE.
3. Compile program dalam format hex, lalu upload ke dalam mikrokontroler.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
5. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Mikrokontroler STM32F103C8
STM32F103C8 board – Microscale





2. Infrared Sensor

Infrared Sensor Module



3. Touch Sensor

Touch Sensor Module — SunFounder Ultimate Sensor Kit documentation




4. Power Supply

 
5. RGB LED
Jual LED RGB 4 PIN WARNA MERAH HIJAU BIRU 5mm ( ARDUINO ) - Common Cathode  - Jakarta Barat - Ardushop-id | Tokopedia









3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:





 



Prinsip Kerja : 
    Rangkaian ini menggunakan mikrokontroler STM32F103C8, yang mana terdapat 1 input yaitu sensor infrared, dengan outputnya RGB LED dan buzzer. Sensor IR sebagai input terhubung ke pin PB7, untuk outputnya yaitu RGB LED, dimana kaki red terhubung ke pin PA6, kaki green terhubung ke pin PA7, dan kaki blue terhubung ke pin PB0 sedangkan buzzer terhubung ke pin PA8. 
    Setelah itu lakukan konfigurasi di software STM32 CubeIDE, yang dimulai dari membuka projek percobaan yang telah dikerjakan. Maka pada tampilan pin out dan konfigurasi dari mikrokontrolernya, berdasarkan rangkaian proteus yang telah dibuat, inputannya yaitu IR yang terhubung ke PB7, kemudian outputnya yaitu kaki red terhubung ke pin PA6, kaki green terhubung ke pin PA7, dan kaki blue terhubung ke pin PB0. Selanjutnya dilakukan konfigurasi pada debug dengan memilih serial wire, kemudian pada bagian RCC dipilih crystal / ceramic resonator.
  Ketika konfigurasinya telah selesai, save project dan kemudian akan ditampilkan halaman pemrograman. Disini sudah langsung tersedia beberapa program karena konfigurasi yang telah dilakukan sebelumnya. Untuk pemrogramannya dimulai dari #include “main.h” yang merupakan fungsi utamanya. Yang perlu ditambahkan disini adalah codingan pada bagian loopnya, yang terletak di dalam kurung kurawal pada bagian while. Program ini menggunakan fungsi If Else, dimana jika sensor infrared tidak mendeteksi adanya objek dan sensor touch mendeteksi sentuhan, maka output yang dibaca mikrokontroler adalah menghidupkan lampu hijau dan biru pada RGB LED, sedangkan lampu berwarna merah dalam kondisi mati atau reset. Untuk kondisi selain itu, perintah yang dibaca mikrokontroler adalah menjadikan seluruh warna RGB LED dalam kondisi reset atau mati.

Analisa :




  
    

4. Flowchart dan Listing Program [Kembali]

Flowchart :






Listing Program :

#include "main.h" void SystemClock_Config(void); static void MX_GPIO_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); while (1) {

    uint8_t button_status = HAL_GPIO_ReadPin(GPIOB, BUTTON_Pin);    uint8_t ir_status = HAL_GPIO_ReadPin(GPIOB, IR_Pin);    HAL_GPIO_WritePin(GPIOA, GREEN_Pin | RED_Pin | BUZZER_Pin, GPIO_PIN_RESET); if (button_status == GPIO_PIN_SET) {     HAL_GPIO_WritePin(GPIOA, RED_Pin, GPIO_PIN_SET);     HAL_GPIO_WritePin(GPIOA, BUZZER_Pin, GPIO_PIN_SET); } if (ir_status == GPIO_PIN_SET) {     HAL_GPIO_WritePin(GPIOA, GREEN_Pin, GPIO_PIN_SET);     HAL_GPIO_WritePin(GPIOA, BUZZER_Pin, GPIO_PIN_SET); } HAL_Delay(100); } } 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_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIVRCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;


5. Kondisi [Kembali]

Percobaan 6
ketika sensor IR mendeteksi objek, maka LED akan menyala

6. Video Simulasi [Kembali]






7. Download File [Kembali]

Download File Rangkaian [Download]
Download Listing Program [Download]
Datasheet Mikrokontroler STM32F103C8 [Download]
Datasheet Sensor PIR [Download]
Datasheet Sensor Touch [Download]
Datasheet RGB LED [Download]








Komentar

Postingan populer dari blog ini