NODE MCU ESP8266 보드로 LED 제어하기
페이지 정보
작성자 드래곤사우르스 작성일17-01-24 15:20 조회7,972회 댓글0건관련링크
본문
안녕하세요 메카솔루션 메이커 홍동길입니다.
이번에는 NODE MCU ESP8266보드를 이용해 웹을 이용해서 LED를 제어하는 기본적인 예제를 배워보고자 합니다.
부품 목록 확인하기
다음 링크에서 부품목록을 확인 할 수 있습니다.
와이파이 접속하기
#include <ESP8266WiFi.h> const char* ssid = "Wifi ssid";//WIFI 이름 const char* password = "Wifi pswd";//WIFI 비밀번호 void setup() { Serial.begin(115200); delay(1000); WiFi.disconnect(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); Serial.println(WiFi.SSID()); WiFi.setAutoConnect(true); //자동 접속 설정 WiFi.setAutoReconnect(true); //자동 재접속 설정 WiFi.waitForConnectResult(); Serial.println(WiFi.localIP()); } void loop() {} |
ESP8266은 자동 접속과 자동재접속 기능이 있기때문에 매번 소스코드 마다 와이파이 접속에 대한 정보와 연결 시도에 대한 코드를 넣지 않아도 됩니다.
위의 와이파이 접속 소스코드를 오린 뒤, 또다른 코드를 올려주면 됩니다.
웹 LED 제어 소스코드
#include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> #include <ESP8266mDNS.h> ESP8266WebServer server(80); int led = 14; void setup(void){ pinMode(led, OUTPUT); digitalWrite(led, LOW); Serial.begin(115200); // 연결 완료 까지 대기 while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(WiFi.SSID()); Serial.print("IP address: "); Serial.println(WiFi.localIP()); if (MDNS.begin("esp8266")) { Serial.println("MDNS responder started"); } //접속별 동작 설정 server.on("/", [](){ server.send(200, "text/html", "<h1>ESP8266 LED</h1><a href=\"/off\"><h1>OFF</h1></a><a href=\"/on\"><h1>ON</h1></a>"); }); server.on("/on", [](){//ON 으로 접속시 LED를 켭니다. digitalWrite(led, HIGH); server.send(200, "text/html", "<a href=\"/off\"><h1>OFF</h1></a>"); }); server.on("/off", [](){//OFF 으로 접속시 LED를 끕니다. digitalWrite(led, LOW); server.send(200, "text/html", "<a href=\"/on\"><h1>ON</h1></a>"); });
//서버 사용을 시작합니다. server.begin(); Serial.println("HTTP server started"); } void loop(void){ server.handleClient();//클라이언트 접속을 관리합니다. } |
소스코드는 위와 같습니다.
server.on함수는 웹서버 접속 정보에 따른 동작을 제어합니다.
그리고 loop문으로 돌면서 server.handleClient(); 함수가 접속이 될때마다 위에서 설정된 함수를로 전달을 시켜주게 되는 방식으로 웹서버가 구성이 됩니다.
회로도 알아보기
본 예제에서는 저항없이 LED를 연결에서 테스트만 하였으나 안전한 사용을 위해서는 LED에 저항을 연결해 주어야합니다.
동작영상
감사합니다.
출처: 메카솔루션
댓글목록
등록된 댓글이 없습니다.