树莓派使用python+继电器控制220V灯泡

需要的材料

1.继电器:继电器是一种电控制器件,它实际上是用小电流去控制大电流运作的一种“自动开关”,我们这里用它来控制电灯。控制了继电器就等于控制了电灯。

我购买的是某宝上3块钱的“1路 5v继电器”,这里的“几路”指的是可用控制多少个电灯220v线路,5v指继电器本身需要5v电压来驱动,树莓派本身提供5v电压输出所以这里选用5v

2.杜邦线:某宝几块钱一组40P,这里只需要三根,用于连接 树莓派与继电器

 

 

 

3.电灯+灯座+铜线+电源插头

GPIO说明

GPIO是(General Purpose Input Output)的缩写,也就是通用输入输出,是一种常见的硬件接口,用以表示开关量。

物理连接

1.树莓派阵脚对应继电器:

 1.继电器连接电路(220v电源线):

 

 3.总示意图

这里注意:GPIO18是针脚12,在BCM中的编码

 这种接线方法称为:“常开端”接线方法,还有另一种“常闭端”接线方法,只需要将“NO”火线出口移动到“NC”位置

Python 控制脚本

 树莓派系统中自带python IDE可直接编译、调试代码,比使用java方便

  登录树莓派 点击“菜单->编程->Thonny Python IDE” 启动IDE代码如下:

import RPi.GPIO as GPIO
import time

# BCM 编号方式
GPIO.setmode(GPIO.BCM)
# 设置[以BCM编号为18(实际在树莓派12针脚位置)]的GPIO口为输出模式
GPIO.setup(18, GPIO.OUT)
# 开启
GPIO.output(18, GPIO.HIGH)
time.sleep(5) #5秒后关闭
# 关闭
GPIO.output(18, GPIO.LOW)
# 最后清理GPIO口
GPIO.cleanup()

 micropython

from machine import Pin
import time

#第一个灯
relay_in1 = Pin(3, Pin.OUT)
relay_in1.value(1)
time.sleep(1)
relay_in1.value(0)
time.sleep(1)

#第二个灯
relay_in2 = Pin(4, Pin.OUT)
relay_in2.value(1)
time.sleep(1)
relay_in2.value(0)
time.sleep(1)

 

我的继电器带有红绿两个LED指示灯,接通后红色LED灯常亮,运行程序 当听到 “啪” 的一声,绿色LED 灯就会亮,同时220v灯泡点亮,按程序控制5秒后,再听到 “啪” 的一声,绿色LED 灯就会熄灭,同时220v灯泡熄灭。

知识扩展

1. RPi.GPIO模块简单介绍

函数 GPIO.setmode(mode)
  说明 设置引脚的编号系统
  输入 mode:编号系统,GPIO.BOARD使用BOARD编号系统;GPIO.BCM使用BCM编号系统
函数 GPIO.setup(channel, dir)
  说明 设置引脚的IO模式
  参数 channel:引脚编号
     dir:IO方向,GPIO.IN输入;GPIO.OUT输出
函数 GPIO.output(channel, state)
  说明 设置引脚的输出电平
  参数 channel:引脚编号
  参数 state:电平状态,高电平:1/GPIO.HIGH/True;低电平:0/GPIO.LOW/False
函数 GPIO.input(channel)
  说明 读取引脚的输入电平
  参数 channel:引脚编号
  返回 电平状态,高电平:1/GPIO.HIGH/True;低电平:0/GPIO.LOW/False
函数 GPIO.cleanup()
  说明 清理引脚

2.继电器原理图:

 

posted @ 2021-10-04 09:34  ejiyuan  阅读(3700)  评论(3编辑  收藏  举报