///////////////////////////////// // aqtkpico_i2c - I2C通信で AquesTalk Pico LSIを操作するArdionoスケッチ // // by N.Yamazaki AQUEST Corp. #include #define I2C_ADDR_PICO 0x2E // PicoのデフォルトのI2Cアドレス // ローマ字音声記号列 // コマンドの最後のCR('\r')を忘れずに const char *TblKoe[] = { "konnnichiwa\r", "yukkurisiteittene\r", "akuesuto-ku/pi'ko ba-jyonn .\r", "dennwaba'nngo-wa desu.\r", ";/desu.\r", "#J\r", // チャイム音J "#K\r", // チャイム音K }; void setup() { Wire.begin(); // Arduino側をI2C Masterとして初期化 } void loop() { for(int iMsg=0; iMsg0){ byte c = Wire.read(); if(c=='*' || c==0xFF) delay(10); // Busy応答は10msec以上待つ必要がある else if(c=='>') break; // Ready応答 } else { // NOACK または応答がなかった時 // Picoが動いていない可能性が高い return 1; //ERR } } return 0; // OK }