开拓平台:arduino IDE 载具:ESP32 芯片型号:TM7711
#define HX710_SCK 22//ESP32开拓板的22引脚#define HX710_DT 23long HX710_Buffer = 0;unsigned long HX710_Read(void) //增益128{ unsigned long count; unsigned char i; bool Flag = 0; digitalWrite(HX710_DT, HIGH);//拉高DO引脚电平 delayMicroseconds(1); digitalWrite(HX710_SCK, LOW);//拉低时钟引脚电平 delayMicroseconds(1); count=0; //初始化回调变量值 while(digitalRead(HX710_DT)); //去世循环等待传感器就绪 如果DO引脚被拉低则跳出循环 for(i=0;i<24;i++)//循环获取24位数据 { digitalWrite(HX710_SCK, HIGH); //拉高时钟引脚电平 delayMicroseconds(1); count=count<<1; //向左位移1位 digitalWrite(HX710_SCK, LOW); //拉低时钟引脚电平 delayMicroseconds(1); if(digitalRead(HX710_DT))//如果DO引脚依然为高电平 count++; //变量自加1 } digitalWrite(HX710_SCK, HIGH); //拉高时钟引脚 count ^= 0x800000;//复合位他乡运算 delayMicroseconds(1); digitalWrite(HX710_SCK, LOW); //拉低时钟引脚 delayMicroseconds(1); return(count);//回调变量}void setup() { Serial.begin(115200); pinMode(HX710_SCK, OUTPUT); //初始化引脚 pinMode(HX710_DT, INPUT);}void loop() { HX710_Buffer = HX710_Read(); Serial.println(HX710_Buffer); delay(5000);}
下图是实际测得压力值效果

从上面可以理解,这实在可以实现生活中很多须要的功能,比如水位丈量,压力丈量等等。











