MAX30102 心率血氧檢測 for mBlock5 Arduino Uno

MAX30102 心率血氧檢測採用IIC通訊協定,mBlock5的擴展是針對BrainGO開發板設計,Arduino Uno請自行接到相對應的腳位。相對接腳如下:
Pin1 VIN <=> V+ (3.3v-5v);
Pin2 SDA <=> IIC_SCL ;
Pin3 SCL <=> IIC_SDA ;
Pin4 GND <=> Gnd。

將 24bit 16進制 HTML色碼 (#f8f8f8) 轉換為 TFT_LCD 用的 16bit 16進制 RGB565色碼 (0xffdf)

Arduino IDE

在mBlock5色盤上取得的色碼是#字號開頭的24bit 16進制HTML色碼,例如 #f8f8f8,但是TFT LCD設定顏色是16bit 16進制RGB565色碼,例如 0xffdf

例如,當我們以mBlock5色盤上取得的色碼是#f8f8f8,以下的程式碼是錯的,
tft.setTextColor(#f8f8f8); 因為16進位格式錯誤,以改成0xf8f8f8,所以試著改寫成 tft.setTextColor(0xf8f8f8); 就可以執行了,格式雖然對了,但顏色錯誤,所以將 #f8f8f8 轉換成RGB565色碼 0xffdf,顏色就對了。

以下為轉換函式

long int t24to565(char color_code[8]){
char color_r[3] = {color_code[1],color_code[2]};
char color_g[3] = {color_code[3],color_code[4]};
char color_b[3] = {color_code[5],color_code[6]};
long i565r = strtol( color_r, NULL, 16);
long i565g = strtol( color_g, NULL, 16);
long i565b = strtol( color_b, NULL, 16);
return tft.color565(i565r,i565g,i565b);
}

例如要設定TFT LCD的文字顏色時,使用方法如下:

tft.setTextColor( t24to565(“#f8f8f8”) );

條碼/二維碼 報到/打卡/登錄系統實作 mBlock5+BrainGO+QRcodeScanner+ESP8266+GoogleSheet

本系統主要分為三個部分:
第一:建立IFTTT及GoogleSheet。
第二:條碼/二維碼掃碼後,利用IFTTT將卡片資料登錄至GoogleSheet中。
第三:以mBlock5積木程式去讀取GoogleSheet中已登錄之資料,進行資料分析、畫面呈現及語音播報。

第一:建立 IFTTT及 GoogleSheet。

  1. 請參考站內文章 建立IFTTT程序:如果收到網址要求,則將資料寫入Google試算表
  2. 打開試算表,清空第二列以後的資料,僅留下第一列,並在試算表的 I1 欄位,輸入 =COUNTA(A1:A2)
  3. 以瀏覽器送出網址要求https://maker.ifttt.com/trigger/googlesheet2/with/key/dGxxxxxxxx_g4?value1=1&value2=2,測試是否會新增一列,且I1欄位顯示為2。

第二:條碼/二維碼掃碼後,利用 IFTTT將卡片資料登錄至 GoogleSheet中。

一、硬體線路

BrainGO(Arduino) D3 <-> UTXD ESP8266(ESP-12)
BrainGO(Arduino) D2 <-> URXD ESP8266(ESP-12)
BrainGO(Arduino) V+ <-> VIN ESP8266(ESP-12)
BrainGO(Arduino) GND <-> GND ESP8266(ESP-12)

BrainGO(Arduino) Rx <-> Tx QR Code Scanner
BrainGO(Arduino) Tx <-> Rx QR Code Scanner
BrainGO(Arduino) V+ <-> V+ QR Code Scanner
BrainGO(Arduino) GND <-> GND QR Code Scanner

※請勿必確定ESP8266或其它wifi模組處於可接受AT命令的模式,才能接受BrainGO指令連線wifi。

二、mBlock5積木程式

1.開啟mBlock5

2.加入延伸集

物聯網nodemcu、Bar/QR code scanner、URL encode decode

3.積木程式

請修改wifi積木中的SSIDwifi密碼、你的wifi模組鮑率事件名稱IFTTT公鑰,本例中的我使用的ESP8266鮑率為115200,ESP8266的Tx接至BrainGO的D3、ESP8266的Rx接至BrainGO的D2,事件名稱為googlesheet2。

4.上傳並測試

上傳後,使用Bar/QR code掃描器去掃條碼或二維碼,再去檢查一下是否讀入的資料有被紀錄到google試算表內。傳送時間,約需5秒。

※若測試沒有問題,則BrainGO只要有供電就可以運作了,無需再連接電腦的USB了。

第三:以mBlock5積木程式去讀取GoogleSheet中已登錄之資料,進行資料分析、呈現及語音播報。

一、修改Google試算表

1.設定共用 – 知道連結的使用者 – 編輯者 – 複製連結

2.將共用連結貼到下列的程式積木中

二、mBlock5積木程式

1.積木圖片

2.積木程式

3.修改連接到共用工作表積木

如果貼上的期用連結沒問題的話,按下綠旗執行,就會看到「己連結到Google工作表」的連結成功提示,如下圖。

4.修改變數清單中「編號」及「姓名」的內容,編號應和條碼內容一致,姓名可依實際匯入,登錄時間不用理會。

附錄:

[ 實用] QRExplore,快速生成QRCode 的網 … – 無聊詹軟體資訊站

Follow by Email