라즈베리 파이 피코 74HC595 4자리 7세그먼트 디스플레이

일반적으로 시계, 타이머, 카운터 등의 프로젝트에서 사용되는 4자리 7세그먼트 디스플레이는 보통 12개의 연결이 필요합니다. 74HC595 모듈은 전원용 2개와 세그먼트 제어용 3개의 연결만 사용하여 이를 단순화합니다.

이 가이드는 복잡한 하드웨어 세부 사항을 다루지 않습니다. 라즈베리 파이 피코에 4자리 7세그먼트 디스플레이를 연결하고 정보를 표시하도록 프로그래밍하는 방법을 보여줍니다.

라즈베리 파이 피코 74hc595 4자리 7세그먼트 디스플레이

이 가이드는 십진수를 표시하기 위한 4점, 4자리 7세그먼트 디스플레이 모듈의 작동 방법을 설명합니다. 콜론을 표시하려면 라즈베리 파이 피코 - TM1637 4자리 7세그먼트 디스플레이를 사용하세요.

준비물

1×라즈베리 파이 피코 W 쿠팡 | 아마존
1×라즈베리 파이 피코 (또는) 쿠팡 | 아마존
1×마이크로 USB 케이블 아마존
1×74HC595 4-digit 7-segment 디스플레이 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

74HC595 4자리 7세그먼트 디스플레이에 대하여

74HC595 4자리 7세그먼트 디스플레이 모듈은 일반적으로 4개의 7세그먼트 LED, 4개의 작은 점 LED, 그리고 각 자리마다 하나의 74HC595 드라이버를 포함합니다. 온도나 소수점을 포함한 숫자 표시용으로 이상적입니다.

핀아웃

4자리 7세그먼트 디스플레이와 함께 사용되는 74HC595 모듈은 다섯 개의 핀을 가지고 있습니다:

  • SCLK 핀: 이 핀은 클럭 입력 핀입니다. Raspberry Pi Pico의 아무 디지털 핀에 연결하세요.
  • RCLK 핀: 이 핀도 클럭 입력 핀입니다. Raspberry Pi Pico의 아무 디지털 핀에 연결하세요.
  • DIO 핀: 이 핀은 데이터 입출력 핀입니다. Raspberry Pi Pico의 아무 디지털 핀에 연결하세요.
  • VCC 핀: 이 핀은 모듈에 전원을 공급합니다. 3.3V에서 5V 사이의 전원을 제공하는 전원에 연결하세요.
  • GND 핀: 이 핀은 접지 핀입니다. 접지에 연결하세요.
74hc595 모듈 핀아웃

선연결

이 표는 Raspberry Pi Pico의 핀을 74HC595 4자리 7세그먼트 디스플레이와 연결하는 방법을 설명합니다:

Raspberry Pi Pico 74HC595 7-segment display
5V5V
7SCLK
6RCLK
5DIO

만약 다른 핀을 사용한다면, 코드의 핀 번호를 업데이트하세요.

라즈베리 파이 피코 74hc595 모듈 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

라이브러리 설치

74HC595 4자리 7세그먼트 디스플레이의 프로그래밍 설정을 위해, DIYables.io에서 DIYables_4Digit7Segment_74HC595 라이브러리를 다운로드하세요. 다음은 설치 단계입니다:

  • Thonny IDE 왼쪽에 있는 Libraries 아이콘을 클릭합니다.
  • 검색 상자에 “DIYables_4Digit7Segment_74HC595”를 입력하고, DIYables.io에서 DIYables_4Digit7Segment_74HC595 라이브러리를 검색합니다.
  • Install 버튼을 클릭합니다.
라즈베리 파이 피코 74hc595 4자리 7세그먼트 디스플레이 라이브러리

이 라이브러리는 Github에서도 확인할 수 있습니다.

Raspberry Pi Pico를 사용하여 74HC595 4자리 7세그먼트를 프로그래밍하는 방법

  • 라이브러리 추가
#include <DIYables_4Digit7Segment_74HC595.h>
  • Raspberry Pi Pico를 디스플레이 모듈에 다음과 같이 연결합니다: D7을 SCLK에, D6을 RCLK에, D5를 DIO에 연결합니다.
