Skip to content

ChiaHong95/Gesture-Recognition-Arduino

Repository files navigation

Gesture Recognition Arduino nano 33 ble sense (implementation notes)

Board info: https://store.arduino.cc/usa/nano-33-ble-sense
Arduino On-chip AI: https://www.arduino.cc/en/AI/HomePage

Getting started: installation

  • On Arduino app:
    • 下載程式褲:Arduino ➡️ 工具 ➡️ 管理程式庫 ➡️ 搜尋Arduino_TensorFlowLite & Arduino_LSM9DS1 & ArduinoBLE,etc ➡️ Install
    • 下載開發版:Arduino ➡️ 開發版 ➡️ 開發版管理員 ➡️ 搜尋Arduino nRF528x Boards (Mbed OS)或Arduino Nano 33 bl > install
    • 燒錄器(programmer)設定為AVRISP mkll
  • On Arduino web editor:

TensorFlow Lite for Microcontrollers examples

Imfortant Ref: https://blog.arduino.cc/2019/10/15/get-started-with-machine-learning-on-arduino/

  • Examples in Arduino_TensorFlowLite :micro_speech, person_detection, etc.
  • Examples in Arduino_LSM9DS1 helps to read accelerometer and gyroscope(陀螺儀) values
  • Examples in ArduinoBLE deal with BLE connection tasks
  • 視所需下載程式庫,尚有溫濕度、壓力感測等等範例可使用...

Gesture Recognition Tutorial

  • 在Arduino執行IMU_Capture.ino來搜集姿勢資料(手握Arduino進行flex與punch兩種動作,或其他欲進行辨識的動作) ➡️ 複製序列埠data ➡️ 將一種姿勢資料做成.csv檔案。記得將空白列刪除(可透過excel),否則訓練時會出現nan錯誤。
  • 開啟arduino_gesture_recog.ipynb ➡️ 匯入flex.csv與punch.csv檔案 ➡️ 進行訓練 ➡️ 匯出model.h
  • 回到Arduino開啟IMU_Classifier.ino
  • 在Arduino新增Tab ➡️ 命名為model.h ➡️ 將由colab(ipynb file)匯出之model.h內容複製貼上。(或是直接將model.h放置於IMU_Classifier資料夾內)
  • 最後編譯上傳IMU_Classifier.ino至開發版,開啟序列埠
    • 執行flex動作時,序列埠呈現:
    • 執行punch動作時,序列埠呈現:
  • Future Attempt: 利用Emoji_Button.ino來輸出Gesture圖案
  • Other pojects: https://create.arduino.cc/projecthub/dgiancono/nano33blesensor-getting-started-with-the-nano-33-ble-sense-8a7eba

About

Gesture Recognition using Arduino nano 33 BLE sense

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published