Beaglebone Black–GPIO 开关 LED(三极管与继电器实验)

上一篇,用 GPIO 直接供电给 LED,用高低电平作开关,不靠谱。GPIO 是信号用的,不是当电源用的。而且,一个 GPIO 只能给可怜的 5mA 左右,取多了会烧(我没烧过不知道是不是真的会烧,但说明书上面是这样写)。这样玩不过来,所以我做了以下三极管实验。

2N3904 参数请点击这里。不推荐这个,lcm 是 200mA,但我只有它,没办法。三极管,我当作开关用。

先用面包板试一次:

我准备用 BBB 3.3V 取电,2N3904 ,lcm 200mA,就是 C 脚只能 200mA 上限,要用电阻降,我电阻种类不多,拿了个 24Ω 的,接 C 脚。我用 470Ω 把 3.3V 降到 7mA 模拟 GPIO 的高电平输出,到 B 脚。此时接通电源后,B 脚高电平的话,E 脚大概 2.8V,再用150Ω 降到 19mA 左右给 LED(注:LED 超过 25mA 会烧毁)。下图绿色线就是通过电阻接 B 脚的,拔掉就关灯。在面包板上就这样。

总的来说,瞎搞。先用 BBB 试试再说吧。关闭电源情况下接线。P9_1 是 GND,P9_3 是 3.3V 电源,用 P9_13 (GPIO 号 31)作为控制信号输出:

一开机你会发现,LED 亮着的。进去系统操作 sysfs ,如下:

当把 direction 改为 out 时候,灯就会熄灭,应为value 是零。把 value 调为 1,灯就再次亮起。

对于这个结果,本人表示不满意。再来,这次丢掉那麻烦的三极管,改用继电器:

这个是 3.3V,合适,另一边能承受 AC 240V 7A,或者 DC 28V 10A。大部分继电器都足够玩的了,不过我这个是 3.3V,接 BBB 直接插,方便。

这实验是想用 BBB 控制 5V DC 电路,先测试一下:

面包板供电 5V,串连两个 LED,再加个 47Ω电阻。点亮。这里电流 21mA 已经接近 LED 能承受的极限(据说是 25mA,我看书上面说LED 正常工作电流是 18-20mA)。

然后接上继电器和 BBB。我很怕毁了 BBB,所以还是加了个 470Ω 电阻 在 GPIO。我不确定不加这电阻会发生什么事。 连接时当然要全部电源关闭。

继电器控制那一侧,VCC 接 BBB 的 3.3V,GND 接 BBB 的 GND,IN 信号口接 BBB 的 P9_13(GPIO 号31)。但注意继电器的另一侧的电路连接,必须按照厂家说明来接。一般来说,继电器中间是接火线(正极),另外两个口是常开负极和常闭负极。我是接了常闭的负极,就是说,上电后,未收到 BBB 的高电平信号前,LED 不会亮。

检查无误后,BBB 上电,面包板上电。我这继电器有指示灯,下图的指示灯是代表控制方的电源已接通。

然后,操作 BBB:

对以上有疑惑的请看前几篇关于 sysfs 的简单操作。

当输出高电平时候,echo 1 > gpio31/value 后,两颗 LED 亮起:

当然,echo 0 > gpio31/value 的话,灯就熄灭。

到此为止,实验成功。代码不写了。如果你疑惑这到底有什么用的话…… 继电器能承受 AC 240V 的话,就是你能用 BBB 控制家电电源了。不过暂时我没想到我家有什么家电要拆来玩。要做也不会用 BBB,一个 Wifi 模块就搞定了。

下一篇就是,ESP8266,¥12.5 一个,下一篇用 BBB 串口操作它。

时间: 2024-10-08 17:20:16

Beaglebone Black–GPIO 开关 LED(三极管与继电器实验)的相关文章

实验 使用 vivado zedboard GPIO 开关 开控制 LED

前面我做了几个实验 都没有用过 开关,这一次用一用 发现 vivado 真的挺方便 所以 使用 vivado 开发 1.建工程 我使用 vivado 2013.4 创建新工程 –> next –>next 勾选 Do not specify sources at this time   //这样跳过后面两个添加文件页面 选择 board –> zedboard –>next –>finsh 就创建完了. 2.PL端 IP核添加与连线 创建一个空的 Diagram Create

单片机IO口标准双向,推挽,高阻,开漏模式 ,LED感应亮灭实验【原创!】

