原因

网络上有不少怎么让Arduino的5V电平转换成3.3V电平,从而和工作在3.3V下的芯片相互沟通的教程。但是如果想驱动高于5V电压的芯片,就找不到教程了。因此今天我来介绍一种方式,能让Arduino的OUTPUT口和需要5~12V的电子元件进行通信。下文以12V为例。

效果

  • 能够达到单向(从Arduino到12V芯片)通信的目的
  • Arduino引脚输出的电平会被取反,即Arduino输出HIGH,芯片却收到LOW,反之亦然。

硬件准备

  1. Arduino一个
  2. 开关型NPN三极管(8050即可)一个
  3. 4.7K,10K电阻各一个(貌似不是这个阻值也可以,只要不要太小即可)

电路连接

面包板图:

(假设右边那个nano是我们需要驱动的12V的东西)

原理图:

软件开发

一定要记住:Arduino引脚输出的电平会被取反,即Arduino输出HIGH,芯片却收到LOW,反之亦然!只要知道这一点,剩下的事情和开发普通OUTPUT引脚都差不多了。

我们先弄一个测试工程试试看。

在测试工程中,我们用万用表的电压表(20V挡位)来模拟12V芯片,即万用表红线接图中蓝线,万用表黑线接地(图中黑线)。因为芯片的INPUT模式相当于一个电压表,所以可以这么替代来看效果。当12V芯片应当收到HIGH时,我们的万用表上就会出现接近12V的电压;收到LOW则出现0V。

建立一个ino工程,代码如下:

#define TEST_PIN 7

void setup(){
pinMode(,OUTPUT);
pinMode(TEST_PIN,OUTPUT);
} void loop(){
digitalWrite(,!digitalRead());
digitalWrite(TEST_PIN,!digitalRead(TEST_PIN));
delay();
}

连接电路,查看效果。如果一切正常,你将会看到,当ino上的小灯亮起的时候,万用表显示0V;熄灭时显示12V。

原理说明(针对没基础的人)

三极管这东西高中物理居然不教...因此我自学研究了半天才勉强搞懂一点点。感觉很多书/教程讲的都太复杂了,像什么阿尔法值,贝塔值,放大倍数什么的,真正应用的时候不一定用得上,因此我这里简单讲一讲三极管用得上的部分。

三极管有两种类型,NPN和PNP,我这里讲一讲NPN,即这篇文章中用到的那种。首先,我们要记住这张图和它的三个引脚对应的说法:C(集电极),B(基极),E(发射极)(想搞懂名称的自己看原理去)。

我们首先来看有箭头的那一条路径(B->E):这条路最简单,完全不用考虑C端发生了什么,而是几乎可以看成一个B->E的二极管。B电压大于E一定程度(即B到E有足够大的电势差,一般是0.3V之类),就会有电流,反之则没有。我们的电路中,B接的是Arduino引脚。因此,当Arduino HIGH时,BE有5V电位差,但是有一个限流电阻,因此有微小的电流;反之没有。

然后再看另一条路径,C->E:这一条就悲催的多了,完全被B->E那一条管着。如果BE没有电流,不管发生什么,CE都不会有电流,这是可以看成C、E之间断开了。如果BE有电流,才会允许CE产生电流。在我们的电路中,BE有电流则CE连通,即C点接地,于是12V芯片收到LOW;反之,收到HIGH。其实这一部分单独看,就是一个上拉电阻。图见下。

顺便说一下“电流倒灌”的问题:如果现在三极管的部分换成一块导体,那么很明显,C电压高于B,因此会有灌入B的电流,从而造成Arduino出各种各样的问题。但是我们的电路中没有这个问题(确实实践测试过了),这是因为三极管可以帮助B不被倒灌。但是据传说,如果C电压高于B太多,那么倒灌照样会发生。如果真的发生倒灌,一个(可能)可行的策略是在B处安装一个整流二极管,不让电流倒着流动。

鸣谢

感谢阿古(古作坊坊主)在在电路方面的指导!

