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

이 튜토리얼은 ESP8266을 사용하여 74HC595 4자리 7세그먼트 디스플레이 모듈을 제어하는 방법을 안내합니다. 구체적으로, 우리는 다음을 배울 것입니다:

ESP8266 NodeMCU 74HC595 4-digit 7-segment display

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

준비물

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

74HC595 4자리 7세그먼트 디스플레이 정보

온도 또는 모든 부동 소수점 값을 표시하기에 이상적인 모듈은 74HC595 4자리 7섹션 디스플레이입니다. 이 모듈은 일반적으로 네 개의 7섹션 LED, 네 개의 점 모양 LED, 그리고 각 자릿수마다 두 개의 74HC595 드라이버를 포함합니다.

핀아웃

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

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

선연결

아래 표는 ESP8266 핀과 74HC595 4자리 7세그먼트 디스플레이 핀 사이의 배선을 보여줍니다:

ESP8266 74HC595 7-segment display
Vin5V
D5SCLK
D6RCLK
D7DIO

다른 핀을 사용하는 경우 코드의 핀 번호를 해당되게 수정하세요.

ESP8266 NodeMCU 74HC595 Module wiring diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

라이브러리 설치

74HC595 4자리 7세그먼트 디스플레이를 쉽게 프로그래밍하기 위해, DIYables.io의 DIYables_4Digit7Segment_74HC595 라이브러리를 설치해야 합니다. 다음 단계를 따라 라이브러리를 설치하세요:

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

이 라이브러리도 GitHub에서 볼 수 있습니다: GitHub에서 이 라이브러리 보기

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

  • 도서관을 포함합니다
#include <DIYables_4Digit7Segment_74HC595.h>

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

#define SCLK D5 // ESP8266 핀이 SCLK에 연결됨 #define RCLK D6 // ESP8266 핀이 RCLK에 연결됨 #define DIO D7 // ESP8266 핀이 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); // 3번째 자리에 C 설정 display.show(); // 디스플레이에 표시

74HC595 4자리 7세그먼트 모듈은 멀티플렉싱 기술을 사용하여 개별 세그먼트와 LED를 제어하기 때문에, ESP8266 코드는 반드시:

  • 메인 루프에서 display.show() 함수를 호출해야 합니다.
  • 메인 루프에서 delay() 함수를 사용해서는 안 됩니다.

도서관 참조에서 더 자세한 내용을 확인할 수 있습니다.

ESP8266 코드 - 정수 표시

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 라이브러리 #define SCLK D5 // ESP8266의 SCLK에 연결된 핀 #define RCLK D6 // ESP8266의 RCLK에 연결된 핀 #define DIO D7 // ESP8266의 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() 함수를 사용하지 마세요. 이는 멀티플렉싱에 영향을 줍니다. }

사용 방법

ESP8266을 Arduino IDE에서 사용하기 위한 시작 단계는 다음과 같습니다:

  • ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인해 보세요.
  • 다이어그램에 표시된 대로 구성요소를 연결하세요.
  • USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드를 선택하세요. 예를 들어, NodeMCU 1.0 (ESP-12E Module)과 그에 해당하는 COM 포트를 선택하세요.
  • 위의 코드를 복사하여 ESP8266 IDE로 엽니다
  • ESP8266 IDE에서 Upload 버튼을 클릭하여 ESP8266에 코드를 업로드하세요
  • 7세그먼트 디스플레이의 상태를 확인하세요

ESP8266 코드 - 부동소수점 표시

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 라이브러리 #define SCLK D5 // SCLK에 연결된 ESP8266 핀 #define RCLK D6 // RCLK에 연결된 ESP8266 핀 #define DIO D7 // DIO에 연결된 ESP8266 핀 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() 함수를 호출해야 함 // 여기서 무언가를 수행하십시오. // 주의: multiplexing에 영향을 미치므로 loop 내에서 delay() 함수를 사용하지 마십시오. }

ESP8266 코드 - 온도 표시

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK D5 // ESP8266의 SCLK에 연결된 핀 #define RCLK D6 // ESP8266의 RCLK에 연결된 핀 #define DIO D7 // ESP8266의 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!