#define SCLK 7 // Raspberry Pico에 연결된 SCLK 핀 #define RCLK 6 // Raspberry Pico에 연결된 RCLK 핀 #define DIO 5 // Raspberry Pico에 연결된 DIO 핀
  • DIYables_4Digit7Segment_74HC595라는 이름의 디스플레이 항목을 생성합니다.
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • 음수를 포함한 정수를 앞에 0을 붙여서 표시할 수 있습니다.
display.printInt(-13, false); // 앞에 0을 붙이지 않고 정수를 표시합니다.
  • 숫자를 소수점과 함께 표시하고, 앞에 0을 추가하며, 음수를 사용할 수 있습니다.
display.printFloat(-9.2, 1, false);
  • 간단한 함수를 사용하여 각 숫자, 소수 또는 문자를 개별적으로 표시할 수 있습니다.
# 온도 9.3°C 표시 display.clear() display.setNumber(1, 9) # 위치 1에 숫자 '9' 출력 display.setDot(1) # 위치 1의 소수점 활성화 display.setNumber(2, 3) # 위치 2에 숫자 '3' 출력 display.setChar(3, SegChars.DEGREE) # 위치 3에 도(degree) 기호 출력 display.setChar(4, SegChars.C) # 위치 4에 문자 'C' 출력 display.show() # 설정된 문자와 숫자가 보이도록 디스플레이 갱신
  • 74HC595 4자리 7세그먼트 모듈은 멀티플렉싱 기법을 통해 각 세그먼트와 LED를 관리합니다. 따라서, Raspberry Pi Pico용 코드는:

*

  • 메인 루프 내에서 display.show() 함수를 사용하세요.
  • 메인 루프 내에서 time.sleep() 함수를 사용하지 마세요.

추가 정보가 필요하시면, 라이브러리 참조를 방문해 주십시오.

Raspberry Pi Pico 코드 - 정수 표시

""" Example: Display integer numbers on 4-digit 7-segment display with 74HC595. Works with: ESP32, Raspberry Pi Pico, Arduino Nano ESP32, Arduino Nano R1 WiFi Wiring guide: Raspberry Pi Pico: 74HC595 Module Raspberry Pi Pico ────────────── ───────────────── SCLK (SH_CP) -> GP2 RCLK (ST_CP) -> GP1 DIO (DS) -> GP0 VCC -> 3.3V (pin 36) GND -> GND (pin 38) """ from DIYables_MicroPython_4Digit7Segment_74HC595 import Display4Digit7Segment74HC595 import time SCLK_PIN = 2 RCLK_PIN = 1 DIO_PIN = 0 display = Display4Digit7Segment74HC595(SCLK_PIN, RCLK_PIN, DIO_PIN, common_anode=True) while True: # Display integers numbers = [0, 42, 1234, -5, -123, 9999] for num in numbers: display.print(num) time.sleep(2) # Display with zero padding display.print(42, zero_pad=True) # Shows "0042" time.sleep(2)

자세한 사용 방법

다음 지침을 한 단계씩 따라주세요:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하십시오.
  • Raspberry Pi Pico에 MicroPython 펌웨어가 설치되어 있는지 확인하십시오.
  • 만약 Raspberry Pico를 처음 사용하는 경우, 자세한 지침은 라즈베리 파이 피코 - 시작하기 튜토리얼을 참조하십시오.
  • 제공된 다이어그램에 따라 구성 요소를 연결하십시오.
  • USB 케이블을 사용하여 Raspberry Pi Pico를 컴퓨터에 연결하십시오.
  • 컴퓨터에서 Thonny IDE를 실행하십시오.
  • Thonny IDE에서 도구 옵션으로 이동하여 MicroPython (Raspberry Pi Pico) 인터프리터를 선택하십시오.
  • 인터프리터 탭에서 드롭다운 메뉴에서 MicroPython (Raspberry Pi Pico)를 선택하십시오.
  • 올바른 포트가 선택되었는지 확인하십시오. Thonny IDE는 포트를 자동으로 감지하지만, 수동으로 선택해야 할 수도 있습니다 (예: Windows의 COM3 또는 Linux의 /dev/ttyACM0).
  • 위의 코드를 복사하여 Thonny IDE의 에디터에 붙여넣으십시오.
  • 스크립트를 Raspberry Pi Pico에 저장하십시오:
    • 저장 버튼을 클릭하거나 Ctrl+S 키를 사용하십시오.
    • 저장 대화 상자에서 '이 컴퓨터'와 'Raspberry Pi Pico'의 두 섹션이 표시됩니다. Raspberry Pi Pico를 선택하십시오.
    • 파일을 main.py로 저장하십시오.
  • 녹색 실행 버튼을 클릭하거나 (또는 F5 키를 눌러) 스크립트를 실행하십시오. 스크립트가 실행됩니다.
  • Thonny 하단의 셸에서 메시지를 확인하십시오.

