30个物联网传感器小实验:三行代码点亮LED灯
30个物联网传感器小实验:三行代码点亮LED灯
以下所有实验均要求树莓派刷入完整版
Raspbian操作系统,也就是官网上Raspbian Stretch with desktop and recommended software的版本。
三行代码点亮LED灯
- 接线图如下:

- 代码如下:
from gpiozero import LED
red = LED(17)
while True:red.on()
- 在终端运行
python3 LED.on.py即可点亮LED灯!
LED灯闪烁
- 新建
LED.blink.py文件,代码如下:
from gpiozero import LED
from signal import pause
red = LED(17)
red.blink()
pause()
核心在于on()方法改成了blink()方法,再运行python3 LED.blink.py即可闪烁!
LED灯调亮度
- 新建
LED.pwn.py文件,代码如下:
from gpiozero import PWMLED
from time import sleep
led = PWMLED(17)
while True:
led.value = 0 # 全灭
sleep(1)
led.value = 0.5 # 半亮
sleep(1)
led.value = 1 # 全亮
sleep(1)
核心在于使用的类改为PWMLED,不再是LED类了。在命令行界面运行python3 LED.pwn.py之后,可以看到LED灯全灭、半亮、全亮,间隔1s,交替运行。
LED淡入淡出
- 新建
LED.pulse.py文件,代码如下:
from gpiozero import PWMLED
from signal import pause
led = PWMLED(17)
led.pulse()
pause()
核心在于使用了pulse()函数,可以观察到led等淡入淡出的效果!
不写一行代码点亮LED灯
- 在命令行界面使用
pinout命令,输出各针脚定义。

- (2)号口
5v电压接1kΩ的电阻,接LED长脚正极,LED负极接(6)号GND地线负极,这样LED灯直接就会点亮,不写一行代码!

全彩RGB灯
- 红绿蓝分别接
GPIO(2)、GPIO(3)、GPIO(4)口,新建RGBLED.py文件,代码如下:
RGBLED.py
from __future__ import division # required for python 2
from gpiozero import RGBLED
from time import sleep
led = RGBLED(red=2, green=3, blue=4)
led.red = 1 # full red
sleep(1)
led.red = 0.5 # half red
sleep(1)
led.color = (0, 1, 0) # full green
sleep(1)
led.color = (1, 0, 1) # magenta
sleep(1)
led.color = (1, 1, 0) # yellow
sleep(1)
led.color = (0, 1, 1) # cyan
sleep(1)
led.color = (1, 1, 1) # white
sleep(1)
led.color = (0, 0, 0) # off
sleep(1)
# slowly increase intensity of blue
for n in range(100):
led.blue = n/100
sleep(0.1)
- 在命令行界面,运行以上代码
python RGBLED.py,则RGBLED灯颜色不断变化,效果如下:

面包板
也称为无焊接面包板,是我们进行物理和电子实验的好帮手,由于其内部集成了走线,从而避免了复杂实验时杂乱无章的飞线。面包上的针脚孔可以轻松地搭配众多带针脚的传感器使用,许多传感器和面包板都包含了配电的部分,使得包含面包板的电路实验设计变得更加容易。一句话总结一下,我们做实验并非一定要用到面包板,但是有个面包板可以使我们事半功倍。

面包板有几个特性:
- 左右两侧为正负极。正负极下方各有各的金属片,竖排相连。
- 中间两侧为通用端口,左侧和右侧互不相同。
- 中间两侧的针孔下方横向相连。
举个例子从从A1到E1是相连接的,从F1到J1是相连接的,但是E1和F1是不通的。树莓派的5v或者3v3只要接到+级的任何一个孔,整个+级的竖排都会存在相应电压的供电,树莓派的GND接-级。下图是一个真实的面包板。

好了,本次介绍就到这里,这个系列的全文会收录在我的github目录,欢迎大家star和沟通:https://github.com/asukafighting/RaspberryPiHacker

