技術士をとってからの日記

一般企業に勤めている技術士(金属)の30代。技術士をとってからの日常、CPDについて書ければいいと思っています。あと競馬。

光センサモジュールを2つ利用(失敗中)

前日の記事からプログラム中不要なものを削除して、その後光センサモジュールを2つ対応、出力しようとした。

#include <SD.h>

//---SDCard D4 pin
const int sd_chip_select = 4;

//---テスト用
int test_count = 0;
String test_str = "";
String test_str2 = "";

int val=0;
int val2=0;

void setup() {

    //---Serialポートを開く
    Serial.begin(9800);
     pinMode(SS, OUTPUT);

    Serial.print(F("SDCard:"));

    //---SDライブラリの初期化エラー
    if(!SD.begin(sd_chip_select)) {

        Serial.println(F(" error..."));

    }else{

        Serial.println(F(" OK"));

        //---ファイル一覧を表示
        Serial.println(F("----------------------------"));
        Serial.println(F("----------------------------"));
    }
}

void loop(){
  val=digitalRead(1);
      //---文字列に追記
    test_str += val;
    test_str +=",";

    //---文字列を書き込み
    SdFileWrite("SEN1.csv", test_str);


    Serial.println(val);
    
  val2=digitalRead(2);
      //---文字列に追記
    test_str2 += val2;
    test_str2 +=",";

    //---文字列を書き込み
    SdFileWrite("SEN2.csv", test_str2);


    Serial.println(val2);

    delay(5000);
}

void SdFileWrite(String p_file_name, String p_str) {

    //---上書きモードでファイルを開く
    File file = SD.open(p_file_name , FILE_WRITE | O_TRUNC);

    if(file){

        //---書き込み
        file.print(p_str); 

    } else{

        Serial.println(F(" error..."));
    }

    //---ファイルを閉じる
    file.close();
}

とりあえずブレッドボード上に光センサモジュールをとりつけてテストしてみたが、コンパイルはできるがマイコンボードに書き込めない事象が発生した。
原因と対処方法をなるべく早くに調べて明日以降こそ複数のセンサモジュールを利用できるようにしたい。