雷竞技注册
项目

构建树莓派控制器:IR远程事件计数器

2016年1月19日通过维尔切不

在此构建覆盆子PI控制器系列的第4部分中,读者将学习如何使用LittleBits构建IR远程事件计数器。

以前的覆盆子PI控制器系列文章

建立一个树莓派按钮开关

制作一个LED闪光器

构建物体检测直流电机控制器

介绍

我已经探索littleBits模块的电气能力一年了,他们是伟大的快速构建电子产品和设备。我在阿拉巴马州当地的技术高中和一所社区大学教职业和技术教育(CTE)课程时,就用过这些很棒的电子模块。raybet电子竞技竞猜我最近还提供了几个littleBits项目Arduino电雷竞技最新app子图纸由Packt出版社出版的书。在这本书中,littleBits项目说明了基本的电路接口技术,构建令人敬畏的Arduino设备。

littleBits模块的库允许各种电子设备容易构建:不需要将电子组件焊接到perfboard或pcb上。使用littleBits的两个主要要求是有乐趣和创造性的意愿。在这个持续构建树莓派控制器系列中,您将学习littleBits模块如何通过构建一个简单的IR远程激活事件计数器连接到RPi。IR远程事件计数器的框图如图1所示。构建计数器所需的littleBits模块和电子组件显示在项目部件列表中。

图1。构建红外远程事件计数器所需的电雷竞技最新app子和嵌入式硬件

项目零件清单

littleBits模块

要制作IR远程事件计数器,您将使用littleBits模块。littleBits是五颜六色的电子模块,为设备和小工具提供特定的电气功能。通过将这些模块以独特和创造性的方式连接起来,就可以制造出有趣的创新电子设备和小玩意。树莓派将允许各种各样的littleBits模块的电气功能信息显示在显示器上使用简单的布线连接和Python编程语言。

图2。littleBits模块包含各种电子设备和功能

有三个金属引脚允许littleBits电子模块工作。雷竞技最新app它们由以下信号名称组成:

  • vcc (+5V电源信号)
  • sig(电信号)
  • 地面接地(电气)

littleBits电子模块包括塑料bitSnaps有三个金属针提供电气连接。bitSnap的电气连接如下图所示。

图3。BitSnap的核心是vcc、sig和接地的电气连接。

为了减少构建小工具或设备的错误,小磁体放置在LittleBits位内部。当正确连接时,电子模块将彼此连接。电子模块连接不正确会互相排斥。本文项目部件列表中提供的LittleBits模块将用于构建IR远程活动计数器。作为参考文献,是您将用于项目的LittleBits模块。

图4。IR远程事件计数器的littleBts模块。

TSOP382红外传感器

littleBits远程触发器是一个电子传感器能够检测红外(IR)信号。为了快速构建事件计数器,将使用littleBits电子模块。遥控触发模组有一个红外线感应器(TS0P382)和焊在小型印刷电路板(pcb)上的前置放大器电路。TSOP382传感器是封装在小型三铅环氧组件封装中的红外接收电路。当检测到红外信号时,TSOP382传感器将产生一系列的二进制脉冲。

除了TSOP382 IR传感器外,LITLEBITS远程触发模块包括多个放大器(运算放大器)和晶体管。远程触发操作放大器用于IR信号低电平信号调节和内部产生的数字脉冲的输出缓冲。晶体管为远程触发模块提供小的增益放大和输出切换。可以在LittleBits上找到远程触发模块的完整电路示意图网站

连接远程触发模块

有了littleBits模块,远程触发器和TSOP382红外传感器的理解,您就可以开始构建RPi项目了。在下一个图中,您将看到一个接线图,显示了如何将littleBits远程触发器附加到RPi。使用项目零件清单提供的材料,建立远程触发- RPi接口电路。作为一个额外的参考,我包括了一个电路原理图的接口电路中级到先进的电子制造商。雷竞技最新app

图5。远程触发接口接线图。

图6。远程触发接口电路原理图。

将远程触发模块附加到RPi背后的技巧是使用littleBits原型模块。原型模块是一个特殊的配线板,允许电气,电子元件和电路被连接到littleBits模块。下面是原型模块的详细视图。

图7。的littleBits proto-module

原型模块将被用于操作littleBits数字模块,通过使用RPi的二进制数据来增加2位7段LED显示屏上的值。在进入远程触发器的测试阶段之前,检查接线错误。如果没有连接错误,可以加载一个Python测试代码来检查远程触发器接口到RPi。

测试远程触发电路

您已经建立了远程触发接口电路,现在可以进行测试了。需要一个小的Python测试代码来确保电路正常工作。测试代码如下所示。通过使用linux命令~sudo nano remotetrigger.py打开nano编辑器,可以在LXTerminal中输入Python测试代码。另外,通过点击下面的代码按钮,Python代码可以保存在RPi的SD卡上。

使用远程触发Python测试代码输入LX终端,在提示到屏幕上键入Linux命令〜sudo python remotetrigger.py。将9V电池和电缆连接到LittleBits电源模块。通过将电源开关滑到ON位置,将电源施加到电路。板载电源LED指示灯将打开。接下来,拍摄普通的IR手持遥控器并将其指向LittleBits远程触发器。按IR手持式远程上的任何按钮,并注意显示器上显示按钮计数的Python测试代码,如图8所示。祝贺您建立远程触发接口电路!从远程触发接口电路关闭电源。