单片机IO口标准双向,推挽,高阻,开漏模式 ,LED感应亮灭实验  十一长假在家快烂了,没事儿做,DIY技术搞起来!  [关于12C增强型单片机I/O口的工作类型实验研究] 文中动画视频效果下载: STC单片机头文件[51CTO-->单片机-->LED感应亮灭实验] 下载链接 链接:http://pan.baidu.com/s/1pJKK4w7   密码:a0re  1.用强推模式,点亮一个LED  /* 工程创建MCU选取,Atmel 89C55 单片机:STC12C4052AD 晶振:无要

驱动继电器实验

学生实验报告               课程名称:单片机原理与应用 专业班级:嵌入式14103班  __ 姓    名:_赵存档___________ 学    号:14160310317     2015--2016    学年第 1 学期     实验项目( 三 ) — 预习报告 项目 名称 驱动继电器实验 实验 目的 及 要求 目的:学会本次实验是如何进行实现的,以及对实验原理的理解. 要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计. 小组内独立完成实验项目内容

Linux下控制GPIO实现LED流水灯(DM8168)

首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: 1 /* 2 * fileName: led_gpio.c 3 * just for LED GPIO test 4 * GP1_14 -> HDD 5 * GP1_15 -> REC 6 * GP1_27 -> NC 7 * GP1_28 -> IR 8 */ 9 10 #include <linux/device.h> 11 #include <linux/fs.h> 12 #i

三极管原理,开关电路设计原则,NPN、PNP区别及常用三极管参数

三极管的工作原理 三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E.分成NPN和PNP两种.我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理. 一.电流放大 下面的分析仅对于NPN型硅三极管.如上图所示,我们把从基极B流至发射极E的电流叫做基极电流Ib:把从集电极C流至发射极E的电流叫做集电极电流 Ic.这两个电流的方向都是流出发射极的,所以发射极E上就用了一个箭头来表示电流的方向.三极管的放大作用就是:集电极电流受基极电流的控制(假设电源 能够提供

【蓝牙低功耗BLE】控制GPIO来点亮LED

这节讲一下最简单的,也是最基础的东西,CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯,由于GPIO作为output,所以也不用管GPIO的模式. 还是挺简单的,控制左边GPIO的高低来开关LED灯. 2.相关寄存器 P0SEL      P0[7:0]功能设置寄存器,默认设置为普通I/O口 P0INP P0[7:0]作为输入口时电路模式寄存器,可以设置为输入上下拉等 P0 P0[7:0]可以位寻址的I/O

Beaglebone Black - 控制 BBB 板上的 LED 灯

BBB 的板上有五个 LED 灯,一个电源,四个其他指示灯,usr0 至 usr3 .这次学习是控制 usr0 至 3 让它们亮着,熄灭,闪.算是个 Hello World 实验.非常简单. 需要的材料: BBB 一台 购买BBB 自带的数据线一条 手提电脑或台式电脑,有 USB 插头的 首先用数据线把 BBB 和电脑连接,自动开机了之后,可以开始了. 这次三个做法都试试: Bonescript Python C++ Bonescript 操作 Bonescript 做法是用 Cloud9,假设

Beaglebone Back学习四(GPIO实验)

GPIO Beaglebone Back开发板引出了92个引脚,其中只有65个GPIO口可通过配置使用,由于引脚具有"复用"的特性,大约每个引脚有8种工作模式(Beagle System Reference Manual),默认情况下,设为Mode7.由于P8扩展部分的引脚功能相对简单,复用不多,故项目功能复杂时,最好选择P8上的GPIO口. 对GPIO口的操作,主要有三个步骤 1 选择GPIO口根据以下两表,确定使用那个GPIO口,该表也可以在BBB_SRM文件中找到. (1)拉电流

花 1 小时,开源设计 LoRa 继电器开关

提示1:锐米所有 LoRa 产品严格遵循国标标准的 LoRaWAN 协议. 提示2:您可以免费复制,修改和商用本项目,请注明锐米原创. 提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 [email protected] LoRa 继电器开关 LoRa 继电器开关,用于无线远程控制电气设备,通过 App 下发指令能实时控制:电器,灯光,电机,阀门等. 物联网 Arduino LoRa LoRaWAN 继电器开关 组件和材料 LoRa 扩展板 x 1 采购链接 Arduino UNO x