コンデンサの動作確認
またしても初心者レベルのはなし。コンデンサの放電を確認する。
回路
コンデンサの放電状況をマイコン(Arduino互換機)からつくるため、トライステートバッファを用いることとした。トライステートバッファについては、「エレキ素人が何か考える(その13):トライステートバッファ」を参照されたい。後述する検証と同一ではないが、回路的には下記のようなものである。
左にあるものがトライステートバッファであり、ここでは矩形波により、5V供給またはハイインピーダンス(配線なし)状態を作り出している。ハイインピーダンスになると、コンデンサが放電を始め、LEDが徐々に消える。
ソースコード
トライステートバッファを制御(On/Off)するコードである。
#define PIN 5
uint32_t val = 500; // ms
void setup() {
Serial.begin(9600);
pinMode(PIN, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
String data = Serial.readStringUntil('\n');
val = data.toInt();
Serial.println(val);
}
digitalWrite(PIN, LOW); // Active LOW for tristate buffer
delay(val);
digitalWrite(PIN, HIGH);
delay(2000);
}
LOW時に5Vが供給され、HIGH時にハイインピーダンスとなる。なお、シリアル(PC)からの入力値により、On(Low)の時間を変化させている(あまり意味はなかったかも)。
検証
様子
LEDの上にあるものがコンデンサ、左のものがトライステートバッファである。少々わかりにくいかもしれないが、LEDが徐々に暗くなっている。
オシロスコープの波形
オレンジがコンデンサとLEDとの間の波形、青がトライステートバッファ直後の波形である。
コンデンサの放電が観測されている。まずは、こんなところか。
EOF