乐鑫技术交流
直播中

文甘翀

7年用户 971经验值
私信 关注
[问答]

求分享使用传感器Bh1750将数据发送到应用程序

你好。我需要使用传感器 Bh1750 将数据发送到应用程序 Blynk..但我没有代码...
这只是科迪我的工作但是这段代码将数据发送到串行端口..谢谢
#include  
#include <数学.h>
int BH1750address = 0x23; //i2c 地址
字节 buff[2];
void setup()
{
  Wire.begin();
  序列号.begin(57600);
}
void loop()
{
  int i;
  uint16_t 值=0;
  BH1750_Init(BH1750地址);
  延迟(200);
  if(2==BH1750_Read(BH1750address))
  {
    val=((buff[0]<<8)|buff[1])/1.2;
    Serial.print(val,DEC);     
    Serial.println("勒克斯");
  }
  延迟(150);
}
int BH1750_Read(int address) //
{
  int i=0;
  Wire.beginTransmission(地址);
  Wire.requestFrom(地址, 2);
  while(Wire.available()) //
  {
    buff = Wire.read(); // 接收一个字节
    i++;
  }
  Wire.endTransmission();  
  返回我;
}
void BH1750_Init(int address)
{
  Wire.beginTransmission(address);
  Wire.write(0x10);//1lx分辨率120ms
  Wire.endTransmission();
}

               


                        所以我找到了。
```
#define BLYNK_PRINT Serial // 将其注释掉以禁用打印并节省空间
#include  
#include  
#include  
#include  
#include  
#include  // https://github.com/claws/BH1750 BH1750 测光表;#define DHTPIN 12 //传感器中的 pin gpio 12 #define DHTTYPE DHT22 // DHT 22 如果你有 DHT11 DHT dht(DHTPIN, DHTTYPE); // 你应该在 Blynk 应用程序中获得 Auth Token。// 转到项目设置(螺母图标)。char auth[] = "75a3e91cbdf1457c9498b35eea63e9c1"; // 将您的身份验证令牌放在这里。







Simpletimer定时器;
void setup()
{
  Serial.begin(9600); // 在串行监视器中查看连接状态
   Blynk.begin(auth, "ASUS", "Jersin72"); //在此处插入您的 SSID 和密码
  lightMeter.begin();
  // 设置一个每秒调用一次的函数
  timer.setInterval(10000L, sendUptime);
}
void sendUptime()
{
   uint16_t lux = lightMeter.readLightLevel();
   Blynk.virtualWrite(4,勒克斯);
  // 您可以随时发送任何值。
  // 请不要每秒发送超过 10 个值。
   //从DHT读取温度和湿度
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  Blynk.virtualWrite(12, t); // 虚拟引脚
  Blynk.virtualWrite(13, h); // 虚拟引脚
}
void loop()
{
uint16_t lux = lightMeter.readLightLevel();
  Serial.print("灯光:");
  串行打印(勒克斯);
  Serial.println("lx");
  延迟(1000);
  Blynk.运行();
  定时器.run();
`
``

更多回帖

×
20
完善资料,
赚取积分