30个物联网传感器小实验:三行代码点亮LED灯的更多相关文章
- 30个Python物联网小实验3:使用按钮开灯关灯
使用按钮开灯关灯 接线图非常简单,LED接GPIO17号口,按钮接GPIO2号口,负极接GND地线. 代码也非常简单: from gpiozero import LED, Button from si ...
- 树莓派点亮LED灯需要几行代码?3行。小孩子都能学会
目录 点亮LED灯 硬件连接 代码 闪烁的LED灯 呼吸灯 其他 点亮LED灯 硬件连接 找一个LED灯,连接如上图,注意长短引脚,经过这些年的狂轰乱炸,大家对于这个应该不漠视,毕竟Arduino都进 ...
- 我的 FPGA 学习历程(02)—— 实验:点亮 LED 灯
关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程. 中文网络教程链接(链接至 altera中文官网,点击观看) Quartus II 软件设计系列:基础 Qu ...
- 实验一:点亮led
一.先看原理图:
- js中关于事件捕获与事件冒泡的小实验
1.事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div - ...
- TCS3200颜色传感器测试实验
TCS3200颜色传感器测试实验 2013-08-02 17:18:24 分享: 标签: Arduino TCS3200 传感器 TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAO ...
- arduino按钮使用的两个小实验
一:按钮控制一个灯 ...
- 使用寄存器点亮LED(第2节)—寄存器映射代码讲解
// 打开 GPIOB 端口的时钟 *( unsigned int * )0x40021018|= ( 1 << 4 ); // 配置PC2 IO口为通用推挽输出,速度为10M *( un ...
- 30个Python物联网小实验5:光线感应灯
30个Python物联网小实验5:光线感应灯 光线传感器 光线变化执行函数 光线状态执行函数 30个Python物联网小实验5:光线感应灯 光线传感器 可以检测周围环境的亮度: 方向性较好,感知特定方 ...
随机推荐
- JAVA中equals()与==的区别详解
在进行判断操作时,常常会用到==或者equals()进行等价判断,那么两者究竟有什么区别呢,下面整理一下个人理解. 简单介绍: ==是一种引用相等性比较符,判断引用到堆上同一个对象的两个引用是相等的. ...
- JavaEE与Spring
在Java社区中,Spring与Java EE之争是个永恒的话题.在这场争论中,来自两个阵营的布道师.架构师与铁杆粉丝都在不遗余力地捍卫着本方的尊严,并试图说服对方加入到自己的阵营当中,但结果却是双方 ...
- Python文件编码不可以使用UTF16
1. The complete Python source file should use a single encoding. Embedding of differently encoded da ...
- Android之ProgressBar读取文件进度解析
ProgressBar进度条, 分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案例大多都是通过Button点 击增加.减少进度值,使 ...
- opencv操作相机相关函数
1.基本操作 capture = cv2.VideoCapture(0) ret, image = capture.read() cv2.imwrite("photo.jpg", ...
- angularJs自定义模块
<script type="text/javascript"> var myApp = angular.module("myApp",[]); my ...
- 后端CORS解决跨域问题
一 . 为什么会有跨域问题 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href 属性,a标签什么的都不拦截. 二 . 解决跨域的方法 解决跨域有两种方法 ...
- js正則函數 match、exec、test、search、replace、split 使用介紹集合
match 方法 使用正則表達式模式對字元串執行查找,並將包含查找的結果作為數組返回. stringObj.match(rgExp) 參數 stringObj 必選項.對其進行查找的 String 對 ...
- luoguP3769 [CH弱省胡策R2]TATT
luoguP3769 [CH弱省胡策R2]TATT PS:做这题前先切掉 P4148简单题,对于本人这样的juruo更助于理解,当然dalao就当练练手吧 题目大意: 现在有n个四维空间中的点,请求出 ...
- Laravel的初始化安装
Laravel的初始化安装 composer 安装 composer中国镜像laravel文档 curl -sS https://getcomposer.org/installer | php # 修 ...