UX/UI Workshops

1. ΰΈ ΰΈ²ΰΈžΰΈ£ΰΈ§ΰΈ‘ΰΈΰΈ²ΰΈ£ΰΈšΰΈΉΰΈ£ΰΈ“ΰΈ²ΰΈΰΈ²ΰΈ£ Sensor กับ LVGL

ΰΈΰΈ²ΰΈ£ΰΉ€ΰΈŠΰΈ·ΰΉˆΰΈ­ΰΈ‘ΰΉ‚ΰΈ’ΰΈ‡ΰΈ­ΰΈ‡ΰΈ„ΰΉŒΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈ£ΰΈΉΰΉ‰ΰΈˆΰΈ²ΰΈΰΈ—ΰΈΈΰΈΰΈͺΰΈ±ΰΈ›ΰΈ”ΰΈ²ΰΈ«ΰΉŒ

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Week 1 + Week 2 + Week 3-4                   β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Week 1     β”‚    β”‚   Week 2     β”‚    β”‚     Week 3-4          β”‚  β”‚
β”‚  β”‚              β”‚    β”‚              β”‚    β”‚                       β”‚  β”‚
β”‚  β”‚  GPIO ───────┼────┼──────────────┼───►│  Button/Switch/LED    β”‚  β”‚
β”‚  β”‚              β”‚    β”‚              β”‚    β”‚                       β”‚  β”‚
β”‚  β”‚  ADC  ───────┼────┼──────────────┼───►│  Slider/Bar/Arc       β”‚  β”‚
β”‚  β”‚              β”‚    β”‚              β”‚    β”‚                       β”‚  β”‚
β”‚  β”‚              β”‚    β”‚  IMU ────────┼───►│  Chart/Scale/Gauge    β”‚  β”‚
β”‚  β”‚              β”‚    β”‚  (FreeRTOS)  β”‚    β”‚                       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Sensor β†’ Widget Mapping

Sensor Type
ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯
Widget ΰΈ—ΰΈ΅ΰΉˆΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈͺΰΈ‘
ΰΉ€ΰΈ«ΰΈ•ΰΈΈΰΈœΰΈ₯

ADC

0-4095 (12-bit)

Slider, Bar, Arc

Linear value mapping

Accelerometer

Β±2g (m/sΒ²)

Chart, Scale, Bar

3-axis real-time

Gyroscope

Β±2000Β°/s

Arc, Chart

Angular velocity

Orientation

6 states

Label, LED

Discrete states

Temperature

Β°C

Scale, Label

Single value


2. Slider Widget - ADC Input Visualization

ΰΈ•ΰΈ±ΰΈ§ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈˆΰΈ²ΰΈ: examples/widgets/slider/lv_example_slider_1.c

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ Slider ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš ADC?

  • Range 0-100 (default) ใกΰΈ₯ΰΉ‰ΰΉ€ΰΈ„ΰΈ΅ΰΈ’ΰΈ‡ΰΈΰΈ±ΰΈš ADC 0-4095

  • ΰΈ‘ΰΈ΅ Knob ΰΈ—ΰΈ΅ΰΉˆΰΉΰΈͺΰΈ”ΰΈ‡ΰΈ•ΰΈ³ΰΉΰΈ«ΰΈ™ΰΉˆΰΈ‡ΰΈ„ΰΉˆΰΈ²ΰΈ›ΰΈ±ΰΈˆΰΈˆΰΈΈΰΈšΰΈ±ΰΈ™

  • ΰΈœΰΈΉΰΉ‰ΰΉƒΰΈŠΰΉ‰ΰΈͺΰΈ²ΰΈ‘ΰΈ²ΰΈ£ΰΈ– interact กΰΈ₯ΰΈ±ΰΈšΰΉ„ΰΈ”ΰΉ‰ (set threshold)

HOW: ΰΉ€ΰΈŠΰΈ·ΰΉˆΰΈ­ΰΈ‘ΰΉ‚ΰΈ’ΰΈ‡ ADC กับ Slider

