ESP32基于Arduino驱动GY30光照传感器程序

21 篇文章 0 订阅

连线 vcc-3.3v-5v gnd-gnd  scl-22 sda-21

 

 效果

 

#include <Wire.h> //IIC

#include <math.h> 

int BH1750address = 0x23; 

byte buff[2];

void setup()

{

  Wire.begin();

  Serial.begin(9600);

}




void loop()

{

 int i;

 uint16_t val=0;

 BH1750_Init(BH1750address);

 delay(200);

 if(2==BH1750_Read(BH1750address))

  {

   val=((buff[0]<<8)|buff[1])/1.2;

   Serial.print(val,DEC);     

   Serial.println("[lx]"); 

  }

 delay(150);

}




int BH1750_Read(int address) //

{

  int i=0;

  Wire.beginTransmission(address);

  Wire.requestFrom(address, 2);

  while(Wire.available()) //

  {

    buff[i] = Wire.read();  // receive one byte

    i++;

  }

  Wire.endTransmission();  

  return i;

}




void BH1750_Init(int address) 

{

  Wire.beginTransmission(address);

  Wire.write(0x10);//1lx reolution 120ms

  Wire.endTransmission();

}
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
esp32是一种集成了WiFi和蓝牙功能的开发板,它基于Arduino框架具有强大的硬件和软件支持。UDP通信是一种简单的传输协议,在esp32上实现UDP通信可以用于实现局域网内设备之间的数据传输。 在esp32上使用Arduino IDE进行开发,编写一个UDP通信程序非常简单。首先,我们需要包含ESP32的WiFi库和ESPAsyncUDP库。然后,设置并连接WiFi网络。 接下来,我们可以创建一个AsyncUDP的对象来实现UDP通信。通过begin()函数,我们可以指定监听的端口号。然后,我们可以使用onPacket()函数来接收和处理接收到的数据。 在loop()函数中,我们可以使用发送数据的两个函数:sendTo()和broadcastTo()。前一个函数可以将数据发送给特定的IP地址和端口号,而后一个函数则可以将数据广播到局域网内的所有设备。 根据具体需求,我们可以编写不同的处理函数来对接收到的数据进行处理。例如,我们可以将接收到的数据进行解析并根据内容执行不同的操作。 最后,我们可以在程序中使用Serial Monitor进行调试和查看输出信息,以确保程序正常运行。 总之,利用esp32Arduino框架,我们可以非常容易地实现UDP通信。这种通信方法简单高效,在实际应用中可以广泛应用于传输实时数据和控制命令等。同时,esp32的强大功能和Arduino的易用性相结合,使得开发人员可以更加方便地进行开发和调试。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值