[WAT-AK133 / 알찬 아두이노 예제 25] 74HC595 Output 확장

74HC595

본 예제는 [WAT-AK133]알찬 아두이노 키트(입문자용) 의 8비트 시프트 레지스터  74HC595를 사용한 출력 확장  예제입니다.

 

  • 8-bit serial input
  • 8-bit serial or parallel output
  • Storage register with 3-state outputs
  • Shift register with direct clear
  • 100 MHz (typical) shift out frequency
  • ESD protection:
  • Multiple package options
  • Specified from -40 °C to +85 °C and from -40 °C to +125 °C

 

74HC595 는 1개의 입력 핀, SHCP 핀,  STCP 핀만으로 출력을 무한히 할 수 있는 IC 입니다.

 

핀 번호

번호 핀명 기능
1 Q1 parallel data output 1
2 Q2 parallel data output 2
3 Q3 parallel data output 3
4 Q4 parallel data output 4
5 Q5 parallel data output 5
6 Q6 parallel data output 6
7 Q7 parallel data output 7
8 GND ground (0 V)
9 Q7S serial data output
10 /MR master reset (active LOW)
11 SHCP shift register clock input
12 STCP storage register clock input
13 /OE output enable input (active LOW)
14 DS serial data input
15 Q0 parallel data output 0
16 Vcc supply voltage

실험

부품 목록
부품명 아두이노 UNO R3

기능 아두이노 모듈
수량 1
부품 판매처 https://kit128.com/goods/view?no=337

 

부품명 74HC595

기능 8비트 시프트 레지스터
수량 1 EA
부품 판매처 https://kit128.com/goods/view?no=198

 

 

핀 연결

아래와 같이 74HC595 와  Arduino UNO R3 를 연결합니다.

 

74HC595 Arduino UNO R3
VCC 5V
GND GND
14. DS A0
12. STCP A1
11. SHCP A2

 

 

소스코드

최신 소스코드는 [파일]=>[예제]=>[WhiteAT UNO] => [Starter] => [25_74HC595] 에 있으며
라이브러리는 아두이노 개발환경  을 참조하세요

/*
 [WAT-AK133] 알찬 아두이노 키트(입문자용) 의 
 UNO R3 와 74HC595 로 OUTPUT 핀을 확장하는 예제입니다.

 알찬 아두이노 키트(입문자용): https://kit128.com/goods/view?no=133

개별 부품
 .Arduino UNO R3: https://kit128.com/goods/view?no=337
 .74HC595 : https://kit128.com/goods/view?no=198




int pinLatch = A1; // STCP
int pinClock = A2; // SHCP
int pinData = A0; // DATA

byte outValue = 0x01;

// 프로그램 시작 - 초기화
void setup() 
{ 
 Serial.begin(115200); //시리얼 통신 초기화
 Serial.println("Arduino Examples -> 74HC595 ");
 Serial.println("    https://docs.whiteat.com/?p=3164");

 pinMode(pinLatch, OUTPUT);
 pinMode(pinData, OUTPUT);
 pinMode(pinClock, OUTPUT);

 updateShiftRegister(outValue);
 delay(500);

}
 
// 계속 실행할 무한 루프
void loop()
{
 Serial.println(outValue, HEX);

 updateShiftRegister(outValue);
 delay(500);

 if (outValue == 0x80)
 outValue = 0x01;
 else
 outValue <<= 1;
}

void updateShiftRegister(byte _value)
{
 digitalWrite(pinLatch, LOW);
 shiftOut(pinData, pinClock, LSBFIRST, _value);
 digitalWrite(pinLatch, HIGH);
}
결과

0.5초마다 LED 가 shift 합니다.

제품 구매

 알찬 아두이노 키트(초보자용) 은 https://kit128.com/goods/view?no=133 에서
74HC595 는 https://kit128.com/goods/view?no=198 에서
Arduino UNO R3는 https://kit128.com/goods/view?no=337 에서  구매하실 수 있습니다.

.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다