Arc Gauge

Lab 9: Real Arc Gauge (Roll Angle)

1. ΰΉ‚ΰΈ„ΰΈ£ΰΈ‡ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈ ΰΈ²ΰΈžΰΈ£ΰΈ§ΰΈ‘ΰΈ‚ΰΈ­ΰΈ‡ Lab

Why? - ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ΰΉ€ΰΈ£ΰΈ·ΰΉˆΰΈ­ΰΈ‡ΰΈ™ΰΈ΅ΰΉ‰

  • Sensor Fusion: ΰΈ£ΰΈ§ΰΈ‘ Accelerometer + Gyroscope ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ Complementary Filter

  • Tilt Measurement: ΰΈ§ΰΈ±ΰΈ”ΰΈΰΈ²ΰΈ£ΰΉ€ΰΈ­ΰΈ΅ΰΈ’ΰΈ‡ΰΈ‚ΰΈ­ΰΈ‡ΰΈšΰΈ­ΰΈ£ΰΉŒΰΈ” (Roll = ΰΉ€ΰΈ­ΰΈ΅ΰΈ’ΰΈ‡ΰΈ‹ΰΉ‰ΰΈ²ΰΈ’/ΰΈ‚ΰΈ§ΰΈ²)

  • Real Application: ΰΉƒΰΈŠΰΉ‰ΰΉƒΰΈ™ΰΈ«ΰΈΈΰΉˆΰΈ™ΰΈ’ΰΈ™ΰΈ•ΰΉŒΰΈ—ΰΈ£ΰΈ‡ΰΈ•ΰΈ±ΰΈ§, flight controller, gesture recognition

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

  1. Complementary Filter: ΰΈͺΰΈΉΰΈ•ΰΈ£ angle = 0.98*(angle+gyro*dt) + 0.02*accel_angle

  2. Tilt API: aic_tilt_init(), aic_tilt_update_from_imu(), aic_tilt_get_roll()

  3. Angle to Percentage: แปΰΈ₯ΰΈ‡ -180Β°...+180Β° ΰΉ€ΰΈ›ΰΉ‡ΰΈ™ 0%...100%

  4. Visual Feedback: Arc gauge แΰΈͺΰΈ”ΰΈ‡ Roll angle

How? - ΰΈˆΰΈ°ΰΈ—ΰΈ³ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΉ„ΰΈ£

  1. Initialize Tilt Analysis ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ aic_tilt_init()

  2. Timer callback เรมฒก aic_tilt_update_from_imu()

  3. ΰΈ­ΰΉˆΰΈ²ΰΈ™ Roll angle แΰΈ₯ะแΰΈͺΰΈ”ΰΈ‡ΰΈšΰΈ™ Arc


2. ΰΈ«ΰΈ₯ักการทำงานแΰΈ₯ΰΈ° Flowchart

2.1 Why Complementary Filter?

2.2 Complementary Filter Formula

2.3 Roll Angle Measurement


3. ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ΰΈͺำคัญ

3.1 Tilt API Functions

Function
Description

aic_tilt_init(NULL)

Initialize tilt analysis with defaults

aic_tilt_update_from_imu()

Update tilt from sensor data

aic_tilt_get_roll()

Get roll angle (-180Β° to +180Β°)

aic_tilt_get_pitch()

Get pitch angle (-90Β° to +90Β°)

aic_tilt_get_roll_percent()

Get roll as 0-100%

aic_tilt_get_pitch_percent()

Get pitch as 0-100%

3.2 Angle to Percentage Mapping


4. Code Example

4.1 Timer Callback

4.2 Main Function


5. ΰΈ­ΰΈ‡ΰΈ„ΰΉŒΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈ£ΰΈΉΰΉ‰ΰΉΰΈ₯ΰΈ°ΰΉ€ΰΈ—ΰΈ„ΰΈ™ΰΈ΄ΰΈ„

5.1 Filter Alpha Value

5.2 Understanding Roll vs Pitch

5.3 Why Read-Only Arc?


6. ΰΉΰΈšΰΈšΰΈΰΈΆΰΈΰΈ«ΰΈ±ΰΈ”

Exercise 1: Color by Tilt

ΰΉ€ΰΈ›ΰΈ₯ΰΈ΅ΰΉˆΰΈ’ΰΈ™ΰΈͺΰΈ΅ Arc ΰΈ•ΰΈ²ΰΈ‘ Roll angle:

  • Green: -30Β° to +30Β° (level)

  • Yellow: Β±30Β° to Β±60Β° (tilting)

  • Red: > Β±60Β° (extreme tilt)

Exercise 2: Dual Arc (Roll + Pitch)

แΰΈͺΰΈ”ΰΈ‡ Arc 2 ΰΈ­ΰΈ±ΰΈ™ΰΈͺำหรับ Roll แΰΈ₯ΰΈ° Pitch ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™


7. References


Previous Lab: Lab 8: Real Sensor Dashboard Next Lab: Lab 10: Real Scale Gauge

Last updated

Was this helpful?