본문 바로가기
아두이노 러닝보드/아두이노 러닝보드 하드웨어설계

74HC595 시프트 레지스터 연결하기 💡

by 모빌리티키즈 2024. 12. 13.
728x90
반응형

안녕하세요, 여러분! 오늘은 마이크로컨트롤러의 출력 수를 확장할 수 있는 유용한 장치인 74HC595 시프트 레지스터를 Arduino에 연결하는 방법에 대해 알아보겠습니다. 74HC595는 마이크로컨트롤러의 핀 수를 효과적으로 늘려, 더 많은 출력 장치나 LED를 제어할 수 있도록 도와줍니다.

 

74HC595 시프트 레지스터란?

74HC595는 직렬-병렬 시프트 레지스터로, 마이크로컨트롤러의 출력 수를 확장하는 데 사용됩니다. SIPO(Serial In Parallel Out) 장치로, 입력되는 데이터를 순차적으로 저장하고 이를 병렬로 출력합니다. 여러 개의 74HC595를 추가하여 출력을 8개씩 늘릴 수 있습니다.

핀 구성

74HC595 IC는 다음과 같은 핀 구성을 가지고 있습니다:

  • VCC (16): 5V 전원 공급
  • GND (8): 접지
  • SRCLR (10): 시프트 레지스터 클리어 (5V에 연결)
  • OE (13): 출력 활성화 (접지에 연결)
  • SER (14): 데이터 입력
  • SRCLK (11): 시프트 레지스터 클록 입력
  • RCLK (12): 저장 레지스터 클록 입력
  • Q0-Q7: 병렬 출력 핀
  • Q7' (9): 시프트 레지스터 출력 (다음 74HC595에 연결 가능)

회로 연결

이제 74HC595 시프트 레지스터를 Arduino에 연결하는 방법을 살펴보겠습니다:

  1. 전원 및 접지 연결:
    • VCC를 Arduino의 5V 핀에 연결합니다.
    • GND를 Arduino의 GND 핀에 연결합니다.
  2. 제어 핀 연결:
    • SRCLR를 5V에 연결하여 시프트 레지스터를 클리어합니다.
    • OE를 접지에 연결하여 출력을 활성화합니다.
  3. 데이터 전송 핀 연결:
    • SER를 Arduino의 디지털 핀(예: D2)에 연결합니다.
    • SRCLK를 Arduino의 디지털 핀(예: D3)에 연결합니다.
    • RCLK를 Arduino의 디지털 핀(예: D4)에 연결합니다.

 

예제 코드

다음은 74HC595 시프트 레지스터를 사용하여 LED를 제어하는 간단한 Arduino 예제 코드입니다:

 
// Pin definitions
int dataPin = 2;   // SER pin of 74HC595
int clockPin = 3;  // SRCLK pin of 74HC595
int latchPin = 4;  // RCLK pin of 74HC595

void setup() {
  // Set pin modes
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
}

void loop() {
  // Example pattern to display on LEDs
  byte data = 0b10101010;
  
  // Send data to 74HC595
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, data);
  digitalWrite(latchPin, HIGH);
  
  delay(500);
  
  // Another example pattern
  data = 0b01010101;
  
  // Send data to 74HC595
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, data);
  digitalWrite(latchPin, HIGH);
  
  delay(500);
}

결론

이번 포스트에서는 74HC595 시프트 레지스터를 Arduino에 연결하고 제어하는 방법에 대해 알아보았습니다. 이 기술을 사용하면 마이크로컨트롤러의 출력 수를 크게 늘릴 수 있으며, 다양한 프로젝트에서 LED나 다른 출력 장치를 효과적으로 제어할 수 있습니다. 프로젝트 진행 중 궁금한 점이 있으면 언제든지 문의해 주세요!

이 블로그 포스트가 여러분의 프로젝트에 도움이 되길 바랍니다. 전자 프로젝트의 다양한 가능성을 탐구하며 즐거운 시간을 보내세요! 🎉✨

728x90
반응형