上一篇,用 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(三极管与继电器实验)的更多相关文章

  1. MM32F0020 GPIO驱动LED灯(MM32F0020 GPIO Toggle)

    目录: 1.MM32F0020简介 2.MM32F0020系统时钟配置 3.MM32F0020的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0020 GPIO驱 ...

  2. MM32F0140 GPIO驱动LED灯(MM32F0140 GPIO)

    目录: 1.MM32F0140简介 2.MM32F0140系统时钟配置 3.MM32F0140的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0140 GPIO驱 ...

  3. 十天学会单片机Day0点亮LED (锁存器、三极管、继电器)

    C51常用的数据类型 数据类型 关键字 所占位数 表示数范围 无符号字符型 unsigned char 8 0~255 有符号字符型 char 8 -128~127 无符号整型 unsigned in ...

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

    前面我做了几个实验 都没有用过 开关,这一次用一用 发现 vivado 真的挺方便 所以 使用 vivado 开发 1.建工程 我使用 vivado 2013.4 创建新工程 –> next – ...

  5. Beaglebone Black–GPIO 高低电平控制 LED 灯

    上一篇,运用 Linux 的 sysfs,控制本机上的 LED 灯,usr0 至 usr3,这次用 GPIO 控制外部的电路,点亮 LED 灯. 这次的全部材料: BBB 一台 购买 BBB 自带的 ...

  6. GPIO控制LED

    一.LED灯的亮灭控制的配置步骤(GPIO4_D3): 1.GPIO4的CRU_CLKGATE_CON31时钟使能配置(用来保证GPIO4可写): io -4 0xff76037c 0xffff019 ...

  7. CC2530学习路线-基础实验-GPIO 控制LED灯亮灭(1)

    目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1 ...

  8. 树莓派GPIO控制LED彩灯

    树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在 ...

  9. [DM8168]Linux下控制GPIO实现LED流水灯

    首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: /* * fileName: led_gpio.c * just for LED GPIO test * GP1_14 -& ...

随机推荐

  1. Swift常量和变量

    常量和变量由一个特定名称来表示,如maxNumber 或者 message.常量所指向的是一个特定类型的值, 如数字10或者字符”hello”.变量的值可以根据需要不断修改,而常量的值是不能够被二次修 ...

  2. 前端控制器DispatcherServlet 详解

    DispatcherServlet 是前端控制器设计模式的实现,提供 Spring Web MVC 的集中访问点,而且负责职责的分派,而且与 Spring IoC 容器无缝集成,从而可以获得 Spri ...

  3. OpenStack 的windows镜像的开启办法

    创建虚拟机 使用我们的管理平台的windows主机创建流程,创建一台主机.在vnc中能看到主机进入到系统中 需要点击按钮sendctrl进入输入密码阶段. 输入我们的镜像的默认密码:5@mdjkw 打 ...

  4. BI案例:BI在连锁零售业应用(ZT)【转】

    第一部分:连锁零售企业上BI的必要性. 目前国内的连锁零售行业的发展趋势,呈现出产业规模化,经营业态多样化,管理精细化的特点.所谓管理精细化就是"精耕细作搞管理,领先一步订系 统" ...

  5. 指针二次释放(_BLOCK_TYPE_IS_VALID)

    [1]_BLOCK_TYPE_IS_VALID是什么错误? (1)最简单的示例代码如下: void main() { ); delete pA; delete pA; } (2)运行后崩溃截图如下: ...

  6. scala特质

    package com.ming.test /** * scala 特质,类似与java接口,但是比java接口强大,可以有实现方法,定义字段之类的 */ /** * 定义一个日志的特质 */ tra ...

  7. Java中IO流中所涉及到的各类方法介绍

    IO流之字节流 (1)IO用于在设备间进行数据传输的操作 (2)分类: A:流向 输入流 读取数据 输出流 写出数据 B:数据类型 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 注意 ...

  8. Extended Data Type Properties [AX 2012]

    Extended Data Type Properties [AX 2012] This topic has not yet been rated - Rate this topic Updated: ...

  9. linux,shell输入反斜杠显示'W'。

    linux,shell输入反斜杠显示'W'. solution: 字体必须为"Courier New".

  10. Hibernate,JPA注解@Version

    Hibernate实现悲观锁和乐观锁. 1,悲观锁 用例代码如下: 数据库DDL语句: hibernate.cfg.xml java类 以上代码(除下面的main之外)同乐观锁. main packa ...