Full Motion Detection

Lab 5: ระบบ Motion Detection ΰΈͺΰΈ‘ΰΈšΰΈΉΰΈ£ΰΈ“ΰΉŒ

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

  • Integration: ΰΈ£ΰΈ§ΰΈ‘ΰΈ—ΰΈΈΰΈΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ΰΈˆΰΈ²ΰΈ Lab 1-4

  • Statistics: ΰΉ€ΰΈΰΉ‡ΰΈšΰΈͺถิติการเคΰΈ₯ΰΈ·ΰΉˆΰΈ­ΰΈ™ΰΉ„ΰΈ«ΰΈ§

  • Real Application: ระบบ Motion Detection ΰΈ—ΰΈ΅ΰΉˆΰΉƒΰΈŠΰΉ‰ΰΈ‡ΰΈ²ΰΈ™ΰΉ„ΰΈ”ΰΉ‰ΰΈˆΰΈ£ΰΈ΄ΰΈ‡

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

  • System Design: ΰΈ­ΰΈ­ΰΈΰΉΰΈšΰΈšΰΈ£ΰΈ°ΰΈšΰΈšΰΈ—ΰΈ΅ΰΉˆΰΈ‹ΰΈ±ΰΈšΰΈ‹ΰΉ‰ΰΈ­ΰΈ™

  • Statistics Collection: ΰΉ€ΰΈΰΉ‡ΰΈš min/max/count

  • LED Feedback: แΰΈͺΰΈ”ΰΈ‡ΰΈͺΰΈ–ΰΈ²ΰΈ™ΰΈ°ΰΈœΰΉˆΰΈ²ΰΈ™ LED

System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Complete Motion Detection System                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                 β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚
β”‚   β”‚  BMI270  │────►│ Convert  │────►│Magnitude  β”‚               β”‚
β”‚   β”‚  Sensor  β”‚     β”‚  to m/sΒ² β”‚     β”‚βˆš(xΒ²+yΒ²+zΒ²)β”‚               β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜               β”‚
β”‚                                          β”‚                      β”‚
β”‚                                          β–Ό                      β”‚
β”‚                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”‚
β”‚                                    β”‚   Filter  β”‚                β”‚
β”‚                                    β”‚ Moving Avgβ”‚                β”‚
β”‚                                    β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                β”‚
β”‚                                          β”‚                      β”‚
β”‚            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚            β”‚                             β”‚                β”‚     β”‚
β”‚            β–Ό                             β–Ό                β–Ό     β”‚
β”‚      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚      β”‚  Motion  β”‚               β”‚Statisticsβ”‚      β”‚   LED    β”‚  β”‚
β”‚      β”‚ Detectionβ”‚               β”‚ Update   β”‚      β”‚ Feedback β”‚  β”‚
β”‚      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

ΰΉ‚ΰΈ«ΰΈ₯ΰΈ” Project Code จาก AIC Github Repo ΰΉ€ΰΈžΰΈ·ΰΉˆΰΈ­ΰΉ€ΰΈ›ΰΈ΄ΰΈ”ΰΈšΰΈ™ VSCode IDE

1. ΰΉ€ΰΈ›ΰΈ΄ΰΈ”ΰΉ‚ΰΈ›ΰΈ£ΰΉ€ΰΈˆΰΈΰΈ•ΰΉŒ aic-psoc-edge-epc2-imu-full-system

ΰΉ€ΰΈ›ΰΈ΄ΰΈ”ΰΉ„ΰΈŸΰΈ₯์ proj_cm33_ns/sensor_hub_daq_task.c แΰΈ₯ะศยกษาโครงΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡:

ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ Include

Important Macros and Variables

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ Raw accelerometer Conversion ชื่อ lsb_to_mp2()

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ Magnitude Calcuation ชื่อ calculate_magnitude()

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ Filter

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ Motion Detection ชื่อ detect_motion()

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ΰΈ—ΰΈ΅ΰΉˆΰΉ€ΰΈ«ΰΈ₯ΰΈ·ΰΈ­

3. ΰΉ€ΰΈ‚ΰΈ΅ΰΈ’ΰΈ™ Main Task Loop

Create Sensor Hub DAQ Task Function

4. Build แΰΈ₯ΰΈ° Flash

5.3 Output ΰΈ—ΰΈ΅ΰΉˆΰΈ„ΰΈ²ΰΈ”ΰΈ«ΰΈ§ΰΈ±ΰΈ‡

Next Steps


จบ Session 2 | ΰΈ•ΰΉˆΰΈ­ΰΉ„ΰΈ›: Session 3: LVGL Display

Last updated

Was this helpful?