2017년 3월 31일 금요일

Arduino에 ESP-01 WiFi Module 연결 방법.

Arduino Uno에 ESP-01 Module을 연결하는 방법을 소개한다.
여기서는 "Fritzing"사용에 대한 연습이다.
관련해서는 Arduino Blug를 참조하기 바란다.

Arduino Uno에 ESP-01 WiFi Module을 연결해서 사용하는 경우에는 Arduino Uno의 Firmware를 Upload해서 ESP-01 WiFi Module은 인터넷 연결도구로써 사용된다.
앞서 ESP-01 단독 실행에서는 ESP8266 Firmware를 Upload하여야 한다.

"Fritzing"에서는 "브레드 보드"와 "스케메틱", "PCB", "Code"탭을 작성할 수 있다.
"Code"탭을 제외한 3개의 탭은 모두 연결되어 있기 때문에 3개 중에 1개만 작성해도 모두 연결이 구현된다.( 단, 각각의 탭이 다르게 연결되어있다면, 서로 충돌이 발생할 수 있기 때문에 연결에 주의하여야 한다.)


"Fritzing"에서 Arduino Code를 Build하고, Download하기 위해서는 Arduino IDE에 대한 설정이 되어 있어야 한다.
"Fritzing"을 실행하고, "편집" -> "환경설정..."을 클릭한다.
 
"Code View"탭으로 이동해서 설치된 "Arduino IDE"를 등록한다.
 
Arduino IDE를 설정한 후에는 "Code"탭에서 Arduino Uno 보드에 대한 설정이 되어야만 한다.

"Fritzing"의 "Code"탭에서 하단에 Platform, 보드, Port를 설정해야 한다.
"Platform"은 Arduino IDE가 설정되어 있기 때문에 Arduino가 선택되고, "보드"는 현재 사용하고 있는 보드를 선택한다.
"Port"는 PC에 연결된 Arduino의 COM Port를 선택한다.
"Upload"버튼을 클릭하면, 작성된 code(스케치)를 Arduino 보드에 Upload한다.
"Serial Monitor"버튼을 클릭하면, Arduino 보드와 연결된 COM Port를 open한다.


Arduino Uno와 Serial 통신으로 ESP-01 WiFi Module을 제어하고, WiFi를 통해서 Arduino Uno를 제어하거나 상태를 확인할 수 있다.
Arduino Uno의 2번 핀과 ESP-01의 8번 핀(TX)이 연결되고, Arduino Uno의 3번 핀은 ESP-01의 1번 핀(RX)와 연결한다. 즉, Arduino Uno의 Software Serial에서 Rx는 2번 핀으로 할당하고, Tx는 3번 핀으로 할당해야만 한다.
자세한 내용은 Arduino Uno 스케치를 확인하기 바란다.

1. 브레드 보드 연결하기.
"Fritzing"을 실행하고, 부품창에서 "Arduino Uno"와 "ESP-01" Module을 가져와서 아래와 같이 연결한다. 연결이 완료되면, "파일" -> "내보내기" -> "이미지" -> "PNG"를 선택해서 그림 파일로 저장할 수 있다.

 

2. 회로 설계.
"스케메틱(Schematic)"탭에서 아래와 같이 회로를 연결한다.
 

3. PCB Layout.
"PCB"탭에서 아래와 같이 Layout을 연결한다. PCB Layout은 기본적으로 양면 PCB를 기준으로 진행되고, 부품이 Hole을 갖는 경우에는 Top과 Bottom으로 모두 배선 할 수 있다.
 

4. Code 작성.
Blynk Server를 통해서 핸드폰 어플을 통해서 Arduino를 제어하거나 상태를 확인할 수 있는 code를 작성한다. 아래 Code는 Arduino Uno가 ESP-01 WiFi Module을 통해서 Blynk Server에 접속하는 기능은 제공한다.(단, auth[]와 ssid[], pass[]는 각자의 환경에 맞게 설정되어야 한다.)
Blynk 어플 작성 및 사용에 대해서는 향후 Blynk 블로그를 작성할 계획이다.
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxx";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "wifi_name";
char pass[] = "wifi_password";

// Software Serial on Uno, Nano...
#include <SoftwareSerial.h>

SoftwareSerial EspSerial(3, 2); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Set console baud rate
  Serial.begin(9600);
  delay(10);

  // Set ESP8266 baud rate
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

Blynk.begin(auth, wifi, ssid, pass);
delay(100); }
void loop() { Blynk.run(); }
"Fritzing"의 "Code"탭에서 "Platform", "보드", "Port"가 설정되었다면, "Upload"버튼을 클릭해서 작성된 code의 동작을 확인할 수 있다.

Fritzing Code

댓글 없음:

댓글 쓰기

ESP-01 WiFi Module 연결 회로 만들기

ESP-01 WiFi Module을 사용하는 방법은 2가지 방법이 있으며, 각각의 경우 추가 회로가 필요한다. 1. ESP-01을 단독으로 사용하는 방법.    - 3.3V 전원부가 필요하다.    - Button 입력 회로가 필요하다.    ...