Arduino Nanoと4個の74HC595シフトレジスタで32個のLEDを制御:初心者向けガイド
必要なパーツと用品
| Arduino Nano R3 | ×1 |
| Texas Instruments シフトレジスタ - シリアル→パラレル (74HC595) | ×4 |
| フルサイズ ブレッドボード | ×1 |
| LED(汎用) | ×32 |
| 抵抗 100Ω(LEDに合わせて選択) | ×32 |
| ジャンパーワイヤー(大量) | ×1 |
アプリとオンラインサービス
| Arduino IDE |
このプロジェクトについて
これは私ような初心者や「アルデュイノーブ」のために作成したステップバイステップガイドです。
このチュートリアルでは、8ビットシフトレジスタ「74HC595」についての基本的な知識をいくつか解説します。
それらをデイジーチェーン(直列接続)する方法と、HC595ライブラリを使ったコード例を紹介します。
また、いくつかのシフトレジスタで問題に遭遇しました。原因は不明ですが、電力不足だったのかもしれません。
******************************************************************************
必要なリンク:
******************************************************************************
フォロー歓迎のSNSリンク(興味があれば):
- Facebook - fb.me/HeathenHacks
- Twitter - @HeathenHacks
- Instagram - @HeathenHacks
******************************************************************************
(回路図、ブレッドボード配線図、実装写真などは元記事を参照)
サンプルコード(HC595ライブラリ使用)
#include <HC595.h>
const int chipCount = 4; // 直列接続した74HC595の数(最大8)
const int latchPin = 4; // 74HC595のST_CP (ピン12)
const int clockPin = 3; // 74HC595のSH_CP (ピン11)
const int dataPin = 2; // 74HC595のDS (ピン14)
// コンストラクタ
HC595 ledArray(chipCount, latchPin, clockPin, dataPin);
int delayMs = 30;
int lastPin = ledArray.lastPin();
void setup() {
ledArray.reset();
}
void loop() {
// 順番にLEDをON
for (int i = 0; i <= lastPin; i++) {
ledArray.setPin(i, ON);
delay(delayMs);
}
// 逆順にLEDをOFF
for (int i = lastPin; i >= 0; i--) {
ledArray.setPin(i, OFF);
delay(delayMs);
}
// 逆順にトグル
for (int i = lastPin; i >= 0; i--) {
ledArray.setPin(i, TOGGLE);
delay(delayMs);
}
// 順番にトグル
for (int i = 0; i <= lastPin; i++) {
ledArray.setPin(i, TOGGLE);
delay(delayMs);
}
}
HC595ライブラリ (J. Bellavance氏作)
https://github.com/j-bellavance/HC595
回路図
(回路図画像は元記事を参照)
製造プロセス
- DHT11温湿度センサーで作る温度アラート – LEDとピエゾブザーで視覚/聴覚通知
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- ラズベリーパイとNode-REDでAlexaからLEDを制御する - 簡単ステップバイステップガイド
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
- ゲーム用カスタムArduinoジョイスティックハンドルの製作
- ArduinoとTEA5767で作る高性能FMラジオ受信機
- Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き