前提・実現したいこと
M5Stack gray を使用してセンサデータを取得し,そのデータをGoogle Drive にアップロードするというシステムを構築しています.
発生している問題・エラーメッセージ
①センサデータを取得する
②Wi-Fiに接続して Google Drive にアップロードする
この2つのタスクを別々のプログラムで実現することはできました. しかし,これらを組み合わせた1つのプログラムを実行するとセンサ値が0固定として出力され,正しい結果を得ることができません.
該当のソースコード
Arduino
1#include <M5Stack.h> 2#include <WiFi.h> // Wifi制御用ライブラリ 3#include <time.h> // 時刻制御用ライブラリ 4 5int i =0; 6int PIN = 2; 7// Wi-FiのSSID 8char *ssid = "..."; 9// Wi-Fiのパスワード 10char *password = "..."; 11 12// NTP接続情報 NTP connection information. 13const char* ntpServer = "ntp.nict.jp"; 14const long gmtOffset_sec = 3600 * 9; 15const int daylightOffset_sec = 0; 16 17void printLocalTime() 18{ 19 struct tm timeinfo; 20 21 if(!getLocalTime(&timeinfo)){ 22 M5.Lcd.println("Failed to obtain time"); 23 return; 24 } 25 M5.Lcd.printf("%04d-%02d-%02d %02d:%02d:%01d" 26 ,timeinfo.tm_year + 1900 27 ,timeinfo.tm_mon 28 ,timeinfo.tm_mday 29 ,timeinfo.tm_hour 30 ,timeinfo.tm_min 31 ,timeinfo.tm_sec 32 ); 33} 34 35void setup_wifi(){ 36 // WiFi開始 37 WiFi.begin(ssid, password); 38 39 // Wi-Fi接続待ち 40 while (WiFi.status() != WL_CONNECTED){ 41 delay(500); 42 M5.Lcd.print("."); 43 } 44 // WiFi接続成功メッセージの表示 45 //Serial.println("\nWiFi Connected."); 46 //M5.Lcd.setCursor(10, 40); 47 //M5.Lcd.setTextColor(WHITE); 48 //M5.Lcd.setTextSize(2); 49 //M5.Lcd.println("WiFi Connected."); 50} 51 52void setup(){ 53 M5.begin(); 54 M5.Lcd.setTextSize(2); 55 setup_wifi(); 56} 57 58void loop(){ 59 int value = analogRead(PIN); 60 M5.Lcd.println(value); 61 delay(500); 62 i=i+1; 63 if(i==10){ 64 M5.Lcd.clear(); 65 M5.Lcd.setCursor(0,0); 66 // 時刻同期関数 67 //configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); 68 //printLocalTime(); 69 i=0; 70 } 71}
試したこと
上記のプログラムを実行したところWi-Fi接続は完了できますがanalogReadの出力が0となります.
setup_wifi()をコメントアウトすれば正しいセンサ値が出力されます.
補足情報(FW/ツールのバージョンなど)
PCの再起動や接続するWi-Fiを変更しましたが,同様の事象が起こります.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 03:59