Adafruit的树莓派教程:电力控制

概览

树莓派可以成为你家里强大的自动化控制终端,但最实用的应该是控制家用电器以及灯的打开关闭了。那就意味着小派应该能够安全的控制110V电力。

20141123152511586-0

这节课里,你将学习把PIR(人体热式传感器)与Adafruit电力开关尾插Module 2型结合,在检测到与运动时自动开关设备。

阅读全文

Adafruit的树莓派教程:热释电传感器感知运动

概览

在这节课里,你将学习到如何使用PIR热释电传感器连接GPIO来激活门禁。

20141123132757476-0

这节课,我们将把注意力放到感知运动和激活门禁开关上。我们会在后面的课程中构建这个安全感知系统,使用小派作为数字输出来在侦测到运动时控制电力设备。

阅读全文

使用 RPI.GPIO 模块的脉宽调制(PWM)功能

脉宽调制(PWM)是指用微处理器的数字输出来对模拟电路进行控制,是一种对模拟信号电平进行数字编码的方法。在树莓派上,可以通过对GPIO的编程来实现PWM。

创建一个 PWM 实例:

p = GPIO.PWM(channel, frequency)

启用 PWM:

p.start(dc)   # dc 代表占空比(范围:0.0 <= dc >= 100.0)

更改频率:

p.ChangeFrequency(freq)   # freq 为设置的新频率,单位为 Hz

更改占空比:

p.ChangeDutyCycle(dc)  # 范围:0.0 <= dc >= 100.0

停止 PWM:

p.stop()

注意,如果实例中的变量“p”超出范围,也会导致 PWM 停止。

阅读全文

树莓派用蜂鸣器实现整点报时

buzzer

树莓派外加一个有源蜂鸣器,实现一个简单的报时功能。

可能有些新手对于有源、无源蜂鸣器的区别,这里简短介绍下:
一、无源蜂鸣器
1 无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它
2 声音频率可控,可以做出“多来米发索拉西”的效果。
3 在一些特例中,可以和LED复用一个控制口
二、有源蜂鸣器
1 有源蜂鸣器内部带震荡源,所以只要一通电就会叫
2 程序控制方便,单片机一个高低电平就可以让其发出声音,而无源蜂鸣器却做不到。

阅读全文

OpenELEC系统中自动循环播放视频的XBMC脚本

XBMC单个视频播放脚本 /storage/.xbmc/userdata/autoexec.py 如下:

#! /usr/bin/env python
import xbmc
xbmc.executebuiltin( "PlayMedia(/storage/videos/korobeniki.mp4)" )

改成使用播放列表的机制就可以实现循环功能了:

#! /usr/bin/env python
import xbmc
playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
playlist.clear()
playlist.add("/storage/videos/korobeniki.mp4")
xbmc.Player().play(playlist)
xbmc.executebuiltin("PlayerControl(RepeatOne)")

本文内容来自 http://segmentfault.com/q/1010000000495024 并受 CC-BY 3.0 (中国大陆) 协议约束

树莓派驱动4位数码管显示时间

20141012215423910-0

数码管的显示分为静态和动态两种。静态就是一个GPIO控制一个LED小灯管。
但是随着控制数码管数量的增加,GPIO口就占用太多了,所以多个数码管可以有 共阴 和 共阳 两种共享引脚。这个时候如果采用静态点亮数码管的方式,共享引脚的数码管显示完全一样。所谓动态方式,就是通过GPIO选择引脚,选择要点亮的某个数码管,然后通过共享引脚点亮LED小灯管。然后快速切换点亮其他数码管,由于点亮的切换频率非常快所以感觉上数码管一直亮着。

阅读全文