资料介绍
描述
背景
夏天到了!夏天来了……特别是在我的卧室里。问题是,在阳光明媚的一天后该睡觉的时候,我卧室的温度在 30°C 以上,但当我早上醒来时,却是冰冷的。解决方法:温控风扇!这个想法是有一个风扇,可以在晚上最大限度地提高空气流通,并随着温度的下降逐渐降低速度。此外,最好有一个显示当前温度和温度历史的显示器。
托伊特
与其浪费宝贵的时间设置外围设备和通信,我们将在这个上选择 Toit。这为构建增加了独特的响应能力。借助 Toit 平台,开发人员可以将 ESP32 视为普通计算机,使用系统内置的 OTA 功能并行安装多个应用程序。由于 Toit 使用高级语言,因此可以轻松测试功能和应用程序,而 Toit 平台可确保设备无论如何都能正常运行。
开始使用 Toit
首先,您需要获得一个 Toit 帐户并使用 Toit 配置您的 ESP32:在toit.io上单击“立即开始”获得一个免费的 Toit 帐户。
登录后,转到文档并按照快速入门指南在您的计算机上安装 Toit
请注意,您可以使用 Web 用户界面轻松配置 ESP32
注意:配置 ESP32 后,它会上线并且不需要连接到您的计算机,除非您想通过 USB 为其供电。所有通信都通过 Toit 云进行。
现在你已经准备好连接一些硬件了!
连接硬件
在下面,您将看到所有连接的 Fritzing 电路。请注意,L298H 板上的 5VEN 跳线应闭合。这意味着该板将由 6V 电池组供电。另外,在直流电机的端子之间加一个 0.1 uF 的电容。这减少了由电机引起的电噪声。
使用了以下 ESP32 GPIO 引脚:
- GPIO 16 - L298H 电机驱动板上的 IN1 引脚
- GPIO 17 - L298H 电机驱动板上的 IN2 引脚
- GPIO 19 - L298H 电机驱动板上的 ENA(启用)引脚
- GPIO 21 - BME280 传感器板和 OLED 显示屏上的 SDA
- GPIO 22 - BME280 传感器板和 OLED 显示屏上的 SCL
L298H 上的 IN1(输入 1)和 IN2(输入 2)控制电机旋转方向如下:
ENA(启用)启动和停止电机。如果将 PWM 信号应用于此输入,则电机以相应的速度旋转。请注意,如果 PWM 设置得非常低,电机将不会启动,并且您可能会听到它发出滴答声,因为输入电机的功率不足以使其旋转。对于此设置,PWM > 0.16 足以启动发动机。
BME280 传感器和 ESP32 通过 I2C 进行通信,由于 Toit 为该传感器提供了驱动程序,因此使用它非常简单:只需将其连接到相应的 GPIO 即可。OLED 显示屏也是如此:只需将 SDA 和 CLK 连接到相应的 GPIO,就可以了。但是,市面上有大量基于 SSD1306 的 OLED 显示器,它们可能有不同的功率要求。此构建中使用的电路板需要 5V 至 Vin。3.3V 是不够的。在此处阅读更多信息:https ://learn.adafruit.com/monochrome-oled-breakouts/power-requirements
托特守则
首先,我们需要安装 OLED 显示屏和 BME280 传感器所需的软件包。在命令提示符下,在 Toit 代码所在的文件夹中,运行以下命令:
$ toit pkg init --app
$ toit pkg install pixel_display
$ toit pkg install ssd1306
这个项目的实际代码相对简单。整个代码可在GitHub 上获得。以下摘录用于说明具体功能。
BME280 传感器和 OLED 显示器共享相同的 I2C 总线,分别使用两个不同的地址:0x77 和 0x3d。请注意,您的硬件可能使用不同的地址,如果是这样,则必须相应地更改代码。
scl := gpio.Pin 22
sda := gpio.Pin 21
bus := i2c.Bus
--sda=sda
--scl=scl
oled := SSD1306 (bus.device 0x3d)
thp_device := bus.device 0x77
用于风扇速度控制的引脚 (GPIO 19) 必须设置为 PWM:
pwm := gpio.Pwm
--frequency=50
chan1 := pwm.start
gpio.Pin 19
此外,控制风扇方向的引脚(GPIO 16 和 17)应设置为输出引脚:
//set up fan direction control pins
in1 := gpio.Pin.out 16
in2 := gpio.Pin.out 17
//Set direction of fan
in1.set 0
in2.set 1
为了实现可变风扇速度,我们将合适的温度区间(例如 25°C 到 30°C)映射到 PWM 占空比区间 [0.0...1.0]:
input_start := 25.0
input_end := 30.0
output_start := 0.0
output_end := 1.0
df = (temp - input_start) / (input_end - input_start) * (output_end - output_start) + output_start
此外,为了获得一个漂亮的温度历史直方图,我们将合适的温度区间 [20...35] 映射到某个直方图高度,然后将温度读数添加到直方图:
//Mapping of temp to histogram range
histo_input_start := 20.0
histo_input_end := 35.0
histo_output_start := 5.0
histo_output_end := 50.0
histo_data = (temp - histo_input_start) / (histo_input_end - histo_input_start) * (histo_output_end - histo_output_start) + histo_output_start
要在 ESP32 上安装应用程序,您只需部署 yaml 文件:
$ toit device -d nameofmydevice deploy tempfan.yaml
Yaml 文件
Toit 使用 .yaml 文件来安排何时应在 ESP32 上执行 Toit 代码。在这个项目中,当我们安装它时,应用程序应该会立即连续运行,如果 ESP32 重启也是如此。我们将应用程序命名为“ Fan Control ”并指向包含 Toit 代码的文件:
name: "Fan Control"
entrypoint: tempfan.toit
triggers:
on_install: true
on_boot: true
要访问整个代码,请访问GitHub 。
- 乐鑫ESP32-S2_技术规格书
- 乐鑫ESP32-S2_技术参考手册
- 乐鑫ESP32-MINI-1参考设计
- 乐鑫ESP32-S2-SOLO参考设计
- 乐鑫ESP32-S2-SOLO-U参考设计
- 乐鑫ESP32-S2-MINI-1参考设计
- 乐鑫ESP32-S2-MINI-1U参考设计
- 乐鑫ESP32-S2-WROOM-V1.6参考设计
- 乐鑫ESP32-S2-WROVER-V1.6参考设计
- 乐鑫ESP32-S2-SOLO_&U技术规格书
- 乐鑫ESP32-S2-WROOM_&I技术规格书
- 乐鑫ESP32-S2-WROVER_&I技术规格书
- esp32-s3_datasheet
- 温控风扇原理图修改版参考下载 0次下载
- 温控风扇原理图参考案例下载 65次下载
- ESP32能取代STM32吗?哪个更好? 2373次阅读
- ESP32-C3 WIFI的工作模式 4478次阅读
- 什么是ESP32-CAM摄像头? 2.1w次阅读
- 基于ESP32的简易web服务器设计 3300次阅读
- 使用ESP32实现UDP通信的方法 5723次阅读
- ESP32使用MiroPython编程环境搭建 2690次阅读
- 基于ESP32制造有趣的超级马里奥主题时钟 4021次阅读
- ESP8266/ESP32自动下载原理 4249次阅读
- 基于ESP-WROOM-32E专为IoT设计的FireBeetle ESP32-E主控板介绍 4608次阅读
- ESP32的数字遥测实现 1521次阅读
- dfrobotBeetle-ESP32控制器简介 2695次阅读
- 一种简易PWM温控风扇电路设计 8.3w次阅读
- 风扇电机温控电路 5641次阅读
- 电风扇温控电路图 8823次阅读
- 电风扇加装温控器电路图 7426次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多