BASIC4MCU | 질문게시판 | 아두이노 우노로 thingspeak 연결할 수는 있나요ㅠㅠ
페이지 정보
작성자 초보동그리 작성일2019-09-21 22:02 조회17,225회 댓글3건본문
우노에다가 dht11, lcd i2c, esp-01+esp01 어댑터 연결한 상태구요
온습도 값 읽어서 lcd에 띄우고 thingspeak에 보내는 거 하고 있습니다.
일단 컴파일은 되는데, lcd도 깜빡거리기만 하고 온습도 값도 전송이 안 되고 있습니다.
어디서부터 잘못된 걸까요... 라이브러리 자체를 바꿔야 하나뇨
아 그리고 이건 어디선가 찾은 소스코드를 맞게 변형한 거라서 납득은 되는데 깊은 이해는 안 된 상태입니다.
도와주세요ㅠㅠ
#include <WiFiEsp.h>
#include <WiFiEspClient.h>
#include <WiFiEspServer.h>
#include <WiFiEspUdp.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>#include <ThingSpeak.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
DHT dht(8, DHT11);
const char* ssid = "..."; //와이파이 이름
const char* password = "..."; //보안코드
WiFiEspClient client;
unsigned long DHT_CHID =...; //채널 ID
const char* DHT_WriteKey = "..."; //API wRITEKEY
void setup()
{dht.begin();
lcd.init();
lcd.backlight();
Serial.begin(9600);
initWiFi();
ThingSpeak.begin(client);
}void initWiFi() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println(".");
}
}
void loop()
{
float humi = dht.readHumidity();
float temp = dht.readTemperature();Serial.print((int)temp); Serial.print((int)humi);
lcd.setCursor(0,0);
lcd.print(humi); lcd.print("%");
lcd.setCursor(0, 1);
lcd.print(temp); lcd.print("C");
delay(1500);
static bool state = true;
if (isnan(humi) || isnan(temp));
{
if(state == true) {
ThingSpeak.writeField(DHT_CHID, 1, temp, DHT_WriteKey);
state = false;
}
else {
ThingSpeak.writeField(DHT_CHID, 2, humi, DHT_WriteKey);
state = true;}
}
delay(15000);
}
댓글 3
조회수 17,225초보동그리님의 댓글
초보동그리 작성일글구 esp-01는 통신속도 9600에 station모드로 설정하고 와이파이 연결한 상태입니다!
master님의 댓글
master 작성일한꺼번에 하려고 하지말고 하나씩 차근 차근 동작시키면서 소스코드를 공부하세요
master님의 댓글
master 작성일
https://www.google.com/search?q=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+i2c+lcd+%EC%8A%B5%EB%8F%84%EC%84%BC%EC%84%9C&pws=0&gl=us&gws_rd=cr
아두이노 i2c lcd 습도센서
이 예제부터 돌려본 후에
wifi 예제를 검색해서 돌려보세요
그 후에 합쳐서 만들어보세요