Arduinoで74HC595を使用したデジタル出力の拡張方法


  1. 必要な材料:

    • Arduinoボード
    • 74HC595シフトレジスタ
    • ブレッドボードとジャンパーワイヤー
  2. 接続方法:

    • Arduinoの5Vピンを74HC595のVCCピンに接続します。
    • ArduinoのGNDピンを74HC595のGNDピンに接続します。
    • Arduinoのデジタルピン(たとえば、デジタルピン8)を74HC595のSER(Serial Data Input)ピンに接続します。
    • Arduinoのデジタルピン(たとえば、デジタルピン9)を74HC595のSRCLK(Shift Register Clock)ピンに接続します。
    • Arduinoのデジタルピン(たとえば、デジタルピン10)を74HC595のRCLK(Register Clock)ピンに接続します。
  3. コード例: 以下に、74HC595を使用してLEDを点滅させる簡単なコード例を示します。

    // 必要なライブラリをインクルード
    #include <Arduino.h>
    // 接続した74HC595のピン番号を指定
    const int SER_Pin = 8;  // SERピン
    const int SRCLK_Pin = 9;  // SRCLKピン
    const int RCLK_Pin = 10;  // RCLKピン
    void setup() {
     // ピンモードを設定
     pinMode(SER_Pin, OUTPUT);
     pinMode(SRCLK_Pin, OUTPUT);
     pinMode(RCLK_Pin, OUTPUT);
    }
    void loop() {
     // データをシフトレジスタに送信
     shiftOut(SER_Pin, SRCLK_Pin, MSBFIRST, B00000001);
     // レジスタの内容を出力
     digitalWrite(RCLK_Pin, HIGH);
     digitalWrite(RCLK_Pin, LOW);
     // 一定時間待機
     delay(1000);
     // 別のデータをシフトレジスタに送信
     shiftOut(SER_Pin, SRCLK_Pin, MSBFIRST, B00000000);
     // レジスタの内容を出力
     digitalWrite(RCLK_Pin, HIGH);
     digitalWrite(RCLK_Pin, LOW);
     // 一定時間待機
     delay(1000);
    }

    このコードでは、74HC595のSERピンにデータをシフトインし、RCLKピンで出力します。上記の例では、LEDを点滅させるためにデータを送信しています。

このように、74HC595を使用すると、Arduinoのデジタルピン数を拡張することができます。さまざまなデジタル出力を制御するために、74HC595を利用して便利なプロジェクトを作成することができます。