注:すべてのOSOYOO製品は、ARDUINOコンテンツと完全に互換性のある第三者ボードです。

コンテンツ

  1. はじめに
  2. 準備
  3. 555 Timer ICについて
  4. 555発振回路の周波数テスト

はじめに

このレッスンでは、555タイマーICを紹介します。555タイマーICは、学生やホビイストの間でよく使われているICの1つです。このICのアプリケーションはたくさんあり、主にASTABLE MULTIVIBRATOR、MONOSTABLE MULTIVIBRATOR、BISTABLE MULTIVIBRATORなどのバイブレータとして使われています。555タイマーICとOsoyoo Unoボードを使った面白い回路をいくつか紹介します。

準備

ハードウェア

ソフトウェア

555タイマーICについて

555タイマーICとは?

555タイマーICは、さまざまなタイマー、パルス生成、および発振器アプリケーションで使用される集積回路(チップ)です。555は、時間遅延、発振器、フリップフロップ素子として使用できます。

555タイマーは、2つのコンパレータの基準電圧を生成するために使用される3つの5kΩ抵抗からその名前が付けられ、単一のパルスまたは長い時間遅延を生成するための単純なタイマーとして、または50〜100%の様々なデューティサイクルの安定化波形を生成する弛緩発振器として動作することができ、非常に安価で、一般的で有用な高精度タイミングデバイスです。

555タイマー・チップは非常に堅牢で安定した8ピン・デバイスで、非常に正確な単安定、双安定、または準安定マルチバイブレーターとして動作させることができ、ワンショットまたは遅延タイマー、パルス発生、LEDおよびランプ点滅器、アラームおよびトーン発生、ロジック・クロック、周波数分割、電源およびコンバーターなど、さまざまなアプリケーションに使用できます。

555タイマーの内部回路を表す簡略化した「ブロック図」を以下に示します。各接続ピンの簡単な説明とともに、555タイマーがどのように動作するかをより明確に理解するのに役立ちます。

Pinout

555 タイマーのピン配置を説明します。555タイマーは8ピンICです。これは8つの異なるピンがあり、それぞれがICの異なる機能を持っていることを意味します。

動作モード

IC555 には 3 つの動作モードがあります。これらの動作モードは、実際には3つの異なるマルチバイブレータ構成に対応しています。

  1. Astable モード – セルフ・トリガーまたはフリー・ランニング・モードとも呼ばれます。安定状態はありません。2つの準安定状態があり、自動的に切り替わる。あらかじめ決められた時間が経過すると、トリガー入力がなくてもHigh状態からLow状態、Low状態からHigh状態に変化する。このモードは、矩形波発振、クロックパルス、PWM波などの生成に使用されます。
  2. 単安定モード – シングル・ショット・モードとも呼ばれる。1つの安定状態と1つの準安定状態がある。トリガ入力が入ると安定状態から準安定状態にジャンプし、あらかじめ決められた時間が経過すると自動的に安定状態に戻る。パルスの発生や時間遅延などに使用される。
  3. 双安定モード – フリップフロップ・モードとも呼ばれる。両方の安定状態を持つ。2つの異なるトリガー入力を印加することで、HighからLow、LowからHighに状態を変化させます。自動スイッチング・アプリケーションや、可変時間のパルス生成などに使用されます。

このICの詳細については、こちらのリンクを参照してください。

555発振回路の周波数をテストする

概要

この例では、Osoyoo Unoボードを使用して、555発振回路が生成する矩形波の周波数をテストし、シリアルモニタに表示します。

接続方法

以下のように回路を作ります:

スケッチをアップロードする

上記の操作が完了したら、USBケーブルを使ってArduinoボードとコンピューターを接続します。緑色の電源LED(PWRと表示)が点灯するはずです。以下のスケッチをArduinoにロードします。

int pin = 7; //pin 7 connected to the third pin of NE555 unsigned long duration; //the variable to store the length of the pulse  void setup() { pinMode(pin, INPUT); //set the pin as an input Serial.begin(9600); // start serial port at 9600 bps } void loop() { duration = pulseIn(pin, HIGH); //Reads a pulse on pin Serial.print(duration); //print the length of the pulse on the serial monitor Serial.println(); //print an blank on serial monitor delay(500); //wait for 500 ms }

実行結果

アップロードが終了して数秒後、シリアルモニターを開くと、ポテンショメーターを回転させていることがわかる:

表示されるパルスの長さ(マイクロ秒)もそれに応じて変化する。