Presentation is loading. Please wait.

Presentation is loading. Please wait.

第二組 體重計連接wifi 組員:S0453013 羅翊甄 S0453025 江德輝 S0453015 江鴻儀 S0453022 陳彥任.

Similar presentations


Presentation on theme: "第二組 體重計連接wifi 組員:S0453013 羅翊甄 S0453025 江德輝 S0453015 江鴻儀 S0453022 陳彥任."— Presentation transcript:

1 第二組 體重計連接wifi 組員:S 羅翊甄 S 江德輝 S 江鴻儀 S 陳彥任

2 分工 體重計訊號傳輸:羅翊甄,江德輝 wifi模組:陳彥任 手機app:江鴻儀

3 流程圖 INA125 體重計 arduino 電腦 手機APP wifi

4 體重計訊號 體重計(四個負重傳感器)+計算晶片

5 體重計訊號 簡單來說,體重計就是由四個負重傳感器還一組片組成 load cell

6 INA125的接腳

7 體重計訊號-INA125

8 體重計訊號 再將load cell 接到晶片INA125

9 體重計訊號

10 wifi

11 更改鮑率 使用Realterm、PL2303HX、ESP燒錄軟體

12 設定wifi 使用AT指令 AT+CWMODE=1 AT+CIPMUX=0 AT+CWJAP= "SSID","PASS"

13 接上Arduino

14 Arduino 程式 #include <SoftwareSerial.h>
String api_key="HHZDRM0GQJAHXUY6"; SoftwareSerial sSerial(4,5); float loadA = 10.4; int analogvalA = 156; float loadB = 15.3; int analogvalB = 184; float analogValueAverage = 0; long time = 0; int timeBetweenReadings = 1000; void setup() { Serial.begin(9600); sSerial.begin(9600); } void loop() { //////////////////////////////////////////////////// float h=getload(); if(h>0.001) { if (isnan(h)){ Serial.println("Failed to read from sensor!"); return;

15 Arduino 程式 String param="&field1=" + (String)h;
String cmd="AT+CIPSTART=\"TCP\",\" \",80"; sSerial.println(cmd); if (sSerial.find("Error")) { Serial.println("AT+CIPSTART error!"); return; } Serial.println(cmd); String GET="GET /update?api_key=" + api_key + param + "\r\n\r\n"; Serial.println(GET); cmd="AT+CIPSEND=" + String(GET.length()); if (sSerial.find(">")) sSerial.print(GET); else sSerial.println("AT+CIPCLOSE"); Serial.println("AT+CIPCLOSE"); delay(16000); ////////////////////////////////////////////////////////////////////////////////

16 Arduino 程式 float analogToLoad(float analogval){
float load = mapfloat(analogval, analogvalA, analogvalB, loadA, loadB); return load; } //////////////////////////////////////////////////////////////////////////////// float mapfloat(float x, float in_min, float in_max, float out_min, float out_max){ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; float getload() { int analogValue = analogRead(0); analogValueAverage = 0.99*analogValueAverage *analogValue; if(millis() > time + timeBetweenReadings) float weigth = analogToLoad(analogValue); time = millis(); return weigth;

17 成品圖

18 Thinkspeak 運用雲端儲存wifi傳的值

19 手機app 手機app顯示雲端接收到的值

20 改善空間 因為Thinkspeak更新一次需要16秒的時間,所以沒辦法無 時無刻取得體重的數值
因為一站上去體重計就會傳值,所以會不準,所以要有第 二次的測量

21 謝謝


Download ppt "第二組 體重計連接wifi 組員:S0453013 羅翊甄 S0453025 江德輝 S0453015 江鴻儀 S0453022 陳彥任."

Similar presentations


Ads by Google