아두이노 우노 R4 - 74HC595 4자리 7세그먼트 디스플레이

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

이 튜토리얼은 하드웨어에 대한 복잡한 정보를 많이 제공하지 않습니다. 대신 4자리 7세그먼트 디스플레이를 Arduino UNO R4에 연결하고 정보를 표시하도록 프로그래밍하는 방법을 배우게 됩니다.

아두이노 UNO R4 74HC595 4자리 7세그먼트 디스플레이

이 가이드는 부동 소수점 값을 표시할 수 있는 4점 4자리 7세그먼트 디스플레이 모듈 사용 방법을 보여줍니다. 콜론 구분자를 표시해야 하는 경우 TM1637 4자리 7세그먼트 디스플레이 모듈을 사용하십시오.

Hardware Preparation

1×Arduino UNO R4 WiFi Amazon
1×Arduino UNO R4 Minima (Alternatively) Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×74HC595 4-digit 7-segment Display 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino UNO R4 Amazon
1×(Recommended) Power Splitter For Arduino UNO R4 Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

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

74HC595 4자리 7세그먼트 디스플레이 모듈은 일반적으로 4개의 7세그먼트 LED, 4개의 작은 점 LED, 각 자릿수를 위한 74HC595 드라이버를 포함합니다. 온도 또는 소수점이 있는 숫자를 표시하기에 적합합니다.

핀아웃

4자리 7세그먼트 디스플레이용 74HC595 모듈에는 5개의 핀이 있습니다.

  • SCLK 핀: 이 핀은 클럭 입력 핀입니다. Arduino UNO R4의 디지털 핀에 연결하세요.
  • RCLK 핀: 이 핀도 클럭 입력 핀입니다. Arduino UNO R4의 디지털 핀에 연결하세요.
  • DIO 핀: 이 핀은 데이터 입출력 핀입니다. Arduino UNO R4의 디지털 핀에 연결하세요.
  • VCC 핀: 이 핀은 모듈에 전원을 공급합니다. 3.3V에서 5V 사이의 전원 공급 장치에 연결하세요.
  • GND 핀: 이 핀은 접지 핀입니다. 접지에 연결하세요.
74HC595 모듈 핀아웃

Wiring Diagram

이 표는 Arduino UNO R4 핀을 74HC595 4자리 7세그먼트 디스플레이에 연결하는 방법을 보여줍니다:

Arduino UNO R4 74HC595 7-segment display
5V5V
7SCLK
6RCLK
5DIO

다른 핀을 사용하면 코드에서 핀 번호를 변경하세요.

아두이노 UNO R4 74HC595 모듈 배선도

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

라이브러리 설치

DIYables.io에서 DIYables_4Digit7Segment_74HC595 라이브러리를 설치하여 74HC595 4자리 7세그먼트 디스플레이의 프로그래밍을 쉽게 설정할 수 있습니다. 라이브러리를 설치하는 단계는 다음과 같습니다:

  • Arduino IDE의 왼쪽에 있는 Libraries 아이콘을 클릭하세요.
  • 검색 상자에 “DIYables_4Digit7Segment_74HC595”을 입력하고 DIYables.io의 DIYables_4Digit7Segment_74HC595 라이브러리를 찾으세요.
  • Install 버튼을 누르세요.
아두이노 UNO R4 74HC595 4자리 7세그먼트 디스플레이 라이브러리

이 라이브러리를 Github에서 볼 수도 있습니다.

Arduino UNO R4를 사용하여 74HC595 4자리 7세그먼트 프로그래밍 방법

  • 라이브러리를 포함하세요
#include <DIYables_4Digit7Segment_74HC595.h>
  • Arduino UNO R4를 디스플레이 모듈에 다음과 같이 연결하세요: D7을 SCLK에, D6을 RCLK에, D5를 DIO에 연결하세요.
#define SCLK 7 // 아두이노 UNO R4 핀 SCLK에 연결됨 #define RCLK 6 // 아두이노 UNO R4 핀 RCLK에 연결됨 #define DIO 5 // 아두이노 UNO R4 핀 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에 온도 기호 표시 display.setChar(4, SegChars::C); // 위치 4에 문자 'C' 표시 display.show(); // 설정된 문자 및 숫자를 표시하기 위해 디스플레이를 새로 고침

74HC595 4-디지털 7-세그먼트 모듈은 멀티플렉싱이라는 방법을 사용하여 각 세그먼트와 LED를 제어합니다. 따라서 Arduino UNO R4 코드에서는 다음을 준수해야 합니다:

  • 메인 루프에서 display.show() 함수를 사용해야 합니다.
  • 메인 루프에서 delay() 함수를 사용하지 않아야 합니다.

자세한 내용은 라이브러리 참조를 방문하세요.

아두이노 UNO R4 코드 - 정수 표시

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino UNO R4 pin connected to SCLK #define RCLK 6 // The Arduino UNO R4 pin connected to RCLK #define DIO 5 // The Arduino UNO R4 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // you can display a value from -999 to 9999 //display.printInt(-132, false); //display.printInt(9132, false); //display.printInt(132, false); //display.printInt(32, false); //display.printInt(2, false); //display.printInt(2, true); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Detailed Instructions

다음 지침을 단계별로 따르세요:

  • Arduino Uno R4 WiFi/Minima를 처음 사용한다면, Arduino IDE에서 Arduino Uno R4 WiFi/Minima 환경 설정에 대한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 74HC595 4자리 7세그먼트 디스플레이를 Arduino Uno R4에 연결하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • 코드를 복사하여 Arduino IDE에서 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino UNO R4에 전송하세요.
  • 7세그먼트 디스플레이의 변화를 관찰하세요.

Arduino UNO R4 코드 - 실수 표시

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino UNO R4 pin connected to SCLK #define RCLK 6 // The Arduino UNO R4 pin connected to RCLK #define DIO 5 // The Arduino UNO R4 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printFloat(-9.2, 1, false); //display.printFloat(-92.4, 1, false); //display.printFloat(-9.24, 2, false); //display.printFloat(192.4, 1, false); //display.printFloat(19.24, 2, false); //display.printFloat(1.924, 3, false); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

아두이노 UNO R4 코드 - 온도 표시

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino UNO R4 pin connected to SCLK #define RCLK 6 // The Arduino UNO R4 pin connected to RCLK #define DIO 5 // The Arduino UNO R4 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // display 9.3°C by controlling digit by digit display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Video Tutorial

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!