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

mBlock程式設計
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”) );
本系統主要分為三個部分:
第一:建立IFTTT及GoogleSheet。
第二:條碼/二維碼掃碼後,利用IFTTT將卡片資料登錄至GoogleSheet中。
第三:以mBlock5積木程式去讀取GoogleSheet中已登錄之資料,進行資料分析、畫面呈現及語音播報。
※請勿必確定ESP8266或其它wifi模組處於可接受AT命令的模式,才能接受BrainGO指令連線wifi。
物聯網nodemcu、Bar/QR code scanner、URL encode decode
請修改wifi積木中的SSID、wifi密碼、你的wifi模組鮑率、事件名稱及IFTTT公鑰,本例中的我使用的ESP8266鮑率為115200,ESP8266的Tx接至BrainGO的D3、ESP8266的Rx接至BrainGO的D2,事件名稱為googlesheet2。
上傳後,使用Bar/QR code掃描器去掃條碼或二維碼,再去檢查一下是否讀入的資料有被紀錄到google試算表內。傳送時間,約需5秒。
1.設定共用 – 知道連結的使用者 – 編輯者 – 複製連結
2.將共用連結貼到下列的程式積木中
1.積木圖片
2.積木程式
3.修改連接到共用工作表積木
如果貼上的期用連結沒問題的話,按下綠旗執行,就會看到「己連結到Google工作表」的連結成功提示,如下圖。
4.修改變數清單中「編號」及「姓名」的內容,編號應和條碼內容一致,姓名可依實際匯入,登錄時間不用理會。