需要的材料

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()

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

知识扩展

1.继电器原理图:

树莓派使用python+继电器控制220V灯泡的更多相关文章

  1. 树莓派学Python博客收集

    http://www.geekfan.net/8657/  这个博客是控制LED,虽然不是原创地址不是这,但是我觉得排版比较好. http://my.oschina.net/RagingTyphoon ...

  2. 树莓派3 之 pi3Robot 控制系统配置

    需求 个人正在用Python写一个控制系统,技术选型是python3 + Flask + Mysql + Bootstrap.需要将这套系统直接部署到树莓派中. 代码地址:https://github ...

  3. 树莓派Zero W GPIO控制

    作者:陈拓 chentuo@ms.xab.ac.cn 2018.06.09/2018.07.05 0.  概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果. 0.1 树莓派GPIO编 ...

  4. DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配.假设想来点高级的--在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现 ...

  5. Python直接控制鼠标键盘

    Python直接控制鼠标键盘 之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动.这里记 ...

  6. Python 条件控制

    Python  条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语 ...

  7. python 流程控制(条件语句)

    1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...

  8. Python(四)之Python流程控制(if、while、for)

    Python流程控制 if测试: if 条件测试表达式: 组合条件测试: x and y:与运算 x or y:或运算 not x:非运算 while: break:跳出最内层的循环 continue ...

  9. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

随机推荐

  1. 【springcloud】springcloud Greenwich SR4版本笔记

    springcloud Greenwich SR4版本笔记 本文只记录实际版本,配置,pom,代码以及注意事项.别的在其他springcloud 的F版本中已有详述. 示例代码地址:https://g ...

  2. JavaWeb学习总结——使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  3. tensorflow models flags 初步使用

    参考官方仓库:https://github.com/tensorflow/models/tree/master/official/utils/flags 测试Demo代码如下: from absl i ...

  4. 求方程 p+q+r+s+t=pqrst 的全体自然数解(约定p<=q<=r<=s<=t)

    解:方程左右的表达式分别记为u和v. 由题设有5t>=u. 0本来是不算入自然数的,现在的趋势是把0也算作自然数. 若p=0,则v=0,为使得u=0成立,q.r.s.t都必需为0. 这样就得到方 ...

  5. a、b、n为正整数且a>b,证明:若n|(a^n-b^n),则n|(a^n-b^n)/(a-b).

  6. android kotlin 子线程中调用界面UI组件崩溃

    UI 只能在主线程内更新,子线程需要更新UI组件时可以这样: fun fuck(){ Executors.newSingleThreadExecutor().execute{ // url reque ...

  7. Java动态代理底层实现

    Java实现源码 上一节我们提到了Java动态代理的使用,接下来我们看一下他的具体实现. HelloInterface proxyHello = (HelloInterface) Proxy.newP ...

  8. C# AutoMaper简单使用

    AutoMapper它是一种对象与对象之间的映射器,让AutoMapper有意思的就是在于它提供了一些将类型A映射到类型B这种无聊的实例,只要B遵循AutoMapper已经建立的惯例,那么大多数情况下 ...

  9. MySQL数据库初体验

    一.数据库的基本概念1.数据(Data) 描述事物的符号记录 包括数字,文字,图形,图像,声音,档案记录等 以"记录"形式按统一的格式进行存储 2.表 将不同的记录组织在一起 用来 ...

  10. 隐私安全设置:NET:ERR_CERT_AUTHORITY_INVALID message in Chrome.

    背景 访问一个内部网站时,遇到下面的问题,导致网站不能打开:NET:ERR_CERT_AUTHORITY_INVALID message in Chrome.从错误信息来看,这是由于网站的证书问题导致 ...