-
必要な材料:
- Arduinoボード
- シフトレジスタ(例: 74HC595)
- ジャンパーワイヤー
- LED(任意)
-
回路接続:
- Arduinoのデジタルピン9をシフトレジスタのデータ入力(DS)に接続します。
- Arduinoのデジタルピン10をシフトレジスタのクロック入力(SH_CPまたはSRCLK)に接続します。
- Arduinoのデジタルピン11をシフトレジスタのラッチ入力(ST_CPまたはRCLK)に接続します。
- シフトレジスタの出力(Q0-Q7)を制御したいデバイス(例: LED)に接続します。
-
Arduinoコードの例: 以下のコードは、シフトレジスタを使用してLEDを制御する例です。
// 必要なライブラリをインクルード #include <ShiftRegister.h> // シフトレジスタのピン設定 const int DS_PIN = 9; // データ入力ピン const int SH_CP_PIN = 10; // クロック入力ピン const int ST_CP_PIN = 11; // ラッチ入力ピン // ShiftRegisterオブジェクトを作成 ShiftRegister sr(DS_PIN, SH_CP_PIN, ST_CP_PIN); void setup() { // シフトレジスタの初期化 sr.begin(); } void loop() { // LEDを順番に点灯 for (int i = 0; i < 8; i++) { sr.set(i, HIGH); // i番目のビットをHIGHに設定 sr.update(); // シフトレジスタを更新 delay(500); // 500ミリ秒待機 sr.set(i, LOW); // i番目のビットをLOWに設定 } }
このコードでは、ShiftRegisterライブラリを使用してシフトレジスタを制御しています。
ShiftRegister
オブジェクトを作成し、begin()
関数で初期化します。set()
関数を使用して特定のビットをHIGHまたはLOWに設定し、update()
関数でシフトレジスタを更新します。loop()
関数内でLEDを順番に点灯させています。上記のコードをArduinoにアップロードし、回路を組み立てた後、シフトレジスタを使用してデバイスを制御することができます。この例ではLEDを使用していますが、他のデバイスも同様に制御できます。
以上がArduinoでシフトレジスタを使用する方法とコード例です。これを基にして自分のプロジェクトに応じた回路とコードを作成し、さまざまなデバイスを制御してみてください。