IC MCP3008 ที่ใช้ขยายขา Analog ของ ESP8266 สามารถใช้งานร่วมกับ Blynk ได้ไหมครับ

(Rittikiat Kamsin) #1

ตอนนี้ผมสงสัยว่า IC MCP3008 มันสามารถใช้งานร่วมกับ Blynk ได้ไหม เพราะว่าผมต้องการใช้ขา Analog มากว่า 1 ขา ของบอร์ด ESP8266 เพื่อให้ไปแสดงค่าผ่าน Blynk
แต่ตอนนี้ผมลองใช้เชื่อมต่อกับ ESP8266 ไม่ผ่าน Blynk สามารถอ่านค่าได้
แต่พอนำมาเชื่อมต่อกับ Blynk เหมือนมันไม่สามารถอ่านค่าได้

(Permpol Thanapunnamas) #2

ต้องถามว่าต่อแบบไหน และใช้โค้ตอะไรครับ ส่วนใหญ่ถ้าค่า ที่สามารถอ่านได้บน esp8266 อยู่แล้วก็สามารถ อ่าน บน blynk ได้ปกติ อยู่ที่ว่าส่งค่าไปถูกช่องหรือไม่

(Rittikiat Kamsin) #3

float val = adc.readADC(0); ผมใช้คำสั่งนี้อ่านค่ากระแสผ่าน IC ครับ ถ้าไม่ต่อเข้ากับ Blynk แล้วใช้คำสั่ง
Serial.println(val); ก็ได้ค่า val ออกมาปกตินะครับ
แต่พอเชื่อมกับ Blynk แล้ว Serial.println(val); เหมือนไม่อ่านค่าให้เลยครับ

(Rittikiat Kamsin) #4

อันนี้คือปกติครับ

#include <MCP3008.h>
#include <ESP8266WiFi.h>
#define CS_PIN D8
#define CLOCK_PIN D5
#define MOSI_PIN D7
#define MISO_PIN D6
MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN);



void setup()
{
Serial.begin(115200);

}
void loop()
{
float val = adc.readADC(0); // read Channel 0 from MCP3008 ADC (pin 1)
Serial.println(val);

Serial.println((((val-505)*5)/1023)/0.0645);

delay(1000);
}
(Rittikiat Kamsin) #5

อันนี้คือเชื่อมต่อกับ Blynk ครับ

#define BLYNK_PRINT Serial
#include <MCP3008.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define CS_PIN D8
#define CLOCK_PIN D5
#define MOSI_PIN D7
#define MISO_PIN D6
MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN);
char auth[] = "bde2866923a14fd0b4b34502dab659cf"; 
char server[] = "blynk.iot-cm.com"; 
int port = 8080; 
char ssid[] = "Num19"; 
char pass[] = "12345678"; 

BLYNK_CONNECTED(){
    Blynk.syncAll();
}


void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass, "blynk.iot-cm.com", 8080);

}
void loop()
{
float val = adc.readADC(0); 
Blynk.virtualWrite(V2, val);
Serial.println(val);
Serial.println((((val-505)*5)/1023)/0.0645);


delay(1000);
}
(Permpol Thanapunnamas) #6

ขอดู ผลดีบัค ของ val ทั้งสองโค้ตนี้หน่อยครับว่าได้ค่าอะไรออกมา

(Permpol Thanapunnamas) #7

และ V2 ใช้ widget อะไรอยู่

(Rittikiat Kamsin) #8


ตัวนี้เป็นค่าที่ได้ตอนยังไม่เชื่อมต่อกับ Blynk ครับ คือถูกต้อง

(Rittikiat Kamsin) #9


ส่วนรูปนี้คือหลังจากนำไปเชื่อมต่อกับ Blynk ครับ แล้วได้ค่า2047 คือค่านิ่งเลยครับ
*V2 เชื่อมต่อกับ Gauge

(Permpol Thanapunnamas) #10

จากโค้ตที่ สองที่มีปัญหาลองใส่ สองบรรทัดที่ขีดเส้นใต้ไว้ให้ดูครับ เป็นการเรียกให้ เชื่อมต่อและรัน blynk

(Rittikiat Kamsin) #11

ขอบคุณครับ