CAUTION: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡ Slider

  • LV_ANIM_ON ΰΈ—ΰΈ³ΰΉƒΰΈ«ΰΉ‰ transition smooth ΰΉΰΈ•ΰΉˆΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ CPU load

  • ΰΈ„ΰΉˆΰΈ² default range ΰΈ„ΰΈ·ΰΈ­ 0-100 (ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΉ€ΰΈ›ΰΈ₯ΰΈ΅ΰΉˆΰΈ’ΰΈ™ΰΈ–ΰΉ‰ΰΈ²ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΈΰΈ²ΰΈ£ΰΈ­ΰΈ·ΰΉˆΰΈ™)

  • ΰΉƒΰΈŠΰΉ‰ lv_slider_set_range() ΰΉ€ΰΈžΰΈ·ΰΉˆΰΈ­ΰΉ€ΰΈ›ΰΈ₯ΰΈ΅ΰΉˆΰΈ’ΰΈ™ range


3. Bar Widget - Progress Display

ΰΈ•ΰΈ±ΰΈ§ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈˆΰΈ²ΰΈ: examples/widgets/bar/lv_example_bar_1.c

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ Bar ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš Sensor?

  • แΰΈͺΰΈ”ΰΈ‡ΰΈ„ΰΉˆΰΈ² Linear ΰΉ„ΰΈ”ΰΉ‰ΰΈŠΰΈ±ΰΈ”ΰΉ€ΰΈˆΰΈ™ (Battery, Signal strength)

  • Read-only (ΰΈœΰΈΉΰΉ‰ΰΉƒΰΈŠΰΉ‰ΰΈ”ΰΈΉΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΉ€ΰΈ”ΰΈ΅ΰΈ’ΰΈ§ ΰΉ„ΰΈ‘ΰΉˆ interact)

  • ΰΉƒΰΈŠΰΉ‰ resources ΰΈ™ΰΉ‰ΰΈ­ΰΈ’ΰΈΰΈ§ΰΉˆΰΈ² Slider

HOW: Bar ΰΈͺำหรับ Multi-Sensor Display

CAUTION: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡ Bar

  • Default range ΰΈ„ΰΈ·ΰΈ­ 0-100 (ΰΉ„ΰΈ‘ΰΉˆΰΈ£ΰΈ­ΰΈ‡ΰΈ£ΰΈ±ΰΈšΰΈ„ΰΉˆΰΈ²ΰΈ₯บ)

  • ΰΉƒΰΈŠΰΉ‰ lv_bar_set_range(bar, min, max) ΰΈͺΰΈ³ΰΈ«ΰΈ£ΰΈ±ΰΈšΰΈ„ΰΉˆΰΈ²ΰΈ₯บ

  • Update ΰΈšΰΉˆΰΈ­ΰΈ’ΰΉ€ΰΈΰΈ΄ΰΈ™ΰΉ„ΰΈ›ΰΈˆΰΈ°ΰΈ—ΰΈ³ΰΉƒΰΈ«ΰΉ‰ animation กระตุก


4. Arc Widget - Circular Gauge

ΰΈ•ΰΈ±ΰΈ§ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈˆΰΈ²ΰΈ: examples/widgets/arc/lv_example_arc_1.c

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ Arc ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš Gyroscope?

  • แΰΈͺΰΈ”ΰΈ‡ΰΈ‘ΰΈΈΰΈ‘ΰΉ„ΰΈ”ΰΉ‰ΰΉ‚ΰΈ”ΰΈ’ΰΈ˜ΰΈ£ΰΈ£ΰΈ‘ΰΈŠΰΈ²ΰΈ•ΰΈ΄ (rotation)

  • ΰΈͺΰΈ§ΰΈ’ΰΈ‡ΰΈ²ΰΈ‘ΰΈͺำหรับ Dashboard

  • ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈšΰΈ„ΰΉˆΰΈ²ΰΈ—ΰΈ΅ΰΉˆΰΈ‘ΰΈ΅ range ΰΈˆΰΈ³ΰΈΰΈ±ΰΈ”

HOW: Arc ΰΈͺำหรับ IMU Orientation

CAUTION: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡ Arc

  • lv_arc_set_rotation() ΰΈΰΈ³ΰΈ«ΰΈ™ΰΈ”ΰΈ‘ΰΈΈΰΈ‘ΰΉ€ΰΈ£ΰΈ΄ΰΉˆΰΈ‘ΰΈ•ΰΉ‰ΰΈ™ (ΰΉ„ΰΈ‘ΰΉˆΰΉƒΰΈŠΰΉˆΰΈ‘ΰΈΈΰΈ‘ΰΈ›ΰΈ±ΰΈˆΰΈˆΰΈΈΰΈšΰΈ±ΰΈ™)

  • lv_arc_set_bg_angles() กำหนด background arc span

  • ΰΈ„ΰΉˆΰΈ²ΰΈ—ΰΈ΅ΰΉˆ set ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΈ­ΰΈ’ΰΈΉΰΉˆΰΉƒΰΈ™ range ΰΉ„ΰΈ‘ΰΉˆΰΈ‡ΰΈ±ΰΉ‰ΰΈ™ΰΈˆΰΈ° clamp


