ウォッチドッグタイマ(番犬)の使い方 [Arduino]
ハードウェア、ソフトウェア問わずにシステム異常を検知する「番犬」です。

異常を検知する方法は、今回のTA8030SではRC回路による「コンデンサの充電時間」を利用します。
~ 番犬の流れ ~
システムの「何らかの処理」の実行前にコンデンサの充電を開始して、処理が終了したらコンデンサを放電します。
システム正常時は処理の後に必ずコンデンサを放電しますが、異常時は放電ができないのでコンデンサが満タンになります。満タンになるとTA8030SのRST1ピンから「リセット信号」が出力されます。このリセット信号がシステムの異常信号となります。
この番犬の手法は、機械屋さんの「例外処理」となります。
(TA8030Sはコンデンサの充電開始が2Vからで満タンが4Vです。今回はC1とR1を調整して満タンになるまでは約15秒間としています。)
リンク先は0Vからの充電時間の計算です。今回の番犬は2Vから充電開始ですので計算結果が異なりますので「参考程度」にして下さい。
使用部品・材料
総額で約560円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
ウォッチドッグタイマ TA8030S | ¥20 | 秋月電子の通販コード(I-09600) |
タクトスイッチ | ¥10 | 秋月電子の通販コード(P-03647) |
電解コンデンサー100μF25V85℃(ルビコンPK) | ¥10 | 秋月電子の通販コード(P-03122) |
5mm赤色LED OSDR5113A | ¥20 | 秋月電子の通販コード(I-11655) |
カーボン抵抗器 | 数円 | 100kΩ(1個)、10kΩ(2個)、220Ω(1個)を使用。 |
配線図
C1に100μF、R1に100kΩを使用することによりコンデンサが満タン(4V)になるまでの充電時間を約15秒としています。この値はシステムによって適宜、変更して下さい。

次は公式データシートより(TA8030.pdf)



スケッチ(プログラム)
暴走ボタンを約15秒間、押し続けると擬似的に「システム異常」を発生させます。システムが異常になるとLEDが点灯するようにしています。
void setup() { Serial.begin(9600); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,INPUT); } void loop() { int val = analogRead(A0); // システムの暴走を知らせるLEDを点灯 if(val < 100){ digitalWrite(7,HIGH); Serial.println("システムが暴走しました。リセットボタンを押してください。"); } // コンデンサの充電開始 digitalWrite(8,LOW); // 本来はココに「何らかの処理」を記述する // その処理が完了したらHIGHにしてコンデンサを放電します。 // 暴走ボタンを押した状態は「何らかの処理中」とする if(digitalRead(9) == LOW){ digitalWrite(8,HIGH); } }
実行例

掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte