「Arduino Mega 2560 LESSON:24 74HC595 と8個の LED」の版間の差分
編集の要約なし |
編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 66行目: | 66行目: | ||
== '''概要''' == | == '''概要''' == | ||
74HC595 と8個の LEDを接続するレッスンです。 | |||
| 72行目: | 72行目: | ||
[[|380px||none|完成図]] | [[ファイル:Mega2560 L24 01 完成図.jpg|380px||none|完成図]] | ||
| 89行目: | 89行目: | ||
コードは以下のようなものです。 | コードは以下のようなものです。 | ||
<freescript></script><div class="hljs-wrap"><pre data-label="Arduino Code" class="pre-wrap"> | <freescript></script><div class="hljs-wrap"><pre data-label="Arduino Code" class="pre-wrap"> | ||
<code class="cpp"> | <code class="cpp">//www.elegoo.com | ||
//2016.12.9 | |||
int tDelay = 1000; | |||
int latchPin = 11; // (11) ST_CP [RCK] on 74HC595 | |||
int clockPin = 9; // (9) SH_CP [SCK] on 74HC595 | |||
int dataPin = 12; // (12) DS [S1] on 74HC595 | |||
byte leds = 0; | |||
void updateShiftRegister() | |||
{ | |||
digitalWrite(latchPin, LOW); | |||
shiftOut(dataPin, clockPin, LSBFIRST, leds); | |||
digitalWrite(latchPin, HIGH); | |||
} | |||
void setup() | |||
{ | |||
pinMode(latchPin, OUTPUT); | |||
pinMode(dataPin, OUTPUT); | |||
pinMode(clockPin, OUTPUT); | |||
} | |||
void loop() | |||
{ | |||
leds = 0; | |||
updateShiftRegister(); | |||
delay(tDelay); | |||
for (int i = 0; i < 8; i++) | |||
{ | |||
bitSet(leds, i); | |||
updateShiftRegister(); | |||
delay(tDelay); | |||
} | |||
} | |||
</code></pre></div><script></freescript> | </code></pre></div><script></freescript> | ||
2026年11月4日 (水) 23:09時点における最新版
概要
74HC595 と8個の LEDを接続するレッスンです。
完成図は以下のとおりです。
PCB図は以下のようなものです。
[[|380px||none|PCB図]]
3Dプレビュー図は以下のようなものです。
[[|380px||none|3Dプレビュー図]]
コードは以下のようなものです。
//www.elegoo.com
//2016.12.9
int tDelay = 1000;
int latchPin = 11; // (11) ST_CP [RCK] on 74HC595
int clockPin = 9; // (9) SH_CP [SCK] on 74HC595
int dataPin = 12; // (12) DS [S1] on 74HC595
byte leds = 0;
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{
leds = 0;
updateShiftRegister();
delay(tDelay);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
updateShiftRegister();
delay(tDelay);
}
}