【 아두이노 센서#9】 시프트 레지스터 이해하기 실습1
지난시간 시프트 레지스터의 개념에 대해 다루었다.(시프트 레지스터 이해하기
☜클릭).
이제 이어지는 몇 가지 실험을 잘 수행 한다면 시프트 레지스터를 능숙히 다룰 수 있을 것이다.
▶ 실험에 사용되는 74HC595 IC 자료
《 74HC595 IC 핀배열》
▶ 실습 목표 :
1. 8bit 시프트 레지스터 IC 이기 때문에, LED 8개를 연결하고, 데이터(2진 값) 예, '10101010' 혹은 '01010101' 등을 LED로 시프트 시켜 표시해보는 실습이다.
2. 예를 들어, 짝수번째 LED 켜기, 홀수 번째 LED켜기, 11110000, 00001111, 11001011, 등등 원하는 데이터를 아두이노에서 IC에 시리얼로 입력하면 패러럴(병렬) 형태로 LED로 나타낼 수 있다.
▶ 실습 회로도면 :
(이미지 클릭하면 확대 가능)
(괄호 안은 2단으로 연결할 경우 필요 수량)
3. IC가 동작하기 위한 전원(vcc-16번, Gnd-8번)은 반드시 인가 되어야 동작이 되며, 만약 +,-를 정반대로 인가할 경우 IC가 손상될 수 있으니 주의한다.
▶ 프로그램 코드 및 설명 :
const int SER=8; // 아두 8핀 <-> 595IC Serial Data (14핀)
const int LATCH=9; // 아두 9핀 <-> 595IC Latch CLK (12핀)
const int CLK= 10; // 아두 10핀 <-> 595IC Shift CLK (11핀)
void setup() {
//시프트 레지스터에 연결된 각 핀의 입출력 모드를 출력으로 지정
pinMode(SER, OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(CLK, OUTPUT);
digitalWrite(LATCH, LOW);
// 비트값 10101010 전송 (2진 값을 10진 값으로(170) 바꾸어본다
shiftOut(SER, CLK, MSBFIRST, B10101010);
//LATCH에 HIGH 입력 : 홀수 LED 점등
digitalWrite(LATCH, HIGH);
}
void loop() {
// Loop 문에는 비워 놓는다
}
▶ 실행 결과 :
(영상은 고화질로 설정하고 전체화면으로 보세요)
▶ 아두이노 파일(다운) :
'아두이노 > 2. 아두이노센서' 카테고리의 다른 글
【 아두이노 센서#11】 시프트레지스터 2단 연결하기 나(Daisy Chain) (0) | 2018.12.17 |
---|---|
【 아두이노 센서#10】 나이트 라이더 만들어보기 (0) | 2018.12.14 |
【 아두이노 센서#8】 시프트 레지스터 이해하기 (Shift Register) (0) | 2018.12.12 |
【 아두이노 센서#7】 I2C LCD로 TMP36 온도센서값 출력하기 #3 (0) | 2018.12.11 |
【 아두이노 센서#6】 I2C (Inter Integrated Circuit) 통신 (0) | 2018.12.10 |