#include<SoftwareSerial.h>
SoftwareSerial mySerial(10,11);
unsigned char output[33];
unsigned char need[2];
unsigned char checksum;
void setup() {
Serial.begin(115200);
while(!Serial){
;
}
mySerial.begin(9600);
mySerial.write(0xA5);
mySerial.write(0x45);
mySerial.write(0xEA);
}
void loop() {
if(mySerial.available()){
Serial.print("Đang đọc dữ liệu");
for(int counter=0;counter<=32;counter++){
output[counter] = (unsigned char)mySerial.read();
Serial.print(".");
}
for(int obj=1;obj<=31;obj++){
if(output[obj]==0x5A && output[obj+1]==0x5A ){
if(obj <= 23)
{
checksum = 0;
for(int i=0;i<=7;i++) checksum += output[obj+i];
if(checksum == output[obj+8])
{
need[0] = output[obj+4];
need[1] = output[obj+5];
float temp = (float)(need[0] << 8 | need[1])/100;
Serial.println();
Serial.println("Nhiệt độ: ");
Serial.print(temp);
}
}
}
}
delay(100);
}
}
Tiến hành biên dịch, nạp code và mở cổng serial với tốc độ 115200 lên để xem kết quả nhé.
Ý kiến bạn đọc
Những tin cũ hơn