스크립트의 이름을 main.py로 지정하고 Raspberry Pi Pico의 루트 디렉토리에 저장하면, Pico의 전원이 켜지거나 리셋될 때마다 자동으로 실행됩니다. 이는 전원이 켜지자마자 즉시 실행되어야 하는 독립 실행형 애플리케이션에 유용합니다. 스크립트의 이름을 main.py가 아닌 다른 이름으로 지정하면 Thonny의 셸에서 직접 실행해야 합니다.

  • 다이어그램을 따라 74HC595 4자리 7세그먼트 디스플레이를 Raspberry Pi Pico에 부착합니다.
  • 코드를 Thonny IDE에 붙여넣습니다.
  • Thonny IDE에서 Upload 버튼을 눌러 코드를 Raspberry Pi Pico로 전송합니다.
  • 7세그먼트 디스플레이에서 변화를 확인합니다.

Raspberry Pi Pico 코드 - 부동 소수점 표시

""" Example: Display float numbers on 4-digit 7-segment display with 74HC595. Works with: ESP32, Raspberry Pi Pico, Arduino Nano ESP32, Arduino Nano R1 WiFi Wiring guide: Raspberry Pi Pico: 74HC595 Module Raspberry Pi Pico ────────────── ───────────────── SCLK (SH_CP) -> GP2 RCLK (ST_CP) -> GP1 DIO (DS) -> GP0 VCC -> 3.3V (pin 36) GND -> GND (pin 38) """ from DIYables_MicroPython_4Digit7Segment_74HC595 import Display4Digit7Segment74HC595 import time SCLK_PIN = 2 RCLK_PIN = 1 DIO_PIN = 0 display = Display4Digit7Segment74HC595(SCLK_PIN, RCLK_PIN, DIO_PIN, common_anode=True) while True: # Display floats with auto decimal places floats = [1.5, 12.34, 3.141, -1.2, 0.5] for num in floats: display.print(num) time.sleep(2) # Display with specific decimal places display.print(23.5, decimal_places=1) # Shows "23.5" time.sleep(2) # Display 1.5 with auto decimal places display.print(1.5) # Shows "1.5" time.sleep(2) # Display 1.5 with 2 decimal places display.print(1.5, decimal_places=2) # Shows "1.50" time.sleep(2) # Display 1.5 with 2 decimal places and zero padding display.print(1.5, decimal_places=2, zero_pad=True) # Shows "01.50" time.sleep(2)

Raspberry Pi Pico 코드 - 온도 표시

""" Example: Display text, special characters, and temperature on 4-digit 7-segment display. Works with: ESP32, Raspberry Pi Pico, Arduino Nano ESP32, Arduino Nano R1 WiFi Wiring guide: Raspberry Pi Pico: 74HC595 Module Raspberry Pi Pico ────────────── ───────────────── SCLK (SH_CP) -> GP2 RCLK (ST_CP) -> GP1 DIO (DS) -> GP0 VCC -> 3.3V (pin 36) GND -> GND (pin 38) """ from DIYables_MicroPython_4Digit7Segment_74HC595 import Display4Digit7Segment74HC595 import time SCLK_PIN = 2 RCLK_PIN = 1 DIO_PIN = 0 display = Display4Digit7Segment74HC595(SCLK_PIN, RCLK_PIN, DIO_PIN, common_anode=True) while True: # Display text strings texts = ["HELP", "Hi", "COOL", "done"] for text in texts: display.print(text) time.sleep(2) # Display temperature with degree symbol display.print_temperature(25, 'C') # Shows "25°C" time.sleep(2) display.print_temperature(72, 'F') # Shows "72°F" time.sleep(2) # Display string with degree constant display.print("25" + display.DEGREE + "C") # Same as print_temperature(25, 'C') time.sleep(2) # Display string with dots display.print("1.2.3.4") # Shows "1.2.3.4" with dots on digits 0,1,2 time.sleep(2)

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.