arduinoとシフトレジスタsn74hc595nを使ってLEDを8つ制御したいです!
しかし
以下にあるプログラムはforで順番に点灯になっています。
ここで任意でLEDを選択し自由に点灯させることは可能でしょうか?
C
1int tDelay = 200; //200ms遅延設定 2int rclkPin = 11; // (11) ST_CP [RCLK] on 74HC595 3int srclkPin = 9; // (9) SH_CP [SRCLK] on 74HC595 4int dsPin = 12; // (12) DS [SER] on 74HC595 5 6byte leds = B00000000; //ledsをbyte型としてb00000000で定義 7 8void setup() 9{ 10 pinMode(rclkPin, OUTPUT); //11番ピンをOUTPUTとして定義 11 pinMode(dsPin, OUTPUT); //12番ピンをOUTPUTとして定義 12 pinMode(srclkPin, OUTPUT); //9番ピンをOUTPUTとして定義 13} 14 15void loop() 16{ 17 // LED1からLED8までのレジスタを初期化。 18 leds = 0; //初期化設定、b00000000(8bitを0にする) 19 digitalWrite(rclkPin, LOW); //送信中のRCLKをLowにする 20 shiftOut(dsPin, srclkPin, LSBFIRST, leds); //全てのLEDを消灯 21 digitalWrite(rclkPin, HIGH); //送信終了後RCLKをHighにする 22 23 delay(tDelay); 24 25 26 void Ledout(uint8_t leds) 27{ 28 for (int i = 0; i < 8; i++) 29 { 30 bitSet(leds, i); 31 digitalWrite(rclkPin, LOW); 32 shiftOut(dsPin, srclkPin, LSBFIRST, leds); 33 digitalWrite(rclkPin, HIGH); 34 digitalWrite(rclkPin, LOW); 35 } 36} 37 38 39 delay(tDelay); 40 } 41
リンク先を張っておきます!
(https://omoroya.com/arduino-lesson20/)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/22 06:20
2019/08/22 06:35
2019/08/22 06:38
2019/08/22 06:45
2019/08/22 07:04
2019/08/22 10:03
2019/08/22 12:06
2019/09/06 12:24
2019/09/06 12:38 編集
2019/09/06 12:53
2019/09/06 13:15
2019/09/06 13:54
2019/09/06 13:55