LESSON 018
シフトレジスタ(74HC595)を用いてバーサライター作ろう。
LESSON 017 では 任意のデータを信号に変換する方法について実験しました。今回はバーサライターの作り方について実験していきましょう。
バーサライターとは、LEDを点滅させこのLEDを振るか、回転させる事(LEDを固定し頭を方を振るという方法もありますが・・)により残像現象で文字や画像を映し出すことが出来ます。
LEDを振ると「ABC」の文字が表示しますが、あんまり綺麗に撮れませんでした。
目 次
-
- 構成部品
- 配線図
- スケッチ
- 解説
- まとめ
const int SER = 8;
const int RCLK = 9;
const int SRCLK = 10;
const int t = 3;
const int ta =15;
int a;
byte dataB[] = {
B00000111,
B00111000,
B01001000,
B10001000,
B10001000,
B01001000,
B00111000,
B00000111,
B00000000,
B00000000,
B11111111,
B10010001,
B10010001,
B10010001,
B10010001,
B10010001,
B01011010,
B00100100,
B00000000,
B00000000,
B01111110,
B10000001,
B10000001,
B10000001,
B10000001,
B10000001,
B01000010,
B00100100,
B00000000,
B00000000,
};
void setup() {
pinMode(SRCLK, OUTPUT);
pinMode(RCLK, OUTPUT);
pinMode(SER, OUTPUT);
}
void loop() {
delay(ta);
for ( int i=0; i<29; i++ ) {
shiftOut(SER,SRCLK, LSBFIRST, dataB[i]);
digitalWrite(RCLK, LOW);
digitalWrite(RCLK, HIGH);
delay(t);
}
delay(ta);
for ( int i=28; i<=0; i-- ) {
shiftOut(SER,SRCLK, LSBFIRST, dataB[i]);
digitalWrite(RCLK, LOW);
digitalWrite(RCLK, HIGH);
delay(t);
}
}
リンク
○ ブレッドボードにシフトレジスタ(74HC595)とLEDを挿した状態でケーブルが繋がったままでブレッドボードを振ったのである程度「ABC」の文字が浮かび上がりましたが、コンパクトにまとめたら夏休みの自由研究にもできるかもしれませんね。
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。