Arduino nano の互換性
Arduino nano Every
手持ちの台数不足のため、自動運転スケッチは nano3だけで、nano Everyの動作チェックは行っていませんでした。「秋月電子の部品だけで完成します」と謳っている立場上まずいので、DSairから取り出して動かしてみたら端っからビルドエラーが。
S88.cpp:318:3: error: '_delay_us' was not declared in this scope
S88.cppはゲヌマ・フジガヤ2さんのS88 Detectorから拝借したフォトリフレクタ処理コードです。delayMicroseconds()に置き換えるとビルドは通りますが、ネットの情報によると精度が悪いそうなので、sakuraさんのサイトの wait()関数を拝借しました。チックカウントを取得する micros()を使ってディレイを作る関数です。
Arduino nano Everyボードはチェックが厳格なのか requestFrom()の引数の型でワーニングが出たので、(uint8_t, size_t)にキャストしました。Wire.hにはrequestFrom(int, int)とrequestFrom(uint8_t, size_t)のオーバーロードがあります。
無事、Everyで自動運転が出来ました。
最近のコメント