홈 오토메이션 은 항상 우리 대부분에게 영감을주는 프로젝트였습니다. 다른 방의 스위치에 손을 대지 않고 안락한 의자 나 침대에서 AC 부하를 전환하는 것은 멋지지 않습니다 !!, ESP8266 모듈 덕분에이 아이디어는 전자에 대한 미묘한 지식으로 쉽게 구현할 수 있습니다.
이 프로젝트에서는 인터넷 연결이 활성화 된 전화 또는 컴퓨터를 사용하여 스위치를 원격으로 전환 할 수 있는 Junction Box 를 만드는 방법을 알아 보겠습니다. 이 프로젝트는 정격 전류가 5A 또는 ~ 800W 이하인 2 개의 AC 부하를 토글 할 수 있습니다. 개념을 이해하면 고급 ESP 모듈을 사용하여 수 또는 AC 부하를 확장하고 높은 정격 릴레이를 사용하여 부하의 정격 전력을 높일 수 있습니다.
이 튜토리얼은 Arduino IDE에서 ESP8266 모듈을 사용한 경험이 있다고 가정합니다. 진행하기 전에 ESP8266 WiFi 트랜시버 시작하기 (1 부) 및 ESP8266 시작하기 (3 부): Arduino IDE로 ESP8266 프로그래밍 및 해당 메모리 자습서 플래싱을 참조하십시오.
필요한 하드웨어:
이 프로젝트에 필요한 하드웨어는 다음과 같습니다.
- ESP8266
- FTDI 모듈 (프로그래밍 용)
- 3V 5A 전자기 릴레이 (2Nos)
- AC-DC 컨버터 모듈 (5V / 700mA 이상)
- BC547 (2Nos)
- LM317 레귤레이터
- 220ohm 및 360ohm 저항기
- 0.1 및 10uf 커패시터
- IN007 다이오드 (2Nos)
- 전기 배선함
- 연결 용 전선
회로도 설명:
이 프로젝트의 전체 회로도는 다음과 같습니다.
회로도는 출력이 5V 및 700mA 인 AC-DC 컨버터 모듈로 구성됩니다. ESP8266 모듈은 3.3V에서 작동하므로 5V를 3.3V로 변환해야합니다. 따라서 LM317 가변 전압 조정기 IC는 ESP 모듈을 위해 3.3V를 조정하는 데 사용됩니다. 전자기 릴레이를 사용한 AC 부하를 토글하기 위해이 릴레이는 전원을 공급하는 데 3V가 필요하며 릴레이의 Common (C) 및 일반적으로 열린 (NO) 핀을 통해 흐르는 최대 5A를 견딜 수 있습니다. 릴레이를 구동하기 위해 ESP 모듈의 GPIO 핀에 의해 전환되는 BC547 NPN 트랜지스터를 사용했습니다.
ESP8266 모듈에는 GPIO 핀이 내장되어 있기 때문에 프로젝트는 상당히 간단 해졌습니다. 그러나 ESP 모듈의 GPIO 핀을 사용할 때는주의해야합니다. 아래에서 설명합니다.
ESP8266 GPIO 핀 사용 팁:
- ESP8266-01 모듈에는 각각 GPIO0 및 GPIO2 핀인 두 개의 GPIO 핀이 있습니다.
- GPIO 핀의 최대 소스 전류는 12mA입니다.
- GPIO 핀의 최대 싱크 전류는 20mA입니다.
- 이 낮은 전류로 인해 핀에서 직접 릴레이와 같은 적절한 부하를 구동 할 수 없으므로 드라이버 회로가 필수입니다.
- ESP 모듈의 전원이 켜져있을 때 GPIO 핀에 연결된 부하가 없어야합니다. 다른 모듈은 리셋 루프에 빠질 것입니다.
- 권장 전류보다 더 많은 전류를 싱킹하면 ESP8266 모듈의 GPIO 핀이 손상되므로주의하십시오.
ESP8266 모듈의 위의 단점을 극복하기 위해 BC547을 사용하여 릴레이를 구동하고 BC547 트랜지스터의 이미 터와 접지 사이의 스위치를 사용했습니다. 이 연결은 ESP 모듈의 전원이 켜져있을 때 열려야하며, 그런 다음 닫히고 그대로 둘 수 있습니다.
하드웨어:
회로도를 이해하면 Perf Board 조각에 회로를 납땜하면됩니다. 그러나 보드가 정션 박스에도 맞는지 확인하십시오.
이 프로젝트에 사용 된 AC-DC 컨버터는 700mA 연속 및 800mA 피크 전류로 5V를 출력합니다. 쉽게 구할 수 있기 때문에 유사한 온라인을 쉽게 구입할 수 있습니다. 자체 변환기를 설계하거나 배터리를 사용하면 프로젝트의 효율성이 떨어집니다. 이 모듈을 구입하면 입력 단자에 와이어를 납땜하기 만하면 나머지 회로를 사용할 준비가 된 것입니다.
모든 것이 납땜되면 다음과 같이 보일 것입니다.
보시다시피 저는 3 개의 2 핀 터미널 박스를 사용했습니다. 그중 하나는 AC-DC 컨버터 모듈에서 + V를 공급하는 데 사용되고 다른 두 개는 AC 부하를 릴레이에 연결하는 데 사용됩니다.
이제 Junction 박스의 터미널을 Perf 보드에 연결하겠습니다.
정션 박스에 세 개의 단자 (플러그 포인트)가 있음을 알 수 있습니다. 그중 하나 (가장 오른쪽)는 AC-Dc 컨버터 모듈에 전원을 공급하는 데 사용되며 다른 두 개는 AC 부하를 연결하는 데 사용됩니다. 보시다시피 중성선 (검은 색 선)은 세 개의 플러그 포인트 모두에 연결됩니다. 그러나 위상 와이어는 (노란색 와이어)는 무료입니다. 두 개의 플러그 포인트 (두 개의 빨간색 와이어)의 위상 끝도 비어 있습니다. 이 세 가지 자유 와이어는 모두 아래 그림과 같이 성능 보드에 추가 한 릴레이 터미널에 연결되어야합니다.
내 성능 보드는 정션 박스에 완벽하게 맞습니다. 연결이 완료되면 프로그램을 ESP 모듈에 업로드하고 Perf 보드에 마운트하고 정션 박스를 조입니다.
ESP8266 프로그램:
우리의 ESP8266 모듈은 Arduino IDE를 사용하여 프로그래밍되었습니다. 앞서 언급했듯이 Arduino IDE를 사용하여 ESP를 프로그래밍하는 방법을 알고 싶다면 링크의 튜토리얼을 방문하십시오. 전체 프로그램은이 튜토리얼의 끝에 제공됩니다. 프로그램의 개념은 자명하지만 아래에 몇 가지 중요한 줄이 설명되어 있습니다.
const char * ssid = "BPAS 홈"; // 여기에 Wifi SSID를 입력하세요 const char * password = "cracksun"; // 여기에 비밀번호 입력
ESP 모듈은 프로젝트에서 스테이션 및 액세스 포인트 역할을합니다. 따라서 스테이션 역할을 할 때 라우터에 연결해야합니다. 위의 코드 줄은 라우터의 SSID 및 비밀번호를 입력하는 데 사용됩니다. 라우터에 따라 변경하십시오.
mainPage + = "
스마트 정션 박스
작성자 CircuitDigest
스위치 1
"; mainPage + ="스위치 2
"; 피드백 ="스위치 1과 스위치 2가 모두 꺼져 있습니다.
";모듈의 IP 주소에 연결하면 HTML로 실행되는 웹 페이지가 표시됩니다. 이 HTML 코드는 위와 같이 Arduino 프로그램에서 정의되어야합니다. HTML을 미리 알 필요는 없습니다. HTML 태그를 읽고 각 태그가 나타내는 내용을 이해할 수있는 출력과 비교하기 만하면됩니다.
이 HTML 코드를 복사하여 txt 파일에 붙여넣고 디버깅 목적으로 HTML 파일로 실행할 수도 있습니다.
while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } Serial.println (""); Serial.print ("연결됨"); Serial.println (ssid); Serial.print ("IP 주소:"); Serial.println (WiFi.localIP ());
또한 ESP 모듈을 디버깅하기 위해 직렬 모니터 옵션을 사용하고 있으며 프로그램이 현재 작동중인 상태를 알고 있습니다. 직렬 모니터는 "."를 출력합니다. ESP가 라우터와의 연결을 설정할 때까지. 연결이 설정되면 웹 서버의 IP 주소가 제공되며 동일한 코드가 위에 표시됩니다.
server.on ("/ switch1On", () {피드백 = "
스위치 1이 켜짐
"; currentPage = mainPage + feedback; server.send (200,"text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_0, HIGH); delay (1000);});IP 주소를 알게되면 브라우저에서 해당 IP를 사용하여 HTML 코드에 액세스 할 수 있습니다. 이제 각 버튼을 누르면 요청이 클라이언트로 ESP 모듈에 전송됩니다. 이 클라이언트 요청에 따라 모듈이 응답합니다. 예를 들어 클라이언트가 "/ switchOn"을 요청한 경우 모듈은 HTML 코드를 업데이트하여 클라이언트로 전송하고 GPIO 핀을 HIGH로 설정합니다. 동일한 코드가 위에 나와 있습니다. 마찬가지로 각 작업에 대해 server.on ()이 정의됩니다.
산출:
하드웨어 및 프로그램이 준비되면이 자습서에 표시된대로 프로그램을 ESP8266 모듈에 업로드합니다. 그런 다음 Arduino IDE의 직렬 모니터를 클릭하면 SSID와 암호가 일치하면 다음과 같은 내용이 표시됩니다.
직렬 모니터에 표시되는 IP 주소를 기록해 둡니다. 제 경우 IP 주소는 "http://192.168.2.103"입니다. ESP 웹 페이지에 액세스하려면 브라우저에서이 IP를 사용해야합니다.
이제 릴레이 보드에 ESP 모듈을 배치하고 정션 박스를 닫고 전원을 켠 다음 GPIO 핀을 부하에 단락시킵니다. 브라우저에 IP 주소를 입력 할 때 모든 것이 제대로 작동하면 다음 화면이 표시됩니다.
이제 원하는 스위치를 켜고 끄면 실제 하드웨어에 반영됩니다. 그것은 단순히 플러그 포인트에 연결하여 좋아하는 AC 부하를 전환 할 수 없다는 것입니다. 프로젝트가 마음에 들었고 제대로 작동하기를 바랍니다. 댓글 섹션을 사용하지 않으면 기꺼이 도와 드리겠습니다.
이 DIY 스마트 정션 박스 프로젝트의 전체 작업은 아래 비디오에 나와 있습니다.