简介:ESP8266-01带有多个I2C设备?!||探索esp8266:第2部分
大家好!这种指示器恰好是我的ESP系列的第2部分,我继续尝试并探索ESP 8266-01板的各种功能。在该系列的第一部分,我提到了这个小板的精彩能力来支持I2C通信。
您可以在第1部分中阅读有关此功能的更多信息:HTTPS://www.sledutah.com/I2C-With-the-ESP8266 ...
在本系列的这一部分,我们将看看连接多个I2C器件的可能性,看看wheather被板可处理相同。
该项目中使用的第二个I2C设备是BMP 180,温度,高度和压力传感器(在后面的步骤中有更多细节)。我们这里的客观是从BMP 180传感器中获取温度和压力值,然后在OLED屏幕上显示相同。
让我们潜入它!
第1步:了解你的传感器
BMP180传感器是博世BMP180高精度,低功耗数字晴雨表。
这是这个小模块的特点如下:
- I2C接口与任何单片机进行通信
- 1.8至3.6伏供应范围(此传感器配有3.3V电压稳压器,因此我们可以用标准5伏特推出它
- 300至1100 HPA压力测量范围
- -40至+85摄氏度摄氏温度测量范围(这是绝对的最大值)
正如你可以看到这个模块很小(就像真的很小),而是包装很多好的东西。
该模块可以轻松用于气象站或简单的物联网项目应用程序
如果您想要更多信息,我已附加了数据表以供参考:http://cdn.sparkfun.com/datasheets/sensors/pressur ...
第2步:框图
这里,无论是OLED和BMP180传感器通过I2C协议连接到WiFi模块,这意味着我们可以两个模块的SDA和SCK直接连接到ESP为每个模块可以单独使用其特定的地址进行访问。
OLED和WiFi模块的连接与第1部分所示的连接,这里唯一的添加是BMP180电路。
连接方案如下:
vcc - > 5伏
GND - > GND
SDA - > GPIO2的esp8266
SCK - > GPIO0 ESP8266
第3步:面包板测试设置
如果你不知道,我已经做了ESP8266模块的基础出来的小开发板,所以它是很多更容易访问引脚,它直接通过笔记本电脑无需外部程序员,因为它本身已经包含了程序员编程。
我打电话给这个董事会ESP-O-ONE其具有基于CH340程序员,电压调节器,状态LED,获得GPIO引脚,拨动开关,用于编程模式和操作模式,并且还复位按钮。它本身是一个完整的系统,并与ESP8266的工作轻松了很多。
您可以查看以下说明:HTTPS://www.sledutah.com/ESP-O-One-Making-You ...
在这里使用ESP-O-One,事情非常容易设置,并且添加两个模块,我简单地将显示器和传感器挂钩到5伏并连接在一起,最终连接到ESP的GPIO引脚。
第4步:代码..
硬件设置后,让我们进入编码部分并在OLED屏幕上显示值。我们需要几个库来接口OLED以及从BMP 180传感器收集数据
该库可以在下面的链接中找到:
链接到Adafruit OLED库:https://github.com/adafruit/adafruit_ssd1306
链接到Adafruit BMP库:https://github.com/adafruit/adafruit-bmp085-libra ...
代码基本上可以分解为以下步骤:
- 导入图书馆
- 初始化的OLED显示器的尺寸和地址
- 初始化BMP 180库
- 设置I2C通信的线路库
- 设置字符大小
- 从传感器中测量数据并在屏幕上正确显示它
我还使用Millis()函数来显示自项目的电源以来已经过去的时间量。
在此步骤中附加了代码供您参考
附件
第5步:结论
当我们在上面的示例中看到,这款ESP模块时,可以通过此ESP模块肯定可以实现多个I2C设备。这为可以与互联网集成的有趣项目开辟了很多可能性。
我希望您喜欢本系列的第2部分,我将在即将到来的哲学领域中分享关于该项目系列的进一步更新。
随身易于在下面的评论部分中分享您的反馈和建议,并在教程的开头观看视频,以便获取有关此项目的详细信息,而您在那里,请不要忘记给那种视频和甚至考虑订阅!那将是真棒。再次感谢我通过我的指导,祝你有美好的一天!
讨论