📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

文字列「</source>」を「</syntaxhighlight>」に置換
 
(同じ利用者による、間の1版が非表示)
61行目: 61行目:
この時、shiftOut()関数を呼ぶ前に、ラッチ(RCLK)をLowにセットする。<br>
この時、shiftOut()関数を呼ぶ前に、ラッチ(RCLK)をLowにセットする。<br>
shiftOut()関数の呼び出し後にラッチ(RCLK)をHighにセットすることで出力が有効になる。<br>
shiftOut()関数の呼び出し後にラッチ(RCLK)をHighにセットすることで出力が有効になる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  const int PIN_SER    =  8;
  const int PIN_SER    =  8;
  const int PIN_LATCH  =  9;
  const int PIN_LATCH  =  9;
83行目: 83行目:
   
   
  }
  }
  </source>
  </syntaxhighlight>
<br>
<br>
上記の例では、セットするデータとしてB11000000としている。(以下のように、10進数で初期化しても同様)<br>
上記の例では、セットするデータとしてB11000000としている。(以下のように、10進数で初期化しても同様)<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  byte b = (byte)192; // B11000000 or 0xC0 と同じ
  byte b = (byte)192; // B11000000 or 0xC0 と同じ
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


115行目: 115行目:
このセクションでは、左から右へLEDが流れるように光るサンプルコードを記述する。<br>
このセクションでは、左から右へLEDが流れるように光るサンプルコードを記述する。<br>
以下の例では、点灯するLEDのパターンをbyte型配列で設定して、その配列の要素の値を順番に<code>shiftOut()</code>関数でシフトレジスタにセットしている。<br>
以下の例では、点灯するLEDのパターンをbyte型配列で設定して、その配列の要素の値を順番に<code>shiftOut()</code>関数でシフトレジスタにセットしている。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  const int PIN_SER  =  8;
  const int PIN_SER  =  8;
  const int PIN_LATCH =  9;
  const int PIN_LATCH =  9;
155行目: 155行目:
     }
     }
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


174行目: 174行目:
<br>
<br>
Arduinoのプログラムを以下のように記述する。<br>
Arduinoのプログラムを以下のように記述する。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  const int PIN_SER  =  8;
  const int PIN_SER  =  8;
  const int PIN_LATCH =  9;
  const int PIN_LATCH =  9;
198行目: 198行目:
   
   
  }
  }
  </source>
  </syntaxhighlight>
<br>
<br>
下図左が前段のシフトレジスタ(74HC595)で、下図右が後段のシフトレジスタ(74HC595)である。<br>
下図左が前段のシフトレジスタ(74HC595)で、下図右が後段のシフトレジスタ(74HC595)である。<br>
211行目: 211行目:
<br>
<br>
LSBFIRSTのビット順なので、プログラムに記載したB11010001とB00110011がそのままLEDのオン(1がON)、オフ(0がOFF)となる。<br>
LSBFIRSTのビット順なので、プログラムに記載したB11010001とB00110011がそのままLEDのオン(1がON)、オフ(0がOFF)となる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  byte b1 = B11010001;
  byte b1 = B11010001;
  byte b2 = B00110011;
  byte b2 = B00110011;
219行目: 219行目:
  shiftOut(PIN_SER, PIN_CLK, LSBFIRST, b1);
  shiftOut(PIN_SER, PIN_CLK, LSBFIRST, b1);
  digitalWrite(PIN_LATCH, HIGH);
  digitalWrite(PIN_LATCH, HIGH);
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Arduino]]
[[カテゴリ:Arduino]]