上一篇,用 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)

转载于:https://www.cnblogs.com/leptonation/p/5155908.html

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

  1. keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)

    [朱老师课程总结] 第一部分.章节目录 第二部分.章节介绍 3.5.1.STM32的GPIO模块数据手册详解1 本节讲解STM32数据手册中GPIO模块相关的部分,主要是GPIO的各类模式及其配置方法 ...

  2. 蓝桥杯嵌入式G431学习之开关LED灯

    蓝桥杯嵌入式G431学习之开关LED灯 1.直接开关LED灯 在/* USER CODE BEGIN 0 / 在此写入代码 / USER CODE END 0 */ /*PD2为LED锁存器控制引脚* ...

  3. ESP-8266接入阿里云开关LED

    ESP-8266接入阿里云开关LED 我们通过esp8266连接到阿里云,再通过阿里云绑定修改led属性,esp8266接收到mqtt协议报文处理我们的开关灯函数 阿里云控制台添加设备,esp8266 ...

  4. K210应用2-使用GPIO控制LED状态

    使用gpio控制led 实验目的 本次主要应用K210最基础的功能,了解FPIOA引脚映射,以及GPIO设置.该节验证方式为通过控制LED的亮灭来进行验证. 实验准备 1).带发光二极管(LED)的K ...

  5. 嵌入式STM32—第一天GPIO实现led呼吸灯

    1.软件及工程环境搭建 就不介绍了,可以直接用现成的 链接:https://pan.baidu.com/s/1GaSYpNm6yh-lZZmqRdXxvQ 提取码:dy63 相关库文件 链接:http ...

  6. Openwrt MT7628/MT7620/MT7621——GPIO及LED/KEY的功能实现

    GPIO及LED/KEY的功能实现 流程介绍 GPIO功能注册和控制 MT7628支持引脚功能的复用,通过配置GPIO1_MODE和GPIO2_MODE寄存器可指定引脚的功能,通常在dts文件中对引脚 ...

  7. 不写一行代码(一):实现安卓基于GPIO的LED设备驱动

    文章目录 系列文章 一.前言 二.准备工作 2.1 内核版本 2.2 内核文档:bindings->leds 2.3 文档解析: leds-gpio.txt 三.编写DTS 3.1 查原理图,挑 ...

  8. 【嵌入式】GPIO驱动LED设计

    [嵌入式]GPIO驱动LED设计 1. 操作内容 2. 操作步骤 2.1 编译Linux内核 2.2 编译LED驱动 2.3 运行文件 3. 操作结果 1. 操作内容 掌握嵌入式 GPIO 驱动程序的 ...

  9. 内核自带的基于GPIO的LED驱动学习(一)

    为什么学习内核自带的LED驱动? 前面已经学习过了基于纯字符设备的LED驱动,也学习过了基于平台驱动的LED驱动,但是感觉都是按照教程在生搬硬套,到底我们写出来的驱动能不能拿得上台面,是否能在实际的生 ...

  10. 三极管驱动继电器电路

    继电器线圈需要流过较大的电流(约50mA)才能使继电器吸合,一般的集成电路不能提供这样大的电流,因此必须进行扩流,即驱动.图1所示为用NPN型三极管驱动继电器的电路图,图中阴影部分为继电器电路,继电器 ...

最新文章

  1. LeetCode刷题记录4——67. Add Binary(easy)
  2. Nagios的安装和基本配置(二:Nagios-Server的安装)
  3. Datawhale组队学习 Task02:顺序表和链表(2天)
  4. Linux的文件系统及其硬盘分区挂载原理
  5. 201521123038 《Java程序设计》 第十周学习总结
  6. Ganglia 应用实践
  7. php怎样查看视频播放的进度条,H5中视频与音频标签和进度条如何使用
  8. 【我想进大厂】Redis夺命连环11问
  9. 软件测试的学习之路----计算机基础 (图片展示)
  10. 一 VC2008环境中ICE的配置
  11. 中国甲状腺功能减退药行业市场供需与战略研究报告
  12. Layui第三方扩展LAY_EXCEL导出数据表格的数据
  13. MYSQL 开窗函数
  14. Scrapy-豆瓣电影Top250
  15. python如何自己写库_亲自动手写一个python库(二)
  16. 防汛抗洪中,北峰应急通信小系统如何筑起通信防线
  17. [PHP]学生成绩管理系统
  18. Python —对象的浅拷贝和深拷贝
  19. 微信分享功能不可用+不能产生回调
  20. 进程、线程、程序的概念与区别

热门文章

  1. hilbert曲线序编码matlab,[转载]希尔伯特曲线及其matlab画法
  2. 苹果x屏幕失灵乱跳_苹果手机屏幕失灵怎么办?成都苹果维修点教你轻松处理!...
  3. java生成唯一的五位字符串_java唯一字符串ID生成方案详解
  4. 名震GitHub,字节跳动内部顶级数据结构刷题学习笔记根本停不下来
  5. 鹏保宝 v7.1.0 官方版
  6. Oracle PeopleSoft 登录,peoplesoft不能登录DB解决方法
  7. [leetcode] 935 Knight Dialer 骑士拨号器
  8. 一次失败的鼠标修理经验
  9. 英特尔显卡笔记本屏幕自动调光功能导致屏幕闪烁----笔记本显示器闪烁
  10. oracle imp加快速度,加快IMP速度