pHG-2091-pH Controller
มาทดสอบ pHG-2091 กันครับ
ในโครงการนี้จะอาศัยบอร์ด Mini-LoRa ที่มี RS485 เชื่อมต่อกับเครื่อง pHG-2091 pH/ORP Controller
สำหรับการเชื่อมต่อ RS485 เราจะมีการเชื่อมต่อ 2 แบบ โดยเราจะใช้วิธีที่ 1 ก่อนตามโค้ดด้านล่าง
#include <SoftwareSerial.h> // https://github.com/PaulStoffregen/SoftwareSerial #define RX 22 //Serial Receive pin 16 #define TX 23 //Serial Transmit pin 17 #define RTS_LED 25 //LED #define RS485Transmit HIGH #define RS485Receive LOW float temp,pH ; SoftwareSerial RS485Serial(RX, TX); void setup() { pinMode(RTS_LED, OUTPUT); Serial.begin(115200); RS485Serial.begin(9600); delay(1000); } void loop() { digitalWrite(RTS_LED, RS485Transmit); // init Transmit byte RS485_request[8] = {0x01, 0x03, 0x26, 0x00, 0x00, 0x04, 0x4F, 0x41}; //the one commonly seen online //to find out what I am sending for( byte a=0; a<8; a++ ) { Serial.print(RS485_request[a], HEX); } Serial.println(); RS485Serial.write(RS485_request, sizeof(RS485_request)); RS485Serial.flush(); digitalWrite(RTS_LED, RS485Receive); // Init Receive byte RS485_received[13]; RS485Serial.readBytes(RS485_received, 13); Serial.print("Result : "); for( byte i=0; i<13; i++ ) { Serial.print(RS485_received[i], HEX); Serial.print(" "); } Serial.println(); Serial.print("Data 7 : "); Serial.println(RS485_received[7],DEC); temp = RS485_received[5]/10+RS485_received[6]/10; pH = RS485_received[7]/70+RS485_received[8]/70+RS485_received[9]/70+RS485_received[10]/70; Serial.print("Temp : ");Serial.println(temp,2); Serial.print("pH : ");Serial.println(pH,2); //Serial.print("Digit 12 "); //Serial.println(RS485_received[12]); //Serial.print(" something"); Serial.println(); delay(2000); }
สำหรับผลลัพธ์ที่ได้นั้น ขณะนี้เราใช้การสูตรการแปลงค่าโดยประมาณไปก่อน แต่อย่างน้อย คือ เราสามารถอ่านข้อมูลออกมาได้
บรรทัดสำคัญคือ
byte RS485_request[8] = {0x01, 0x03, 0x26, 0x00, 0x00, 0x04, 0x4F, 0x41}; //the one commonly seen online
โดยที่
0x01 คือ ID ของ Slave
0x03 คือ Function code
สำหรับผลลัพธ์ที่ได้ ต้องรอการยืนยันสูตรการแปลงจากผู้ผลิตยืนยันมาอีกรอบ
00:53:57.100 -> 13260044F41
00:53:58.095 -> Result : 1 3 8 CD CC CC 41 14 AE EF 40 50 0
00:53:58.095 -> Data 7 : 20
00:53:58.095 -> Temp : 26.00
00:53:58.095 -> pH : 10.00
00:53:58.095 ->
00:54:00.083 -> 13260044F41
00:54:01.077 -> Result : 1 3 8 CD CC CC 41 14 AE EF 40 50 0
00:54:01.123 -> Data 7 : 20
00:54:01.123 -> Temp : 26.00
00:54:01.123 -> pH : 10.00