当前位置: 首页 > wzjs >正文

学做网站phpseo 推广

学做网站php,seo 推广,长沙精品网站建设公司,老榕树网站建设教学硬件准备: CHT8325ADNR芯片:CHT832X是上海申矽凌微电子的一款数字温湿度传感器,湿度精度为1.5%RH,温度精度为0.1C,可以应用于车载,暖通空调,冰箱,温湿度计等环境监测。连线&#xf…

硬件准备:

  • CHT8325ADNR芯片:CHT832X是上海申矽凌微电子的一款数字温湿度传感器,湿度精度为±1.5%RH,温度精度为±0.1°C,可以应用于车载,暖通空调,冰箱,温湿度计等环境监测。
  • 连线:
    Pin- VCC —> 5V-arduino
    Pin-SDA —> SDA -arduino
    Pin- GND —> GND-arduino
    Pin-SCL ----> SCL-arduino

在这里插入图片描述

代码实现:

#include <Wire.h>#define CHT832X_ADDR 0x44 // 7位地址// 命令定义
#define CMD_ONE_SHOT_NO_STRETCH 0x2400 // 单次测量命令(禁用时钟拉伸)
#define CMD_READ_DATA 0xE000         // 读取数据命令// 温湿度转换参数
#define TEMP_SCALE 65535.0
#define TEMP_OFFSET -45.0
#define TEMP_SLOPE 175.0
#define HUMIDITY_SCALE 100.0 / 65535.0// CRC8校验函数
uint8_t crc8(const uint8_t *data, int len) {const uint8_t POLYNOMIAL = 0x31; // CRC多项式uint8_t crc = 0xFF; // 初始值for (int i = 0; i < len; ++i) {crc ^= data[i];for (int j = 0; j < 8; ++j) {crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1);}}return crc;
}void setup() {Serial.begin(115200);Wire.begin();delay(100); // 等待传感器初始化Serial.println("CHT832X Sensor Test");
}void loop() {// 发送单次测量命令(禁用时钟拉伸)if (sendCommand(CMD_ONE_SHOT_NO_STRETCH)) {delay(150); // 等待测量完成uint16_t rawTemp, rawHumidity;uint8_t temp_crc, humi_crc;if (readMeasurement(&rawTemp, &rawHumidity, &temp_crc, &humi_crc)) {// 验证CRCuint8_t temp_data[2] = {highByte(rawTemp), lowByte(rawTemp)};uint8_t humi_data[2] = {highByte(rawHumidity), lowByte(rawHumidity)};if (crc8(temp_data, 2) != temp_crc) {Serial.println("Temperature CRC check failed!");return;}if (crc8(humi_data, 2) != humi_crc) {Serial.println("Humidity CRC check failed!");return;}// 计算实际温湿度float humidity = rawHumidity * HUMIDITY_SCALE;float temperature = (rawTemp / TEMP_SCALE) * TEMP_SLOPE + TEMP_OFFSET;// 检查湿度值是否在合理范围内if (humidity > 100.0) humidity = 100.0;if (humidity < 0.0) humidity = 0.0;// 打印原始值和实际值Serial.print("Raw Temperature: 0x");Serial.print(rawTemp, HEX);Serial.print(" (");Serial.print(rawTemp);Serial.print(") => ");Serial.print(temperature, 2);Serial.println(" °C");Serial.print("Raw Humidity: 0x");Serial.print(rawHumidity, HEX);Serial.print(" (");Serial.print(rawHumidity);Serial.print(") => ");Serial.print(humidity, 2);Serial.println(" %RH");Serial.println("--------------------------");} else {Serial.println("Failed to read data!");}} else {Serial.println("Measurement command failed!");}delay(4000); // 每4秒测量一次
}// 发送16位命令(如触发测量)
bool sendCommand(uint16_t command) {Wire.beginTransmission(CHT832X_ADDR);Wire.write(highByte(command)); // 发送高字节Wire.write(lowByte(command));  // 发送低字节return (Wire.endTransmission() == 0); // 检查ACK
}// 读取温湿度数据
bool readMeasurement(uint16_t *temp, uint16_t *humidity, uint8_t *temp_crc, uint8_t *humi_crc) {// 发送读取数据命令Wire.beginTransmission(CHT832X_ADDR);Wire.write(highByte(CMD_READ_DATA));Wire.write(lowByte(CMD_READ_DATA));if (Wire.endTransmission(false) != 0) return false;// 请求读取6字节数据(温度2字节 + 温度CRC1字节 + 湿度2字节 + 湿度CRC1字节)Wire.requestFrom(CHT832X_ADDR, 6);if (Wire.available() >= 6) {*temp = (Wire.read() << 8) | Wire.read();    // 温度原始值*temp_crc =Wire.read();              *humidity = (Wire.read() << 8) | Wire.read(); // 湿度原始值*humi_crc  =Wire.read();                return true;}return false;
}

运行结果:

在这里插入图片描述

http://www.dtcms.com/wzjs/324781.html

相关文章:

  • 沂南县建设局网站上海做网络口碑优化的公司
  • 毕业设计网站可以做什么网络营销的主要手段和策略
  • 远安网站建设搜索词
  • 电子商务网站设计要求关于seo的行业岗位有哪些
  • 中山网站建设sipocms百度搜索引擎入口登录
  • 婚庆网站的设计意义汽车营销策划方案ppt
  • 网站开发需要多少钱价格查权重网站
  • 开装潢公司做网站网站建设的意义和作用
  • 网站建设流程包括哪些内容哪家网络营销好
  • 网站建设与应用 教案搜索引擎广告
  • 空中花园做网站的公司中国最厉害的营销策划公司
  • 全国医院网站建设英雄联盟最新赛事
  • 济南建网站网络营销薪酬公司
  • 短视频剪辑培训学校徐州网站建设方案优化
  • 上海网站制作上海网站制作石家庄关键词排名提升
  • 南京响应式网站建设网址安全检测中心
  • 提升学历被骗怎么投诉百度seo怎么操作
  • 广东网站制作哪家强网站建设方案书范文
  • 做暖视频网站免费自助建站的优势
  • 武汉公司注册网站免费二级域名注册网站
  • 网站免费建济南搜索引擎优化网站
  • 做网站asp国内新闻最近新闻今天
  • 哪个网站容易做二级域名广州市口碑seo推广外包
  • 胶南网站建设多少钱谷歌商店下载官网
  • 兴力网站建设网络营销是什么专业
  • 做公司网站有用吗大型网站建站公司
  • 电子商务网站系统百度推广客户端怎样注册
  • 红色的网站seo在线培训课程
  • 开发一个小程序游戏要多少钱南宁网站seo优化公司
  • 网站手机端做app开发广州抖音seo