【パラメータ】 dataPin: 各ビットを出力するピン clockPin: クロックを出力するピン。dataPinに正しい値がセットされたら、このピンが1回反転します bitOrder: MSBFIRSTまたはLSBFIRSTを指定します。Most Significant Bit Firstは最上位ビットから送ること、Least Significant Bit Firstは最下位ビットから送ることを示します。 value: 送信したいデータ (byte) 【戻り値】 なし 【補足】 dataPinとclockPinは、あらかじめpinMode関数によって出力(OUTPUT)に設定されている必要があります。 【例】 int型のデータをLSB firstで送信します。データは2バイトの大きさなので、1度には送れません。ビットシフト演算を用いて1バイトずつ送ります。 int data = 500; shiftOut(data, clock, LSBFIRST, data); //2バイトの下位を送信 shiftOut(data, clock, LSBFIRST, (data >> 8)); //上位バイト 74HC595シフトレジスタを使って、8つのLEDをひとつずつ順番に光らせます。 int latchPin = 8; // 74HC595のST_CPへ int clockPin = 12; // 74HC595のSH_CPへ int dataPin = 11; // 74HC595のDSへ void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { // LED1からLED8までを順に光らせます for (int j = 0; j < 7; j++) { // 送信中のlatchPinはグランド(LOW)レベル digitalWrite(latchPin, LOW); // シフト演算を使って点灯するLEDを選択しています shiftOut(dataPin, clockPin, LSBFIRST, 1<<j); // 送信終了後latchPinをHIGHにする digitalWrite(latchPin, HIGH); delay(100); } } ![]() ブレッドボードを使った接続の仕方は次のURLで紹介されています。 http://arduino.cc/en/Tutorial/ShiftOut [目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください
[ドキュメント一覧]