Arduino 电平转换 升压 OUTPUT与9V/12V元件通信的更多相关文章

  1. 简单实用的双向电平转换电路(3.3v-5v)

    当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦,双向的,不是单向的!).电路十 ...

  2. 5V与3.3V器件电平转换

    源:5V与3.3V器件电平转换 当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦 ...

  3. TTL和COMS电平匹配以及电平转换的方法

    一.TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用5V电源.1.输出高电平Uoh和输出低电平UolUoh ...

  4. 5V系统和3.3V系统电平转换

    在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V.有时候是反过来.虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V ...

  5. 一种简单实用的双向电平转换电路3.3V-5V

    当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦,双向的,不是单向的!).电路十 ...

  6. MSP430电平转换

    说道到这个电平转换,写程序的时候居然还要示波器来观察现象,表示我们交的是211的学费,上的却不是211大学,创新实验室的仪器设备真的是少的可怜啊,我级不吐槽了说说这个电平转换的一些知识还有看法吧.. ...

  7. IIC双向电平转换电路设计

    现代的集成电路工艺加工的间隙可达0.5μm 而且很少限制数字I/O 信号的最大电源电压和逻辑电平. 为了将这些低电压电路与已有的5V或其他I/O电压器件连接起来,接口需要一个电平转换器.对于双向的总线 ...

  8. 单片机电平转换电路5V 3.3V串口通讯等(转)

    源: 单片机电平转换电路5V 3.3V串口通讯等

  9. 一种电平转换的方法,使用CPLD

    参考应用笔记 http://www.doc88.com/p-0197252336968.html 前言 在原理图设计初期,可能涉及到引脚电平的转换操作,比如主FPGA的某BANK电平为1.5V,但外围 ...

随机推荐

  1. cojs 疯狂的字符串 题解报告

    首先这道题是GT考试的加强版本QAQ 当n<k的时候,答案显然是10^n 当n=k的时候,答案显然是10^n-1 这样就有20分辣 之后我们考虑k<=20的做法 显然设f(i,j)表示前i ...

  2. HTML基本操作

    插入图片: 1.利用链接(静态) <img src="http://www.kmwzjs.com/useruploads/images/20101020_057600100825157 ...

  3. CF 353A Domino

    #include<stdio.h> #include<math.h> int main() { int i,n; int x,y; int m1,m2,m3,m4; while ...

  4. ios开发--GCD使用介绍:4-延迟执行操作

    在开发过程中,我们有时会希望把一些操作封装起来延迟一段时间后再执行.iOS开发中,有两种常用的方法可以实现延迟执行,一种是使用GCD,另外一种是使用NSRunLoop类中提供的方法. 1.使用GCD实 ...

  5. JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-003使用@AttributeOverrides

    Each @AttributeOverride for a component property is “complete”: any JPA or Hibernate annotation on t ...

  6. MDK4.6和J-LINK调试出现问题,软件自动关闭,在网上收集整理的解决办法

    MDK4.6配J-LINK调试时提示升级,升级完成后,弹出下图提示框后,软件自动退出. 提示原因:由于MDK4.6能识别山寨JLINK导致.网络牛人分析如下: 今天将Keil MDK升级到了V4.54 ...

  7. Centos环境下部署游戏服务器-常用命令

         图1     在Linux的世界,如果你不玩命令,那你见了同行都不好意思和人家打招呼.同时服务器正常状况下放在远端,一般都是开ssh登录服务器,相信远程桌面的人很少见吧.这篇文章说说Linu ...

  8. 转载网页博客:ie7bug:div容器下的img与div存在间隙

    1.代码及在浏览器上的显示 ie7: ie8+: Firefox: Chrome: 可以看出ie7上在div容器下添加img,div与img中有间隙,而在ie8+和其他浏览器上均显示正常 网页源代码如 ...

  9. Data Base MongoDB 插入时间不正确的问题

    关于mongodb插入时间不正确的问题 mongodb插入时间: 把本地时间转换为utc时间:  也就是比本地时间少8个小时: 读取的时候又会转换本地时间: 所有一般不需处理:

  10. 南阳理工ACM Skiing问题

    描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区域中最长底 ...