DesignSpark Electrical Logolinkedin
菜单 搜寻
提问问题

XinaBox温度控制台式风扇

本課程介绍如何使用Bosch BME280气象传感器(xChip SW01),獨特的温度数据,通过固态继电器(xChip OC03)控制座台式风扇。 我们使用Zerynth Studio(XinaBox和RS的合作伙伴)在Python中编程

Parts List

Qty Product Part number
1 × USB Programming Interface Module for FT232R, IP01 174-3703
1 × WI-FI & BLUETOOTH CORE (ESP32),CW02 174-3702
1 × XinaBox OC03 Relay Out for PCA9554A Module 174-3715
1 × Advanced Weather Sensor (BME280) 174-3744
1 × AVX BTB Series, Male PCB Edge Connector SMT, 10 Way, 2 Row, 2mm Pitch, 2.5A 174-4977
1 × Zerynth Studio
1 × Bell wire
See more products

引言

XinaBox的模块化和易于编码的硬件允许用户在几分钟内组装电子电路,无需焊接,接线或硬件知识。

本課程介绍如何使用Bosch BME280气象传感器(xChip SW01),獨特的温度数据,通过固态继电器(xChip OC03)控制座台式风扇。 我们使用Zerynth Studio应用程序使此控件更加复杂,以实现无线实时控制。

硬件设置

根据图1中的照片连接xChip,确保从同一侧可以看到xChip名称和XinaBox徽标。

确保IP01 xChip上的开关位于“B”和“DCE”位置。

 

1: xChips组装                                  2: xChips和 风扇

将钟形线连接到OC03的端子。 如图2所示,切断风扇的USB电源线,将两端连接到钟形线,形成一个开关。

Zerynth 设置

如果您已熟悉Zerynth,请虚拟化您的设备并跳转到“连接设备”部分。

第一次使用Zerynth的人,请按照下列步骤操作:

  • 一旦您的设备在Zerynth Studio中作为XinaBox CW02(ESP32)板正确虚拟化后,您就可以继续下一步

对设备进行编程

创建一个项目并将以下代码复制到项目的main.py选项卡中的Zerynth Studio中,并将其上传到主板

# Temperature Controlled Desk Fan

# Created at 2018-10-03 by Daniel Berman, XinaBox

# Turn on fan via OC03 when SW01 temp > a set temperature (here 25 degrees Celsius)

# import xChips and settings

import streams

streams.serial()                # opens serial monitor

from bosch.bme280 import bme280

SW01 = bme280.BME280(I2C0, 0x76, 100000)

from xinabox.oc03 import oc03

OC03 = oc03.OC03(I2C0)

OC03.start()

OC03.init()

pinMode(D26,OUTPUT)             # defining CW01 LED output

temp_threshold = 25             # setting threshold temperature for fan operation

# loop forever

while True:

  tempC = SW01.get_temp()

  if tempC > temp_threshold:

      OC03.writePin(True)      # turn on OC03 relay

      digitalWrite(D26, HIGH)  # turn the CW01 LED ON by setting the voltage HIGH

      print("Temperature sensor shows " + str(tempC) + ", which is above the threshold of " + str(temp_threshold))

      sleep(2000)              # wait for 2 secs

  else:

      OC03.writePin(False)     # turn off OC03 relay

      digitalWrite(D26, LOW)   # turn the CW01 LED OFF by setting the voltage LOW

      print("Temperature sensor shows " + str(tempC) + ", which is below the threshold of " + str(temp_threshold))

      sleep(2000)              # wait for 2 secs

 

3Zerynth Studio的截图

在运行时,串行监视器显示其中一个打印语句的结果(参见图4),具体取决于温度是高于还是低于设定的阈值。这对于确保我们的IF statement正確以及查看温度数据非常有用,因此我们確保CW01传感器能正确接收信息并由Zerynth正确接收。

如果温度高于阈值,CW01 LED将會亮起,OC03完整电路,接通风扇。

 

4:Serial监视器输出

 

请参阅下面显示风扇运行的视频; 最初,风扇再次快速关闭,因为风扇的气流会降低温度传感器的读数。 当风扇重新定位不再吹向传感器时,温度传感器會保持在25摄氏度以上,并且风扇和LED保持轉動和長亮状态。

需要更多信息? Espressif Systems在他们的blog上发表了一篇关于Zerynth教程和XinaBox设备的文章。 一个实用的概述,值得你去參考。

I love technology and am Co-Founder of modular electronics company, XinaBox.