Arduinoにホールセンサを取り付け、磁石を取り付けた自転車の車輪の回転を読み取り回転数を計るデバイスを作成しました。
(公式で配布されているこちらのソフトのシリアルポート上での動作を確認済み)
このデバイスをUnityで使用する為に、有料アセットのArduinoを購入し、参考サイトこちらのページに記載されている通りに手順を進め、ライトの点灯を試してみた所、問題なく動作しました。
しかし、ライトの点灯プログラム(上記のページではBlinkyLight.cs)を、回転を読み取るプログラムに書き換えた所、磁力を読み取れなくなってしまいました。
C#
1#include <BD7411.h> 2 3 4int hallout_pin = 0; // use D0 pin 5int _cnt = 0; 6bool _flg = false; 7BD7411 bd7411; 8 9void setup() { 10 Serial.begin(9600); 11 while (!Serial); 12 bd7411.init(hallout_pin); 13 Serial.println("BD7411G Sample"); 14} 15 16void loop() { 17 int hallout; 18 hallout = bd7411.readoutpin(); 19 if (hallout == 0 && _flg == false) { 20 Serial.print("BD7411G Magnet field Detect! - "); 21 _flg = true; 22 _cnt++; 23 Serial.println(_cnt); 24 } else { 25 _flg = false; 26 } 27 28 delay(30); 29}
使用しているコードはこちらになります。
Arduino公式のソフトで問題なく使用でき、Uniduinoで使用できないという事は、何か特別なコードの書き方があるという事なのでしょうか?
ご協力頂けましたら幸いです。よろしくお願いいたします。
追記:エラーメッセージを書き忘れていました。よろしくお願いします。
あなたの回答
tips
プレビュー