タイマオシレータ(発振回路)の使い方 [Arduino]
タイマオシレータICのTS3004を使用して1秒毎にLEDを点灯します。
今回のTS3004は「3bitの分周値設定」と「RSETピンに任意の外部抵抗1本」を設置する事で周波数(3.3μ秒 ~ 233秒)をお手軽に設定可能です。
抵抗器は本来は1本で可能ですが、4本で7MΩの合成抵抗値にしています。
使用部品・材料
総額で約770円です。(Arduino本体の値段を除く)
| 部品/材料 | 値段 | 備考 |
|---|---|---|
| サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
| シリコン・タイマオシレータ用IC TS3004 DIPモジュール | ¥250 | 秋月電子の通販コード(K-06854) |
| 5mm赤色LED OSDR5113A | ¥20 | 秋月電子の通販コード(I-11655) |
| カーボン抵抗器 | 数円 | 10MΩ(2個)、1MΩ(2個)、100Ω(1個)を使用。 |
カーボン抵抗器は合成抵抗で7MΩになるようにすれば何でもOKです。(LED用の100Ω除く)
配線図
次は公式データシートより引用(AE_TS3004DIP.pdf)
2枚目は「3bitの分周値設定」(FDIV2:0)で3枚目は周波数の計算方法です。
3枚目の計算式でFDIV2:0を101(10進で5)にしてRSETを7MΩにすると周波数は約2.12秒となります。
実際は「デューティー比50%」ですのでHIGH、LOWがあります。よって、LEDが点灯するHIGH時間は「2.12 ÷ 2」で約1.06秒となります。
7MΩの合成抵抗
10MΩを2つ並列にして5MΩを生成して、そこから1MΩを2つ直列で繋ぐ事により7MΩを実現しています。(他の方法でも可)
FOUTの出力インピーダンス
FOUTの出力インピーダンスは160Ωです。念のために100Ωを直列に繋いで260Ωにしています。
スケッチ(プログラム)
1秒毎にLEDを点灯します。シリアルモニターにはFOUTに出力したHIGH時間を表示します。(LED点灯時間)
uint32_t preTime = 0; // 前回の時間
boolean ON_Flg = false; // FOUTの出力フラグ
void setup() {
Serial.begin(9600);
}
// FOUTに出力したHIGH時間を表示します。(LED点灯時間)
// ※周波数精度は±3%
void loop() {
int val = analogRead(A0);
// 出力がある最初の段階で「実行時間」(前回)を一時的に保存します。
if(val != 0){
if(!ON_Flg){
preTime = millis();
ON_Flg = true;
}
// 出力がない最初の段階で「現在の実行時間」から「前回の実行時間」を引いて、
// FOUTに出力したHIGH時間をシリアモニターに表示します。
}else{
ON_Flg = false;
if(preTime != 0){
Serial.print((millis() - preTime) / 1000.0,4);
Serial.println("秒");
preTime = 0;
}
}
}
シリアルモニター
TS3004の周波数誤差は±3%、カーボン抵抗器の誤差は±5%です。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









