專案

一般

配置概況

動作

Feature #43

已結束

Feature #57: 壓力感測器(FSR)連接ESP32

壓力感測器(FSR)連接ESP32_壓力計設計

是由 Chifu Chung約 1 年 前加入. 於 12 個月 前更新.

狀態:
Closed
優先權:
Normal
被分派者:
開始日期:
2023-09-25
完成日期:
2023-10-31
完成百分比:

100%

預估工時:

檔案


相關的議題清單 1 (1 進行中0 已結束)

關聯至 硬體組 - Task #231: AWPPG連續裝置製作New凱鋒 王2024-09-02

動作

是由 Chifu Chung約 1 年 前更新

  • 狀態New 變更為 In Progress

是由 Chifu Chung約 1 年 前更新

  • 完成日期 設定為 2023-10-31

是由 Chifu Chung約 1 年 前更新

  • 父議題 設定為 #57

是由 宏益 廖約 1 年 前更新

*採集數據&繪製曲線

實際拿裝置與電子秤來測(如圖)
紀錄FSR值與壓力大小(g)
(裝置盡量放電子秤正中央,記得歸零)

------------------------------------------------------------------------------------------------------------------------------------------------

按照紀錄的數值可於excel中繪製曲線圖
PRESSURE = [250, 500, 1000, 1500, 2000]
FSR = [50, 250, 400, 480, 600]

============================================================================================

*Curve fitting

自行Google "python curve fitting教學"
參考資料: https://www.796t.com/content/1546862273.html

#encoding=utf-8  
import numpy as np
import matplotlib.pyplot as plt

#定義x、y散點座標
num = [0, 250, 500, 1000, 1500, 2000]
x = [0, 50, 250, 400, 480, 600]
y = np.array(num)

#用5次多項式擬合
f1 = np.polyfit(x, y, 5)
p1 = np.poly1d(f1)
print(p1)

#也可使用yvals=np.polyval(f1, x)
yvals = p1(x)  #擬合y值

#繪圖
plot1 = plt.plot(x, y, 's',label='original values')
plot2 = plt.plot(x, yvals, 'r',label='polyfit values')
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc=4) #指定legend的位置右下角
plt.title('polyfitting')
plt.show()
plt.savefig('test.png')

執行完程式會得到類似下面的效果:
x-axis:FSR value
y-axis:壓力(g)

============================================================================================

*壓力計設計(韌體)

  int fsr = 0;
  double pressure = 0;

  fsr = analogRead(FSR_pin);
  pressure = 0.0000009 * pow(x, 3) + 0.003137 * pow(x, 2) + 1.05 * x + 76.28;

  //Serial.printf("FSR = %d\n",fsr);
  //Serial.printf("PRESSURE = %.6f\n",pressure );

  for(int d = 0; d < 10; d++){
    tft.fillRect((DISP_X + 60) + (d * 11), DISP_Y + 185, 10, 10, TFT_SILVER);
    if(pressure > d * 100){
      tft.fillRect((DISP_X + 60) + (d * 11), DISP_Y + 185, 10, 10, TFT_GREEN);
    }
  }

是由 宏益 廖約 1 年 前更新

  • 狀態In Progress 變更為 Resolved

是由 宏益 廖約 1 年 前更新

  • 完成百分比0 變更為 100

是由 Chifu Chung12 個月 前更新

  • 狀態Resolved 變更為 Closed

是由 Chifu Chung3 個月 前更新

  • 關聯至 Task #231: AWPPG連續裝置製作 已新增
動作

匯出至 Atom PDF