###前提・実現したいこと
Arduinoを使用して、デジタル出力MEMSマイク変換基盤を制御したいです。
https://www.switch-science.com/catalog/3379/
このマイクです。
どうしても制御をおこないたいです。よろしくお願いします。
###発生している問題・エラーメッセージ
https://teratail.com/questions/98219
https://teratail.com/questions/109814
この2つのサイトを参考に行っています。
しかし、シリアルモニタには、4047の値しかかえってきません。
なんの値で、正常に動いているのかもわかりません。
###該当のソースコード
♯define kOutClock 5
♯define kInSignal 4
void setup() {
Serial.begin(115200);
pinMode(kOutClock, OUTPUT);
pinMode(kInSignal, INPUT);
}
const int kMaxLoop = 100;
const int kMaxDAC = 4095;
const int kMaxRate = 2000 / kMaxLoop;
const int kMaxOffset = kMaxDAC / 2;
const int kOutLoop = 10000 / kMaxLoop;
long a, b;
void loop() {
while (1) {
for (int i = 0; i < kOutLoop; i++) {
int count = 0;
for (int l = 0; l < kMaxLoop; l++) {
digitalWrite(kOutClock, LOW);
a++; b++;
if (digitalRead(kInSignal) == HIGH) {
count++;
}
else {
count--;
}
if (l < kMaxLoop - 1) {
digitalWrite(kOutClock, HIGH);
digitalWrite(kOutClock, HIGH);
}
}
count = count * kMaxRate + kMaxOffset;
Serial.println(count);
}
}
}
###補足情報
このマイクを動かした後には、周波数を計測したいと考えています。
接続は、VDD(3.3V)、GND、CLK(PIN5)、DATA(PIN4)、SEL(GND)で接続しています。
