Raspberry Pi上的GPIO入门

今天,我们将连接一个继电器,并使用它来打开LED,但您也可以轻松地打开灯。

此介绍是大型继电器的第一部分家庭自动化项目。 Christian已经为开始使用Pi打下了基础,因此在这里我将不重复下载OS或插入SD卡的初始步骤-我假设您的 Raspian系统工作正常

警告:尽管可以像Arduino一样使用Raspberry Pi ,但需要多加注意。 Pi的引脚在 3.3v 下运行,而Arduino使用 5v 。虽然可以破坏Arduino,但破坏Pi则容易得多,因为引脚直接连接到板载芯片上-向那里发送5v可能会炸掉它。

因此,请谨慎尝试在您的Pi上复制Arduino项目-请遵循Pi特定的教程,或者确保对基本的电子学有很好的了解。

要求:

  • NPN晶体管,例如P2N2222A
  • 1k电阻器
  • 继电器;我使用的是4继电器5v模块,该模块具有内置的附加保护电路(因此不需要额外的二极管
  • LED和220欧姆电阻进行测试
  • 断路电缆
  • 分支电缆(“补鞋匠套件")

    GPIO引脚位于Pi侧面,靠近RCA视频输出插座。

    可以在技术上直接将某些母头跳线连接到这些母头,而没有用任何有用的方式标记它们,因此您更有可能折断某些东西,而是从Adafruit或其他公司中获得这样的分接电缆

    尽管板侧上有一个凹口,以指示电缆的正确放置,但Pi侧却没有。确保Pi的最远端的3v和5v引脚与板上的相关引脚对齐,当然,如果您购买的外壳没有暴露GPIO接头,那么您将

    或者,您可以在Pi的顶部贴上一块完整的木板,并且通常会附带一些有用的组件。

    基本电路

    如下所述设置电路。我省略了中继电路,因为这会有所不同。将继电器的 NO (常闭)端子和 COM 端子用于LED或其他设备。

    使用Raspberry Pi的引脚4。在我的突破板上,它标记为+ GPCLK0;

    命令行测试

    在以下示例中,我假设您通过SSH或以root用户身份登录。否则,您需要在sudo之前添加一些命令以提升特权。

    首先,我们需要安装 WiringPi

    git clone git://git.drogon.net/wiringPi cd wiringPi ./build

    假设一切顺利,我们现在应该可以从命令行像这样直接控制GPIO:

    gpio -g mode 4 outgpio -g write 4 1

    第一个命令类似于Arduino的设置功能,我们告诉Pi使用引脚4作为输出。下一条命令将值1写入该引脚,该引脚将触发晶体管,激活继电器,关闭LED电路并打开。

    太棒了。如果不是,请返回并检查接线。继电器会发出咔嗒声吗?

    Python

    尽管Python并不是与GPIO引脚通信的唯一方法,但它通常被认为是最简单的方法,并且是现有项目中最常见的方法。与C不同,Python相对容易使用(这里有5个学习Python的站点)。

    通过安装以下Python扩展开始:

    apt-get install python-dev apt-get install python-rpi.gpio

    现在,创建一个名为 test.py 的新文件。如果您使用的是命令行,请输入

    nano test.py

    粘贴或键入以下内容(也在此pastebin中输入):

    import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BCM)GPIO.setup(4, GPIO.OUT)for x in range(0,10):  time.sleep(5)  GPIO.output(4,1)  time.sleep(5)  GPIO.output(4,0)

    这是一个非常简单的Python脚本,它将将LED指示灯(或其他已连接到继电器的指示灯)点亮5秒钟,然后熄灭5秒钟, 10次。您应该能够理解大多数代码。 GPIO.setmode 行仅用于指示我们将要使用的引脚编号方案。

    就是这样!要运行代码,请输入:

    python test.py

    下周,我们将详细介绍一下该设置并做一些令人兴奋的事情,例如添加语音控制。如果要在继电器电路中添加高压电气设备,则需要确保在带电电线上使用适当的额​​定值继电器,并确保将所有物品都封闭起来因此它远离婴儿或妈妈的撬动手指。

    标签: