ESP32 - 74HC595 4자리 7세그먼트 디스플레이 | ESP32 - 74HC595 4-Digit 7-Segment Display

이 튜토리얼은 ESP32를 사용하여 74HC595 4자리 7세그먼트 디스플레이 모듈을 제어하는 방법에 대해 안내합니다. 다음 주제를 다룹니다:

ESP32 74HC595 4-digit 7-segment display

이 튜토리얼은 부동 소수점 값을 표시할 수 있는 4-점 4-자리 7-세그먼트 디스플레이 모듈을 사용합니다. 콜론 구분자를 표시해야 하는 경우, TM1637 4자리 7-세그먼트 디스플레이 모듈을 참조하십시오.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×74HC595 4-digit 7-segment Display Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for ESP32 Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

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

온도 또는 모든 실수 값을 표시하기에 이상적인 모듈은 74HC595 4자리 7세그먼트 디스플레이입니다. 이 모듈에는 일반적으로 네 개의 7세그먼트 LED, 네 개의 점 모양 LED, 그리고 각 자릿수에 대해 두 개의 74HC595 드라이버가 포함되어 있습니다.

핀아웃

74HC595 4자리 7세그먼트 디스플레이 모듈에는 5개의 핀이 포함됩니다:

  • SCLK 핀: 클록 입력 핀입니다. ESP32의 아무 디지털 핀에나 연결하세요.
  • RCLK 핀: 클록 입력 핀입니다. ESP32의 아무 디지털 핀에나 연결하세요.
  • DIO 핀: 데이터 I/O 핀입니다. ESP32의 아무 디지털 핀에나 연결하세요.
  • VCC 핀: 모듈에 전력을 공급합니다. 3.3V에서 5V 전원 공급장치에 연결하세요.
  • GND 핀: 접지 핀입니다.
74HC595 module pinout

선연결

아래 표는 ESP32 핀과 74HC595 4자리 7-세그먼트 디스플레이 핀 간의 연결을 보여줍니다:

ESP32 74HC595 7-segment display
Vin5V
27SCLK
26RCLK
25DIO

다른 핀을 사용하는 경우 코드에서 핀 번호를 그에 맞게 수정해야 합니다.

ESP32 74HC595 Module wiring diagram

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

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

도서관 설치

74HC595 4자리 7세그먼트 디스플레이를 쉽게 프로그래밍하려면, DIYables.io의 DIYables_4Digit7Segment_74HC595 라이브러리를 설치해야 합니다. 라이브러리를 설치하려면 아래 단계를 따르십시오:

  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • "DIYables_4Digit7Segment_74HC595"을 검색한 다음, DIYables.io가 제공하는 DIYables_4Digit7Segment_74HC595 라이브러리를 찾으세요.
  • Install 버튼을 클릭하세요.
ESP32 74HC595 4-digit 7-segment display library

당신은 또한 이 라이브러리를 Github에서 볼 수 있습니다

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

라이브러리를 포함하세요.

cpp #include <DIYables_4Digit7Segment_74HC595.h>

디스플레이 모듈의 SCLK, RCLK 및 DIO에 연결하는 ESP32 핀을 정의하십시오. 예를 들어, 핀 D7, D6 및 D5

#define SCLK 27 // ESP32 핀 GPIO27이 SCLK에 연결됨 #define RCLK 26 // ESP32 핀 GPIO26이 RCLK에 연결됨 #define DIO 25 // ESP32 핀 GPIO25가 DIO에 연결됨

DIYables_4Digit7Segment_74HC595 유형의 디스플레이 객체를 생성합니다.

DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);

그러면 0으로 채우기 옵션을 사용하여 정수를 표시할 수 있으며, 음수도 지원합니다:

display.printInt(-13, false); // -999부터 9999까지의 값을 표시할 수 있습니다.

음수도 지원하는 소수점 자리, 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를 제어하기 위해 멀티플렉싱 기술을 사용하기 때문에, ESP32 코드는 반드시:

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

다음 링크에서 더 자세한 정보를 볼 수 있습니다 도서관 참고자료

ESP32 코드 - 정수 표시

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 라이브러리 #define SCLK 27 // ESP32 핀 GPIO27이 SCLK에 연결됨 #define RCLK 26 // ESP32 핀 GPIO26이 RCLK에 연결됨 #define DIO 25 // ESP32 핀 GPIO25가 DIO에 연결됨 DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // -999에서 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(); // loop에서 display.loop() 함수를 반드시 호출해야 함 // 여기서 무언가를 함 // 참고: loop에서 delay() 함수를 사용하지 마세요. 그것은 멀티플렉싱에 영향을 미칩니다 }

사용 방법

  • ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 보세요.
  • 위 이미지와 같이 배선하세요.
  • ESP32 보드를 PC에 마이크로 USB 케이블로 연결하세요.
  • PC에서 Arduino IDE를 엽니다.
  • 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
  • 위의 코드를 복사하여 ESP32 IDE로 엽니다.
  • ESP32 IDE에서 Upload 버튼을 클릭하여 ESP32에 코드를 업로드하세요.
  • 7세그먼트 디스플레이의 상태를 확인하세요.

ESP32 코드 - 부동 소수점 표시

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK 27 // ESP32의 GPIO27 핀이 SCLK에 연결됨 #define RCLK 26 // ESP32의 GPIO26 핀이 RCLK에 연결됨 #define DIO 25 // ESP32의 GPIO25 핀이 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(); // loop() 내에서 display.loop() 함수를 호출해야 함 // 여기서 무엇인가 실행 // 주의: loop 내에서 delay() 함수를 사용하지 마십시오. 이는 멀티플렉싱에 영향을 미칩니다. }

ESP32 코드 - 온도 표시

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK 27 // ESP32 핀 GPIO27이 SCLK에 연결됨 #define RCLK 26 // ESP32 핀 GPIO26이 RCLK에 연결됨 #define DIO 25 // ESP32 핀 GPIO25가 DIO에 연결됨 DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // 각 자리수를 제어하여 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(); // 디스플레이에 표시 } void loop() { display.loop(); // loop() 함수 안에서 display.loop() 함수를 반드시 호출해야 함 // 여기서 어떤 작업을 함 // 주의: loop 안에서 delay() 함수를 사용하지 마세요. 이는 멀티플렉싱에 영향을 줍니다. }

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!