5. Chart Widget - Time-Series Data

ΰΈ•ΰΈ±ΰΈ§ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈˆΰΈ²ΰΈ: examples/widgets/chart/lv_example_chart_1.c

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ Chart ΰΈˆΰΈ³ΰΉ€ΰΈ›ΰΉ‡ΰΈ™ΰΈͺำหรับ Sensor?

  • แΰΈͺΰΈ”ΰΈ‡ Trend ΰΈ‚ΰΈ­ΰΈ‡ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯ΰΈ•ΰΈ²ΰΈ‘ΰΉ€ΰΈ§ΰΈ₯ΰΈ²

  • ΰΉ€ΰΈ›ΰΈ£ΰΈ΅ΰΈ’ΰΈšΰΉ€ΰΈ—ΰΈ΅ΰΈ’ΰΈšΰΈ«ΰΈ₯ΰΈ²ΰΈ’ Sensor ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™

  • ΰΈ§ΰΈ΄ΰΉ€ΰΈ„ΰΈ£ΰΈ²ΰΈ°ΰΈ«ΰΉŒ Pattern ΰΉ„ΰΈ”ΰΉ‰ΰΈ‡ΰΉˆΰΈ²ΰΈ’

HOW: Real-time Accelerometer Chart

CAUTION: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡ Chart

  • Point count ΰΈ‘ΰΈ²ΰΈΰΉ€ΰΈΰΈ΄ΰΈ™ΰΉ„ΰΈ›ΰΈˆΰΈ° lag (แนะนำ 50-100)

  • lv_chart_set_next_value() จะ shift ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯ΰΉ€ΰΈΰΉˆΰΈ²ΰΈ­ΰΈ­ΰΈ (ring buffer)

  • ΰΈ–ΰΉ‰ΰΈ²ΰΉƒΰΈŠΰΉ‰ direct array ต้องเรมฒก lv_chart_refresh()


6. Scale Widget - Instrument Gauge

ΰΈ•ΰΈ±ΰΈ§ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΈˆΰΈ²ΰΈ: examples/widgets/scale/lv_example_scale_1.c

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ Scale ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš Sensor?

  • ΰΈ”ΰΈΉΰΉ€ΰΈ«ΰΈ‘ΰΈ·ΰΈ­ΰΈ™ΰΉ€ΰΈ„ΰΈ£ΰΈ·ΰΉˆΰΈ­ΰΈ‡ΰΈ‘ΰΈ·ΰΈ­ΰΈ§ΰΈ±ΰΈ”ΰΈˆΰΈ£ΰΈ΄ΰΈ‡ (Professional look)

  • ΰΈ‘ΰΈ΅ Tick marks ΰΈŠΰΉˆΰΈ§ΰΈ’ΰΈ­ΰΉˆΰΈ²ΰΈ™ΰΈ„ΰΉˆΰΈ²

  • ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš Single value display (Temperature, Pressure)

HOW: Temperature Gauge ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ Scale


7. Chart Dashboard - Multiple Chart Types

ΰΈ•ΰΈ£ΰΈ‡ΰΈΰΈ±ΰΈš: week4_ex6_chart_dashboard()

Example 6 แΰΈͺΰΈ”ΰΈ‡ΰΈΰΈ²ΰΈ£ΰΉƒΰΈŠΰΉ‰ Chart Widget ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ΰΈ›ΰΈ£ΰΈ°ΰΉ€ΰΈ ΰΈ—ΰΉƒΰΈ™ TabView ΰΉ€ΰΈ”ΰΈ΅ΰΈ’ΰΈ§ ΰΈ‹ΰΈΆΰΉˆΰΈ‡ΰΉ€ΰΈ›ΰΉ‡ΰΈ™ΰΈ£ΰΈΉΰΈ›ΰΉΰΈšΰΈšΰΈ—ΰΈ΅ΰΉˆΰΈžΰΈšΰΈšΰΉˆΰΈ­ΰΈ’ΰΉƒΰΈ™ΰΉΰΈ­ΰΈ›ΰΈžΰΈ₯ΰΈ΄ΰΉ€ΰΈ„ΰΈŠΰΈ±ΰΈ™ Dashboard ΰΈˆΰΈ£ΰΈ΄ΰΈ‡

