- 필요한 재료 :
- 시프트 레지스터 :
- 시프트 레지스터를 사용하지 않고 ESP12와 LCD 인터페이스 :
- 암호:
- 시프트 레지스터 SN74HC595N을 사용하여 ESP12와 LCD 인터페이스 :
- 암호:
이 튜토리얼에서는 I2C 통신을 사용하지 않고 NodeMCU를 16x2 LCD와 인터페이스하는 방법을 살펴 봅니다. 여기에서는 시프트 레지스터 SN74HC595를 사용하여 16x2 LCD를 인터페이스합니다. 시프트 레지스터를 사용하지 않고도 인터페이스 할 수 있습니다. 이 튜토리얼에서는 두 종류의 인터페이스를 모두 볼 수 있습니다. 두 인터페이스 간의 주요 차이점은 NodeMCU에서 사용되는 핀 수입니다.
필요한 재료:
- NodeMCU ESP12E
- SN74HC595 시프트 레지스터 IC
- 16x2 LCD 모듈
- 전위차계
- 남성-여성 전선
- 브레드 보드
시프트 레지스터:
디지털 시스템에서 시프트 레지스터 는 직렬로 연결되고 동일한 클록을 공유하는 플립 플롭의 조합입니다. 이 계단식 패키지에서 한 플립 플롭의 데이터 출력은 다음 플립 플롭의 데이터 입력 역할을하여 그 안에 저장된 비트 어레이를 한 위치만큼 이동하는 회로를 생성합니다.
우리가 사용할 IC는 SN74HC595N입니다. 병렬 출력 시프트 레지스터 IC의 간단한 8 비트 직렬입니다. 간단히 말해서이 IC를 사용하면 병렬 형식과 직렬 형식간에 데이터를 변환 하여 마이크로 컨트롤러 에 추가 입력 또는 출력을 추가 할 수 있습니다. 마이크로 컨트롤러는이 IC의 3 핀을 사용하여 데이터를 직렬로 전송합니다. 실제로 8 비트 출력은 입력 핀에서 8 비트 정보를 얻은 후 8 핀으로 나옵니다. 여기에서 시프트 레지스터에 대해 자세히 알아보십시오.
IC SN74HC595N의 PIN 다이어그램 및 PIN 기능은 다음과 같습니다.
74HC595N과 Arduino 및 Raspberry pi의 인터페이스는 여기에서 찾을 수 있습니다.
시프트 레지스터를 사용하지 않고 ESP12와 LCD 인터페이스:
Arduino 보드와 함께 16x2 LCD를 사용했다면 매우 쉬울 것입니다. Arduino 보드에서했던 것처럼 NodeMCU에 핀을 연결하기 만하면됩니다.
NodeMCU에는 16 개의 GPIO 핀이 있으며 6 개의 핀과 gnd, vcc가 필요합니다. 아래 주어진 회로도 에 따라 핀을 연결하십시오.
우리가 사용하는 4 데이터 핀 및 RS를, LCD의 EN은 로 연결되는:
LCD의 d7 핀 == NodeMCU의 D8 핀
LCD의 d6 핀 == NodeMCU의 D7 핀
LCD의 d5 핀 == NodeMCU의 D6 핀
LCD의 d4 핀 == NodeMCU의 D5 핀
LCD의 RS 핀 == NodeMCU의 D2 핀
LCD의 En 핀 == NodeMCU의 D3 핀
이러한 연결에 모든 GPIO를 사용할 수 있습니다.
이제 앞에서 설명한대로 Arduino IDE를 사용하여 코드를 업로드합니다. 코드는 액정 예제에서 볼 수있는 아두 이노 보드와 동일합니다. 프로그램에 대한 자세한 내용을 알고 싶다면 프로그램은 간단하고 이해하기 쉽습니다. Arduino 프로그램과의 LCD 인터페이스를 확인하십시오.
암호:
#포함
우리가 본 것처럼 이미 NodeMCU의 6 핀을 사용했습니다. 이 작은 보드에 사용할 수있는 핀이 이미 적고 다른 센서와 인터페이스 할 수있는 핀이 거의 없습니다.
따라서이 문제를 극복하기 위해 시프트 레지스터 IC 를 사용하여 번호를 최소화합니다. NodeMCU에서 사용되는 핀 수.
시프트 레지스터 SN74HC595N을 사용하여 ESP12와 LCD 인터페이스:
시프트 레지스터 IC에는 8 개의 출력 핀과 3 개의 입력 핀이 있습니다. 6 개의 출력 핀을 사용하여 LCD에 연결하고 3 개의 입력 핀을 NodeMCU에 연결합니다.
LCD와 IC의 연결은 다음과 같습니다.
LCD의 D7 핀 == IC의 핀 1
LCD의 D6 핀 == IC의 핀 2
LCD의 D5 핀 == IC의 핀 3
LCD의 D4 핀 == IC의 핀 4
LCD의 RS 핀 == IC의 핀 7
LCD의 En 핀 == IC의 핀 15
IC와 NodeMCU의 연결:
NodeMCU의 D6 핀 == IC의 14 번 핀, IC의 DATA PIN
NodeMCU의 D7 핀 == IC의 12 번 핀, IC의 LATCH PIN
NodeMCU의 D8 핀 == IC의 11 번 핀, IC의 CLOCK PIN
IC의 PIN 16과 PIN 10을 Vcc에 연결합니다.
IC의 PIN 8과 PIN 13을 GND에 연결합니다.
아래 다이어그램에 따라 회로를 신중하게 만드십시오.
이제 하드웨어를 프로그래밍 할 준비가되었습니다.
이제 아래 단계에 따라 https://github.com/tehniq3/LiquidCrystal595 링크에서 다운로드 할 수 있는 라이브러리“ LiquidCrystal595 ” 가 필요 합니다.
1. Arduino IDE의 Sketch 메뉴로 이동합니다.
2. 라이브러리 포함을 클릭합니다.
3. 이제.zip 라이브러리 추가를 클릭합니다. 주어진 링크에서 다운로드 한 zip 파일을 선택하고 완료하십시오.
이제 아래 주어진 코드를 업로드하면 LCD를 인쇄하는 메시지가 표시됩니다.
암호:
#포함
LiquidCrystal595 lcd (); 에서 데이터 핀, 래치 핀 및 클럭 핀을 인수로 제공하기 만하면 코드가 간단합니다 . 나머지 코드는 이전에했던 것과 동일합니다.
이렇게하면 Shift Register를 사용하여 NodeMCU의 3 핀을 방금 저장했습니다.
또한 다른 마이크로 컨트롤러와의 16x2 LCD 인터페이스를 확인하십시오.
- PIC 마이크로 컨트롤러와 LCD 인터페이스
- Python을 사용하여 Raspberry Pi와 16x2 LCD 인터페이스
- ATmega32 마이크로 컨트롤러와 LCD 인터페이스
- 8051 마이크로 컨트롤러와 LCD 인터페이스