3일차 아두이노 IOT 스마트 홈 | ||
안녕하세요~!!
구독자 여러뷴~
디바이스마트 엔지니어 흥프로 입니다~~!!~!
이번 포스팅은
3일차 아두이노 IOT 스마트 홈 wifi + Blynk 2 입니다.
오늘은 아두이노 2대와 릴레이 2채널 2개를 이용해서
4개의 led를 blynk 앱에서 제어 할껍니다.!!!!
회로도는 이렇습니다!!
어제 만들었던 blynk 인데용
4개의 led이니까 추가를 해야겠죵?
해봅시다.
버튼 4개를 추가를 해줍니다!!
각각의 설정은 아래와 같이 해주세용~
V1, V2는 아두이노 1번 동작 시키는 버튼입니다.
V3, V4는 아두이노 2번을 동작 시키는 버튼입니다.
이렇게 만들어 주세용~
자!!!
이제 아두이노 코딩을 해봅시다.
아두이노 1번 코드를 볼께요!!!
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// Blynk App에 Auth Token을 가져와야합니다.
// 프로젝트 설정 (너트 아이콘)으로 이동하십시오.
char auth [] = "Auth Token";
// 귀하의 WiFi 자격 증명.
// 열려있는 네트워크에 대해 비밀번호를 ""(으)로 설정하십시오.
char ssid [] = "와이파이 이름";
char pass [] = "와이파이 비밀번호";
int Relay1 = D8; // Relay1를 정수 (정수)로 정의하고 D8을 Wemos D1 에 고정합니다.
int Relay2 = D2; // Relay2를 정수 (정수)로 정의하고 D2을 Wemos D1 에 고정합니다
void setup ()
{
// 디버그 콘솔
Serial.begin (115200);
pinMode (Relay1, OUTPUT); // Relay1 (D8)를 출력으로 설정합니다.
pinMode (Relay2, OUTPUT); // Relay2 (D2)를 출력으로 설정합니다.
Blynk.begin (auth, ssid, pass);
digitalWrite (Relay1, HIGH); // RELAY1를 끄기.
digitalWrite (Relay2, HIGH); // RELAY2를 끄기.
}
void loop ()
{
Blynk.run ();
}
//이 함수는 매번 버튼 위젯으로 호출됩니다.
// Blynk 앱에서 가상 핀 V1, V2에 값을 씁니다.
BLYNK_WRITE (V1) {
int pinValue = param.asInt (); // V1에서 들어오는 값을 변수에 할당
if (pinValue == 1) {
digitalWrite (Relay1, LOW); // LED를 켜십시오.
} else {
digitalWrite (Relay1, HIGH); // LED를 끕니다.
}
}
BLYNK_WRITE (V2) {
int pinValue = param.asInt (); // V2에서 들어오는 값을 변수에 할당
if (pinValue == 1) {
digitalWrite (Relay2, LOW); // LED를 켜십시오.
} else {
digitalWrite (Relay2, HIGH); // LED를 끕니다.
}
}
이번엔
아두이노 2번 코드를 볼께요!!!
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// Blynk App에 Auth Token을 가져와야합니다.
// 프로젝트 설정 (너트 아이콘)으로 이동하십시오.
char auth [] = "Auth Token";
// 귀하의 WiFi 자격 증명.
// 열려있는 네트워크에 대해 비밀번호를 ""(으)로 설정하십시오.
char ssid [] = "와이파이 이름";
char pass [] = "와이파이 비밀번호";
int Relay1 = D8; // Relay1를 정수 (정수)로 정의하고 D8을 Wemos D1 에 고정합니다.
int Relay2 = D2; // Relay2를 정수 (정수)로 정의하고 D2을 Wemos D1 에 고정합니다
void setup ()
{
// 디버그 콘솔
Serial.begin (115200);
pinMode (Relay1, OUTPUT); // Relay1 (D8)를 출력으로 설정합니다.
pinMode (Relay2, OUTPUT); // Relay2 (D2)를 출력으로 설정합니다.
Blynk.begin (auth, ssid, pass);
digitalWrite (Relay1, HIGH); // RELAY1를 끄기.
digitalWrite (Relay2, HIGH); // RELAY2를 끄기.
}
void loop ()
{
Blynk.run ();
}
//이 함수는 매번 버튼 위젯으로 호출됩니다.
// Blynk 앱에서 가상 핀 V3, V4에 값을 씁니다.
BLYNK_WRITE (V3) {
int pinValue = param.asInt (); // V3에서 들어오는 값을 변수에 할당
if (pinValue == 1) {
digitalWrite (Relay1, LOW); // LED를 켜십시오.
} else {
digitalWrite (Relay1, HIGH); // LED를 끕니다.
}
}
BLYNK_WRITE (V4) {
int pinValue = param.asInt (); // V4에서 들어오는 값을 변수에 할당
if (pinValue == 1) {
digitalWrite (Relay2, LOW); // LED를 켜십시오.
} else {
digitalWrite (Relay2, HIGH); // LED를 끕니다.
}
}
여러분들 어렵지 않아요
당황하지 마세요!!!
이전에 2일차에서 다뤘던 내용에서
I/O 포트 하나 추가 되었고
Blynk용 코드가 하나 추가 되었습니당.!!!
int Relay1 = D8; // Relay1를 정수 (정수)로 정의하고 D8을 Wemos D1 에 고정합니다.
int Relay2 = D2; // Relay2를 정수 (정수)로 정의하고 D2을 Wemos D1 에 고정합니다.
자 원래는 1개(D8)만 사용하던 i/o 포트에서2개(D8, D2)를 사용하게 된겁니다.!!!
pinMode (Relay1, OUTPUT); // Relay1 (D8)를 출력으로 설정합니다.
pinMode (Relay2, OUTPUT); // Relay2 (D2)를 출력으로 설정합니다.
digitalWrite (Relay1, HIGH); // RELAY1를 끄기.
digitalWrite (Relay2, HIGH); // RELAY2를 끄기.
동일하게 I/O포트를 쓰기 위한 내용이죠?
대신 처음 아두이노가 켜졌을때!! 릴레이 상태를
HIGH상태로 만들어주는 문이 추가 되었네요.
아두이노의 I/O 포트는 최초 전원이 들어오면
LOW상태를 유지합니다.
저희가 쓰는 릴레이는 LOW이면 NO가 도통상태가 됩니다.
그래서 HIGH 상태로 만들어준거에용~~
NC를 쓰시면 선언 안해줘도 되겠죠?
그럼 처음 부터 NC를 쓰면 되자나
라고 하시는분들은!!!
공부 더 하시라고 일부러 이렇게 한 겁니다!!!
ㅎㅎㅎㅎㅎㅎ
여기서 NC COM NO 를 모르시는 분들은!!!!
COM 단자, NC(normally closed), NO(normally open)을 뜻하는데요
스위치 / 릴레이에 대해 잠깐만 검색 하시면 이해 하실 수 있을 겁니다!!
이번 포스팅을 통해서 blynk에서 받은 같은 토큰 정보를
아두이노에 넣어 준다면
blynk에서
아두이노 1개, 2개, 3개, 4개 그이상 컨트롤이 가능하다는 것을
알게 되었습니다.
이에 저는 사장님께 혼나더라도
이 키트 4개를 챙겨서
집에 가서 설치 해볼 예정입니다만...
AC - DC 컨버터가 재고가 없네요...;;;;
하.... 얼른 해보고 싶은데 입고 되면 진행 하도록 하겠습니다....
또 하나 알게 된 것!!!
blynk는 스위치를 더 넣으려면 결재를 해야한다...!!!
http://appinventor.mit.edu/explore/#
그래서 저는 앱 인벤터를 배워 보려고 합니다.
AC-DC 컨버터가 입고 되는 그날까지
앱 인벤터를 사용해서 구현을 성공해 보겠습니다.
그 내용 역시 포스팅 해드릴께요...!!!!
오늘은 여기까지 포스팅하고요
추가로 궁금하신게 있으신 분들은
댓글 달아 주시면 답변 드리겠습니다~
다음번엔 앱 인벤터에 대해 알아봅시다.
기대해주세용!~
감사합니다!!~ 안뇽!!!
0 댓글