목차바로가기 본문바로가기

아두이노와 같이 놀아요

아두이노와 같이 놀아요

목록

Arduino UNO와 NodeMCU를 연동하여 Arduino UNO에 연결된 LED 불켜기

잡토이

Arduino UNO와 NodeMCU를 소프트웨어시리얼 통신으로 연동하였습니다.  

웹에서 url로 NodeMCU에 접속하여 Arduino UNO에 연결된 LED를 켜고 끄기를 하여 보았습니다.  

 

[회로도]


 

 

 

 

 

[arduino 소스]

#include <SoftwareSerial.h>

SoftwareSerial s(5,6);

 

void setup() {

  s.begin(9600);

  Serial.begin(9600);

  pinMode(12, OUTPUT);

}

 

void loop() {

 

  if(s.available()>0) {

    int result = 0;

    result = s.read();

    Serial.println(result);

    if(result == 1) { 

      digitalWrite(12, HIGH);

    } else if(result == 2) { 

      digitalWrite(12, LOW);

    }

  }

  delay(100);

}

 

 

[NodeMCU 소스]

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h> 

#include <SoftwareSerial.h>

 

const char* ssid = "****";

const char* password = "****"; 

ESP8266WebServer    server(80);

 

SoftwareSerial s(D6,D5);

 

void setup() {

  s.begin(9600);

  Serial.begin(9600);

  

  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);

  

  while (WiFi.status( ) != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

  

  Serial.println("");

  Serial.print("Connected to ");

  Serial.println(ssid);

  Serial.print("IP address: ");

  Serial.println(WiFi.localIP( ));

  

  // 웹브라우저에서 ip 주소로 접속했을 때 보여주는 문구

  server.on("/", [ ]( ){

    server.send(200, "text/html", "<a href='/on'>on</a><br><a href='/off'>off</a>");

  });

  

  // LED 켜기

  server.on("/on", [ ]( ){

    s.write(1);

    server.send(200, "text/html", "<a href='/on'>[on]</a><br><a href='/off'>off</a>");

  });

  

  // LED 끄기

  server.on("/off", [ ]( ){

    s.write(2);

    server.send(200, "text/html", "<a href='/on'>on</a><br><a href='/off'>[off]</a>");

  });

  

  //웹서버 시작

  server.begin();

  Serial.println("HTTP server started");

 

 

}

 

void loop() {

  server.handleClient( );//클라이언트 접속을 관리합니다.

}