Official References

  • Chart: https://docs.lvgl.io/9.2/widgets/chart.html

  • TabView: https://docs.lvgl.io/9.2/widgets/tabview.html

WHY: ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΉƒΰΈŠΰΉ‰ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ Chart Types?

Chart Type
Use Case
ΰΈ‚ΰΉ‰ΰΈ­ΰΈ”ΰΈ΅

Bar Chart

ΰΉ€ΰΈ›ΰΈ£ΰΈ΅ΰΈ’ΰΈšΰΉ€ΰΈ—ΰΈ΅ΰΈ’ΰΈšΰΈ„ΰΉˆΰΈ²ΰΉΰΈ•ΰΉˆΰΈ₯ะแกน (X, Y, Z)

ΰΉ€ΰΈ«ΰΉ‡ΰΈ™ΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΉΰΈ•ΰΈΰΈ•ΰΉˆΰΈ²ΰΈ‡ΰΈŠΰΈ±ΰΈ”ΰΉ€ΰΈˆΰΈ™

Area Chart

แΰΈͺΰΈ”ΰΈ‡ Magnitude ΰΈ•ΰΈ²ΰΈ‘ΰΉ€ΰΈ§ΰΈ₯ΰΈ²

ΰΉ€ΰΈ«ΰΉ‡ΰΈ™ trend แΰΈ₯ΰΈ°ΰΈžΰΈ·ΰΉ‰ΰΈ™ΰΈ—ΰΈ΅ΰΉˆΰΉƒΰΈ•ΰΉ‰ΰΈΰΈ£ΰΈ²ΰΈŸ

Scatter Chart

แΰΈͺΰΈ”ΰΈ‡ΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈͺΰΈ±ΰΈ‘ΰΈžΰΈ±ΰΈ™ΰΈ˜ΰΉŒ X vs Y

ΰΉ€ΰΈ«ΰΉ‡ΰΈ™ motion pattern

Line Chart

แΰΈͺΰΈ”ΰΈ‡ time-series ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ series

ΰΉ€ΰΈ›ΰΈ£ΰΈ΅ΰΈ’ΰΈšΰΉ€ΰΈ—ΰΈ΅ΰΈ’ΰΈš Gyro 3 แกน

HOW: ΰΉ‚ΰΈ„ΰΈ£ΰΈ‡ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ Chart Dashboard

Code Example: Chart Dashboard Structure

Chart Type 1: Bar Chart (ΰΉ€ΰΈ›ΰΈ£ΰΈ΅ΰΈ’ΰΈšΰΉ€ΰΈ—ΰΈ΅ΰΈ’ΰΈš X, Y, Z)

Key Points - Bar Chart:

  • ΰΉƒΰΈŠΰΉ‰ LV_CHART_TYPE_BAR

  • point_count = ΰΈˆΰΈ³ΰΈ™ΰΈ§ΰΈ™ bars

  • ΰΉƒΰΈŠΰΉ‰ lv_chart_set_value_by_id() ΰΉ€ΰΈžΰΈ·ΰΉˆΰΈ­ update ΰΉΰΈ•ΰΉˆΰΈ₯ΰΈ° bar

  • ต้องเรมฒก lv_chart_refresh() ΰΈ«ΰΈ₯ΰΈ±ΰΈ‡ update

Chart Type 2: Area Chart (Magnitude Over Time)

Key Points - Area Chart:

  • ΰΉƒΰΈŠΰΉ‰ LV_CHART_TYPE_LINE + lv_obj_set_style_bg_opa() ΰΈͺำหรับ fill

  • ΰΉƒΰΈŠΰΉ‰ lv_chart_set_next_value() ΰΈͺำหรับ streaming data

  • ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈš magnitude: sqrt(axΒ² + ayΒ² + azΒ²)

Chart Type 3: Scatter Chart (X vs Y Motion)