######################################### 1月1日1日##by don wilcher ##########################导入RPI.GPIO作为GPIO导入时间GPIO。setmode(GPIO.BCM) button = 4 GPIO.setup(button, GPIO.IN) count = 0 while True: inputValue = GPIO.input(button) if (inputValue == True): count = count +1 print("Button pressed " +str(count) + " times:") time.sleep(.3) # time.sleep(.01) #Listing 1. Remote Trigger Python Test Code

RPi_Code.zip

图8。一个正常工作的远程触发接口电路。

最后的硬件建设

你成功地建立了远程触发接口电路,它已经为项目的最终硬件构建做好了准备。如前所述,将使用第二个原型模块将littleBits数字模块连接到RPi。为了实现接线连接,需要一个晶体管电路。在前建设RPi控制器项目,我讨论了晶体管开关以及它如何操作小型电机。对象检测直流电机控制器项目中使用的相同电线技术将用于操作LittleBits编号模块。使用从项目部件列表中留下的剩余组件,使用下一步的接线图构建晶体管LittleBits号码驱动电路。

图9。完整的IR远程活动计数器接线图。注意:晶体管LittleBits号码驱动电路显示在面包板的右侧部分。

再次,我包括一个电路原理图的驱动电路作为一个额外的参考中级到先进的电子制造商。雷竞技最新app

图10。小比特晶体管数字驱动电路

在将最终的Python代码添加到RPi之前,请仔细检查晶体管驱动电路接线。如果没有发现连接错误,就完成了IR事件计数器的最终构建。为littleBits模块提供一个刚性的电路平台,您可以将它们放置在安装板上。我使用littleBits安装板提供了我组装的红外远程事件计数器的图片。剩下的唯一活动是安装和运行IR远程事件计数器Python代码。

图11。组装的IR远程事件计数器。安装板为littleBits模块提供了一个刚性平台。

IR远程事件计数器

完成这个很酷的RPi控制器项目的最后一步是安装和运行Python代码。下面显示的Python代码是一个来自按钮项目的程序重用。更改了变量名以反映连接到RPi的物理组件。代码通过按下普通IR遥控器上的任何按钮来增加littleBits数字模块上的值来工作。遥控器上每按一个按钮,数字显示器的值就增加一。

通过使用linux命令~sudo nano IREventCounter.py打开nano编辑器,可以将整个Python程序输入到LXTerminal中。另外,python程序可以通过点击下面的代码按钮保存在RPi的SD卡上。在LX终端输入IR事件计数器Python代码后,在屏幕提示符后输入Linux命令~sudo Python IREventCounter.py。拿一个红外遥控对准遥控扳机。按手持式遥控器上的任何按钮,littleBits数字模块将开始增加。祝贺您成功构建了另一个RPI控制器!现在你有了一个可以操作的事件计数器。RPi还打印计数器的状态在显示器屏幕上的每个按钮按下以及。图12显示了打印littleBits数字计数器状态的RPi。我提供了一个小的视频剪辑,显示红外远程事件计数器的行动。

图12。RPi在显示器屏幕上打印IR事件计数器的状态。

通过将载玻片开关移动到电路板上的各种功能位置,探索LittleBits号码模块的操作。一如既往,在实验室笔记本中记录您的观察。对IR远程活动计数器的思想来到的应用程序正在为游戏或体育赛事保持分数,但您可以使用此令人敬畏的电子计数器探索自己的其他应用程序。下次,我们将研究如何使用RPI读取模拟数据。

########################### IR远程事件计数器## 1月1日##通过Don Wilcher ####################################安装Python库导入时间导入rpi.gpio作为GPIO#定义RPI I / O引脚GPIO.SETMODE(GPIO.BCM)Number = 18按钮= 4#LED和按钮定义设置为I / O引脚GPIO.SETUP(NUMBER,GPIO.OUT)GPIO.SETUP(按钮,gpio.in)#连续循环而true:inputvalue = gpio.input(按钮)#aSigning按钮值InputValue变量(inputValue == true):#coppValue变量gpio.output(number,gpio.high)#conditional测试如果InputValue变量是真的,则以1打印增量LittleBits编号(“Counter_Triggered”)#打印符号状态.Lleep(0.5)#等待500ms GPIO.Output(Number,GPIO.Low)#如果inputValue变量是假的,请不要'T增加LittleBits号码打印(“counter_not_triggered”)#柜台的打印状态#listing 2. IR远程活动计数器Python代码

Python_Code.zip

下一篇文章串联:构建树莓派控制器第5部分:使用RPi读取模拟数据

自己试试这个项目吧!BOM。

1评论
  • D
    dgoadby 2016年10月07

    虽然我不介意非常简单的编程示例,作者可以添加关于这种类型应用程序使用中断的说明。

    我经常看到一些程序从简单的例子开始,逐渐发展成大型的糟糕的运行代码。

    喜欢的。 回复