|
Arduino小書兩枚 |
|
兩顆Shift Register控制10 pin LED Bar 一 |
|
兩顆Shift Register控制10 pin LED Bar 二 |
我實在沒天賦把線剪的弄的一模一樣照起來又漂亮又整齊(@@")。用兩個shift register來控制10 pin LED Bar,這樣就只會用到Arduino Uno三個Pin(不算Vcc和GND)。目前體驗到關鍵點在於
- Shift Register的接法,第一顆的Q7' (Q7S)腳位接到第二顆的DS腳位,第二顆的ST_CP, SH_CP都分別和第一顆接起來。
- 要送出去的資料會用到
highByte()
和lowByte
這兩個method,順序是high byte部分先送,再送low byte。
void loop() {
// 1024 = 2^10
for( int numberToDisplay = 0; numberToDisplay < 1024; numberToDisplay++ ) {
byte high_byte = highByte( numberToDisplay );
byte low_byte = lowByte( numberToDisplay );
Serial.println( numberToDisplay );
digitalWrite( LATCH_PIN, LOW );
// bitOrder: which order to shift out the bits; either MSBFIRST or LSBFIRST.
// (Most Significant Bit First, or, Least Significant Bit First)
shiftOut( DATA_PIN, CLOCK_PIN, MSBFIRST, high_byte );
shiftOut( DATA_PIN, CLOCK_PIN, MSBFIRST, low_byte );
digitalWrite( LATCH_PIN, HIGH );
delay( 500 );
}
}
弄好已經太晚就沒有繼續做加上可變電阻將analogRead()
的值透過map()
把比例顯示在LED Bar上。
沒有留言:
張貼留言