Key Points - Scatter Chart:

  • ΰΉƒΰΈŠΰΉ‰ LV_CHART_TYPE_SCATTER

  • ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΈ•ΰΈ±ΰΉ‰ΰΈ‡ range ΰΈ—ΰΈ±ΰΉ‰ΰΈ‡ X แΰΈ₯ΰΈ° Y axis

  • ΰΉƒΰΈŠΰΉ‰ lv_chart_set_next_value2(chart, ser, x, y) ΰΈͺำหรับ (x,y) pairs

  • ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈΰΈ±ΰΈšΰΈΰΈ²ΰΈ£ΰΈ”ΰΈΉ motion pattern ΰΈ«ΰΈ£ΰΈ·ΰΈ­ correlation

Chart Type 4: Line Chart (Gyroscope Time Series)

CAUTION: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡ Chart Dashboard

ΰΈ‚ΰΉ‰ΰΈ­ΰΈ„ΰΈ§ΰΈ£ΰΈ£ΰΈ°ΰΈ§ΰΈ±ΰΈ‡
ΰΈ„ΰΈ³ΰΈ­ΰΈ˜ΰΈ΄ΰΈšΰΈ²ΰΈ’

Chart Type

Scatter ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΉƒΰΈŠΰΉ‰ lv_chart_set_next_value2() ΰΉ„ΰΈ‘ΰΉˆΰΉƒΰΈŠΰΉˆ lv_chart_set_next_value()

Point Count

ΰΈ‘ΰΈ²ΰΈΰΉ€ΰΈΰΈ΄ΰΈ™ΰΉ„ΰΈ›ΰΈˆΰΈ° lag (แนะนำ 30-50 ΰΈͺำหรับ scatter, 50-100 ΰΈͺำหรับ line)

Refresh

Bar chart ต้องเรมฒก lv_chart_refresh() ΰΈ«ΰΈ₯ΰΈ±ΰΈ‡ set_value_by_id()

Range

Scatter ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΈ•ΰΈ±ΰΉ‰ΰΈ‡ range ΰΈ—ΰΈ±ΰΉ‰ΰΈ‡ X แΰΈ₯ΰΈ° Y axis

Tab Size

TabView ΰΈ—ΰΈ΅ΰΉˆ LEFT ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΈ₯ΰΈ”ΰΈžΰΈ·ΰΉ‰ΰΈ™ΰΈ—ΰΈ΅ΰΉˆ content ΰΈ₯ΰΈ‡ (480 - 80 = 400px)

ΰΈͺΰΈ£ΰΈΈΰΈ› Chart Functions

Function
ΰΉƒΰΈŠΰΉ‰ΰΈΰΈ±ΰΈš
ΰΈ„ΰΈ³ΰΈ­ΰΈ˜ΰΈ΄ΰΈšΰΈ²ΰΈ’

lv_chart_set_type()

ทุก chart

ΰΈ•ΰΈ±ΰΉ‰ΰΈ‡ΰΈ›ΰΈ£ΰΈ°ΰΉ€ΰΈ ΰΈ— (LINE, BAR, SCATTER)

lv_chart_set_next_value()

Line, Area

ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΈ„ΰΉˆΰΈ²ΰΉƒΰΈ«ΰΈ‘ΰΉˆ (auto shift)

lv_chart_set_next_value2()

Scatter

ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ (x,y) pair

lv_chart_set_value_by_id()

Bar

Update bar ΰΈ•ΰΈ²ΰΈ‘ index

lv_chart_refresh()

Bar

Refresh ΰΈ«ΰΈ₯ΰΈ±ΰΈ‡ direct update

lv_chart_set_div_line_count()

ทุก chart

ΰΈ•ΰΈ±ΰΉ‰ΰΈ‡ grid lines


8. IMU Data Dashboard

ΰΉΰΈ”ΰΈŠΰΈšΰΈ­ΰΈ£ΰΉŒΰΈ”ΰΈ£ΰΈ§ΰΈ‘ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯ IMU (Accelerometer + Gyroscope)


9. ADC Dashboard

ΰΉΰΈ”ΰΈŠΰΈšΰΈ­ΰΈ£ΰΉŒΰΈ”ΰΈͺำหรับ ADC (ΰΉ€ΰΈŠΰΈ·ΰΉˆΰΈ­ΰΈ‘ΰΉ‚ΰΈ’ΰΈ‡ΰΈΰΈ±ΰΈš Week 1)


10. Multi-Sensor Integration

รวฑทุก Sensor ΰΉ„ΰΈ§ΰΉ‰ΰΉƒΰΈ™ TabView

Last updated

Was this helpful?