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)作为控制信号输出:

不太会用 Fritzing… 这个样子的:


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

当把 direction 改为 out 时候,灯就会熄灭,value 是零。把 value 调为 1,灯就再次亮起。想解决 direction 未调为 out 之前的灯亮问题的话,加一个下拉电阻就正常的了(把 B 脚通过电阻,比如 10K 吧,接到 GND)。


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

这个是 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 220V 电路,不过我暂时没想到要拆那个家电。要控制家电没个 WiFi 不像 IoT,下一篇就是,ESP8266,¥12.5 一个,下一篇用操作看看。
我在这群里,欢迎加入交流:
开发板玩家群 578649319
硬件创客 (10105555)
Beaglebone Black–GPIO 开关 LED(三极管与继电器实验)的更多相关文章
- MM32F0020 GPIO驱动LED灯(MM32F0020 GPIO Toggle)
目录: 1.MM32F0020简介 2.MM32F0020系统时钟配置 3.MM32F0020的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0020 GPIO驱 ...
- MM32F0140 GPIO驱动LED灯(MM32F0140 GPIO)
目录: 1.MM32F0140简介 2.MM32F0140系统时钟配置 3.MM32F0140的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0140 GPIO驱 ...
- 十天学会单片机Day0点亮LED (锁存器、三极管、继电器)
C51常用的数据类型 数据类型 关键字 所占位数 表示数范围 无符号字符型 unsigned char 8 0~255 有符号字符型 char 8 -128~127 无符号整型 unsigned in ...
- 实验 使用 vivado zedboard GPIO 开关 开控制 LED
前面我做了几个实验 都没有用过 开关,这一次用一用 发现 vivado 真的挺方便 所以 使用 vivado 开发 1.建工程 我使用 vivado 2013.4 创建新工程 –> next – ...
- Beaglebone Black–GPIO 高低电平控制 LED 灯
上一篇,运用 Linux 的 sysfs,控制本机上的 LED 灯,usr0 至 usr3,这次用 GPIO 控制外部的电路,点亮 LED 灯. 这次的全部材料: BBB 一台 购买 BBB 自带的 ...
- GPIO控制LED
一.LED灯的亮灭控制的配置步骤(GPIO4_D3): 1.GPIO4的CRU_CLKGATE_CON31时钟使能配置(用来保证GPIO4可写): io -4 0xff76037c 0xffff019 ...
- CC2530学习路线-基础实验-GPIO 控制LED灯亮灭(1)
目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1 ...
- 树莓派GPIO控制LED彩灯
树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在 ...
- [DM8168]Linux下控制GPIO实现LED流水灯
首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: /* * fileName: led_gpio.c * just for LED GPIO test * GP1_14 -& ...
随机推荐
- 【GDI+】继续图形的问题
现在有一个需求: 一个或多个四个点组成的矩形,一个或多个值指定 下一点->当前点方向的垂直方向是不闭合的. 目前大概有三种情况: 1.只有一个矩形且只有一个指定不闭合方向的时候,此时只用按照指定 ...
- 利用Qt Assistant 定制帮助文档
为了将Qt Assistant定制为自己应用程序的帮助文档浏览器.需要完成以下几步: 一.导入HTML格式的帮助文档 (1)首先,针对自己的应用程序创建HTML格式的帮助文档,请参见<Doxyg ...
- python使用装饰器捕获异常
可以编写一个通用的捕获异常的装饰器, 当程序发生异常时可以继续执行后续动作. 尤其适合于使用大量断言的验证性程序. 装饰器的实现原理使用了回调技术. 如下所示, robust 是一个装饰器. 当在普通 ...
- mysql字符串相关
使用MySQL,我们很多时候都会出现需要截取字符串的情况,所以关于字符串的截取的方式有必要记录下去. MySQL截取字符串的函数有: left(str, length):从左边开始截取,length是 ...
- 4、BOM编程/正则表达式
1. BOM编程 1.1. BOM编程基础 全称 Browser Object Model,浏览器对象模型. JavaScript是由浏览器中内置的javascript脚本解释器程序来执行jav ...
- PHP上传文件详解 错误提示
首先在php.ini里配置上载文件.有以下几个重要的配置单: 选项 默认值 说明 post_max_size 8M 控制以后的POST请求的最大规模.必须大于upload_max_filesize选项 ...
- linux crontab定时执行
#利用crontab定时执行url研究了两种简单方式#一利用lynx访问url yum install lynxservice crond startcrontab -einsert键* * * * ...
- js原型 prototype
js中只有构造函数(所有函数)拥有prototype属性对象
- css缩写
颜色: 16进制的色彩值为六位数,如果每两位的值相同,可以缩写一半. 如:#000000=#000: #223344=#234: 盒子的尺寸: 如margin:value; 一个值表示所有边,两个值表 ...
- android bluetooth蓝牙移植
http://blog.csdn.net/zhengmeifu/article/details/7705172 前段时间移植神念系统需要使用到bluetooth功能,现将移植过程中碰到的问题简要列一下 ...