GPIO Integration

ΰΈ§ΰΈ±ΰΈ•ΰΈ–ΰΈΈΰΈ›ΰΈ£ΰΈ°ΰΈͺΰΈ‡ΰΈ„ΰΉŒ

  • Integration: ΰΈ£ΰΈ§ΰΈ‘ΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈ£ΰΈΉΰΉ‰ΰΈˆΰΈ²ΰΈ Lab 1-3

  • Real Application: ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ Interactive Application

  • State Machine: ΰΈˆΰΈ±ΰΈ”ΰΈΰΈ²ΰΈ£ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ input/output ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™

ΰΈˆΰΈ°ΰΉ„ΰΈ”ΰΉ‰ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ΰΈ­ΰΈ°ΰΉ„ΰΈ£

  • Multiple Inputs: ΰΈˆΰΈ±ΰΈ”ΰΈΰΈ²ΰΈ£ POT + Button ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™

  • Value Mapping: แปΰΈ₯ΰΈ‡ΰΈ„ΰΉˆΰΈ² POT ΰΉ€ΰΈ›ΰΉ‡ΰΈ™ delay time

  • Mode Switching: ΰΈͺΰΈ₯ΰΈ±ΰΈšΰΉ‚ΰΈ«ΰΈ‘ΰΈ”ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ button

  • Non-Blocking Design: ΰΈ—ΰΈ³ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™


Application Design

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Interactive LED Controller                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                 β”‚
β”‚   POT (0-100%)  ────►  LED Blink Rate (50-1000 ms)              β”‚
β”‚   └─ 0%   = 1000ms (ΰΈŠΰΉ‰ΰΈ²)                                         β”‚
β”‚   └─ 50%  = 500ms                                               β”‚
β”‚   └─ 100% = 50ms (ΰΉ€ΰΈ£ΰΉ‡ΰΈ§)                                          β”‚
β”‚                                                                 β”‚
β”‚   Button ────►  Toggle Mode                                     β”‚
β”‚   └─ Mode 0: Normal Blink                                       β”‚
β”‚   └─ Mode 1: Fast Blink (2x speed)                              β”‚
β”‚                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Lab 4.1 : Code Implementation

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ map_pot_to_delay()

ΰΉ€ΰΈ‚ΰΈ΅ΰΈ’ΰΈ™ΰΉ‚ΰΈ„ΰΉ‰ΰΈ” main.c


ΰΈͺΰΈ£ΰΈΈΰΈ› State Diagram


✍️ Final Challenge

  1. Three Modes : ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΉ‚ΰΈ«ΰΈ‘ΰΈ”ΰΈ—ΰΈ΅ΰΉˆ 3: Ultra Fast (4x speed)

  2. LED Brightness Bar : แΰΈͺΰΈ”ΰΈ‡ POT percentage ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ ASCII bar:


Last updated

Was this helpful?