Raspberry Pi Pico使用MicroPython(6)---用蓝牙控制继电器从而控制灯的亮灭

因为Raspberry Pi Pico没有WIFI功能也没有蓝牙(无论是普通还是低功耗的BLE), 如果要和它建立无线通信必须外加蓝牙模块或者WIFI模块. 通过和外加模块之间的串口数据交换控制外设. 这里我们先使用蓝牙控制一个5V继电器, 继电器模块控制着一盏灯.


1. 硬件连接

 继电器的VCC连接Pico 的Pin40(VBUS 即5V Out), 蓝牙模块VCC也连接这个VBUS引脚, GND互联, 继电器的信号端连接GPIO3, 蓝牙HC05的RX和GPIO0(Tx), TX和GPIO1(Rx)连接. 电灯或者LED灯连接继电器的常闭端. 

这种HC05蓝牙模块是通用的蓝牙模块, 不是低功耗的BLE. 

手头缺一个继电器,用LED暂代啦.


 2. 编写代码

from machine import UART,Pin
rxData = bytes()
uart1 = UART(0,baudrate=9600,tx=Pin(0),rx=Pin(1))
relay = Pin(3,Pin.OUT)
relay.value(0)
uart1.write("Starting Application\r\n")
while True:
    if uart1.any() > 0:
        rxData = uart1.read(1);
        if "1" in rxData:
            uart1.write("Turning ON\r\n")
            print("Turning ON\r\n")
            relay.value(1)
        elif "0" in rxData:
            uart1.write("Turning OFF\r\n")
            print("Turning OFF\r\n")
            relay.value(0)

其中 uart1 = UART(0,baudrate=9600,tx=Pin(0),rx=Pin(1)) 就是定义蓝牙连接的串口的.

这个程序的测试需要用软件连接蓝牙模块的, 可以使用使用手机的"蓝牙调试器"这个APP, 通过这个蓝牙软件发送1, 则开灯, 发送 0 则关灯.

 这里的串口发送0和1用于切换亮灭.


3. 用继电器

 买了一个低电平触发的5V继电器做实验. 但是按照上面的连接图测试结果只能接通继电器, 但是不能切断. 仔细研究发现, 单片机的引脚及时拉到高电平也才3.3V,不足以把继电器切断. 为此又使用了电平转换模块TXS0108E模块, 

接线图 TXS0108 的A端电压范围不超过3.3V, 所以连接单片机的Pin36, GND连接起来. 还有OE引脚通常要接单片机的IO口, 高电平有效, 这里连接单片机的GPIO2. 模块TXS0108 B端电压可以承受范围比较大, 所以接5V端, 和继电器的5V连接, GND互通. 这里把继电器的 IN端连接单片机 的GPIO2, 然后修改程序如下

from machine import UART,Pin
rxData = bytes()
uart1 = UART(0,baudrate=9600,tx=Pin(0),rx=Pin(1))
OE = Pin(3,Pin.OUT)
OE.value(1)
relay = Pin(2,Pin.OUT)
relay.value(0)
uart1.write("Starting Application\r\n")
while True:
    if uart1.any() > 0:
        rxData = uart1.read(1);
        if "0" in rxData:
            uart1.write("Turning ON\r\n")
            print("Turning ON\r\n")
            relay.value(1)
        elif "1" in rxData:
            uart1.write("Turning OFF\r\n")
            print("Turning OFF\r\n")
            relay.value(0)

这里就实现了用蓝牙遥控继电器开关强电电路的目的. 这里的继电器没有连接电器.

版权声明:本文为CSDN博主「leotzf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45616112/article/details/122038314

生成海报
点赞 0

leotzf

我还没有学会写个人说明!

暂无评论

相关推荐

nodemcu 模块用mciropython 使用SD卡

使用sd卡可以扩大8266的存储器,使用时候很重要的是接线。 其他很容易。下面程序就是初始化、挂载sd卡、读sd卡里面main.cpp里面的代码行。 import machine, sdcard, os from machine

X-bot

X-bot 前言 这个项目是我在稚辉君的视频里面看见的,是一个完全开源的项目,而且对他来说是一个比较简单的项目,但对于我这种没有什么DIY经验的同学来说,还是有点难的,不过