MCP3008+PH+EC บอร์ด ESP8266 v3

คือผมต้องการเพิ่มขาอนาล็อกเข้าไปในบอร์ดโดยใช้ต่อกับ ไอซีMCP3008 แต่ผมอยากทราบว่าถ้าเราจะเขียนโค้ดให้กับ วัดค่าPH วัดค่า EC กับ MCP3008 ควรเขียนไปในแนวทางไหนครับ

ลองดูตัวอย่างกระทู้นี้ ตอนนี้เขียนโค้ตไปถึงไหนแล้วครับ

ผมลองจากกระทู้นี้ดูแล้วครับ แต่ผมงงว่าโค้ดของวัดค่าPH ควรใส่ยังไง ต้องประกาศขายังไงน่ะครับ

ตอนนี้เขียนเชื่อมค่า PH ปกติออกรึยังครับ

ยังครับ ผมแค่เริ่มแค่โค้ดของMCP3008อยู่เลยครับ

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

นี้ครับ แต่ผมงงทำไมค่ามันขึ้นเอง ผมใช้ตัว PH Sensor Module with Probe ค่ามันขึ้นเองโดยที่ผมไม่ได้ต่อกับอะไรเลย

#include <MCP3008.h>
#include <ESP8266WiFi.h>
#define CS_PIN 15
#define CLOCK_PIN 14
#define MOSI_PIN 13
#define MISO_PIN 12
MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN);
int sensorValue = 0; 
unsigned long int avgValue; 
float b;
int buf[10],temp;
const int analogInPin = 0; 



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

}
void loop()
{
float val = adc.readADC(0); // read Channel 0 from MCP3008 ADC (pin 1)
for(int i=0;i<10;i++) 
 { 
  buf[i]=analogRead(analogInPin);
  delay(10);
 }
 for(int i=0;i<9;i++)
 {
  for(int j=i+1;j<10;j++)
  {
   if(buf[i]>buf[j])
   {
    temp=buf[i];
    buf[i]=buf[j];
    buf[j]=temp;
   }
  }
 }
 avgValue=0;
 for(int i=2;i<8;i++)
 avgValue+=buf[i];
 float pHVol=(float)avgValue*5.0/1024/6;
 float phValue = -5.70 * pHVol + 21.34;
 Serial.print("sensor = ");
 Serial.println(phValue);

 
delay(1000);
}

ตรงนี้ทำไมจึงต้องบวกค่านี้ไว้ทุกครั้งต้องไปอ่านตามจากที่มาของโค้ตละครับว่าใส่มาทำมะเขืออะไร ให้คาดการก็คงเป็นสูตรคาลิเบรทประมาณนั้น

อ่านที่มาให้ดีๆ ครับส่วนใหญ่จะอธิบายไว้เสมอ

ผมงงมากเลย พยายามจะอ่านให้เข้าใจตามเว็ปแต่ก็งงไปหมดเลยครับ

เอาโค้ตมาจากไหนครับ เอาที่มาแปะหน่อย


เว็ปนี้ครับ

ในส่วนนี้เป็นเรื่องของการคาลิเบรทเพื่อใช้งานจริง นะครับ มันจะค่อนข้างซับซ้อน ผมแนะนำให้อ่านบทความของเว็บไทยดูมีแนวทางแน่นอน ส่วนตัวยังไม่เคยลุยไปถึงตัว PH นะครับ เลยแนะนำละเอียดไม่ได้

แต่ถ้าหลังคาลิเบรทแล้วจะเอาไปเชื่อมต่อยังไง อันนี้พอนำแนะได้ครับ

ขอบคุณครับ ผมจะลองศึกษาดูให้ละเอียดน่ะครับ

ถ้าเป็นผม ทำโดยเริ่มจากไม่รู้ไรเลย ผมจะค้นข้อมูลให้ได้มากที่สุดครับ แล้วเอาลิ้งค์มาแปะๆ ไว้ในกระทู้นี้ จากนั้น อ่านเพื่อสรุปหาแนวทาง ได้แนวทางแบบไหน ก็จะคอมเม้นไว้ในกระทู้นี้ ไปเรื่อยๆ ทดสอบไปเรื่อง ๆ กันลืม และสามารถย้อนกลับมาดูได้ว่าเราทำไรไปบ้างแล้ว

เหมือนพี่ @PUYIOT แบบกระทู้นี้

ไม่ต้องกลัวกระทู้รกครับผมสนับสนุนเต็มที่

ผมก็ทำเหมือนกัน แบบนี้

ขอบคุณสำหรับคำแนะนำน่ะครับ :pray: