技术文章

家具五金 > 技术文章 >

单片机能否点亮家庭电路中的灯?怎么实现?

发布时间:2024-04-23 13:30来源:本站点击:标签: 怎么 单片机 电路 中的 家庭 能否 点亮

  

单片机能否点亮家庭电路中的灯?怎么实现?

  

单片机能否点亮家庭电路中的灯?怎么实现?

  

单片机能否点亮家庭电路中的灯?怎么实现?

  

单片机能否点亮家庭电路中的灯?怎么实现?

  当然可以了,非常简单。

  下面简单分享一下制作过程。

  首先,我们要知道单片机是什么。

  形象一点说,单片机就是一台超小型的电脑,只不过与电脑比起来性能要弱很多,但是电脑有的功能,单片机基本都有。麻雀虽小五脏俱全嘛。

  单片机的工作电压一般都是3.3V或者5V。

  而且它可以输出的电流非常小,最多10几毫安。

  那它怎么驱动家庭电路中的灯呢?

  灯泡都是220V的电压,我们单片机只有区区5V,这样直接驱动不就把单片机给烧了吗。

  就如下图所示的这种接法,单片机根本承受不了这么大的电压,会被直接击穿的。

  那该怎么办呢?

  这时候有一个原件可以帮到我们,那就是继电器。

  它的原理很简单,当我们用单片机给它5V电时,220V就能接通;当我们给它0V时,220V这一侧就是断开的。

  如果用单片机控制的话,接线图大致是下面这样的,我这个图是简化的,有很多线没有绘制,为的是让大家更容易理解。

  在实际应用中,单片机不能直接驱动继电器,这时候我们还需要再加一个三极管,用三极管去驱动继电器。

  还有继电器内部是线圈,我们还需要给继电器并联一个二极管,来达到续流的目的。

  单片机控制电灯是极为简单的事情

  单片机其实就是一个微型“电脑”,它集成了CPU、RAM、ROM、I/O、定时器、中断等等功能。单片机工作需要直流电供电,一般是5V或者3.3V,而电灯需要交流220V。单片机需要通过驱动低压直流电控制交流电的器件去控制电灯的亮和灭。比如继电器或者可控硅。

  继电器通过触点的闭合和断开来控制电灯电源的开和关,给继电器的线圈施加直流电时,电磁铁产生磁力吸住衔铁,触点闭合,电灯通电点亮;继电器线圈断电后,电磁铁失去磁力,衔铁受弹簧力作用,触点断开,电灯熄灭。

  单片机的输出口驱动能力是比较弱的,能够提供的电流最多20mA左右,也不能直接推动继电器工作,我们需要加入三极管来驱动继电器,当单片机的输出口DR设为高电平时,三极管Q1导通,继电器线圈通电,电灯点亮,当单片机的输出口DR设为低电平时,三极管Q1截止,继电器线圈断电,电灯熄灭。

  有了单片机的协助,电灯的功能就很多了,除了可以定时开和定时关,还可以加入光线强弱检测,实现晚上自动开灯。

  除了继电器可以控制电灯的亮和灭,还可以用双向可控硅控制电灯。继电器是机械式的开关控制,而双向可控硅是电子式的开关控制,还可以实现亮度调节。双向可控硅的导通由控制极(G)控制,我们只需要给控制极(G)提供一个脉冲的电流信号就可以触发它导通了。

  我们可以通过光耦驱动双向可控硅控制电灯的亮和灭,当DR设为低电平时,光耦工作,电灯点亮,当DR设为高电平时,光耦停止工作,电灯熄灭。如果想调节电灯的亮度,还需要加入过零检测电路。

  单片机通过控制电路可以点亮家庭电路中的照明灯,我以前是根本不相信的,但是看了我的朋友劳伦斯搞的单片机小制作之后,我是彻底相信了,一个小小的单片机不仅可以点亮220V灯泡,而且还可以对其进行PWM调光。

  我的朋友劳伦斯是一家类人机器人公司的单片机工程师,会多种型号的单片机编程,我以前和其在一个公司工作过,后来由于水平太差,辞职不干了,但我们还经常来往。上周末,我到劳伦斯家里玩耍,恰好看到其正在搞单片机小制作。劳伦斯说,其用一个QFN20封装的C8051F330单片机(见下图)可以控制220V电路中灯泡的亮与灭,并且还可以对其进行调光。

  看了劳伦斯的这两个演示,我不得不相信小小的单片机可以点亮220V的灯泡,同时对单片机亦产生了浓厚的兴趣。我现在正在学最简单的8031单片机的编程,学会8031之后,打算再学功能强大的C8051F330单片机的编程。

  单片机可以点亮家庭电路中的灯

  目前常见的单片机有51单片机或是STM32单片机,可以通过C语言编程控制,常用的集成开发环境有IAR或是Keil。

  目前常用的51单片机需要5V或是3.3V供电,STM32单片机通常是3.3V供电,但是我们家庭电路中的电灯都是220V的。如果用单片机的5V或是3.3V电源供电是不可能点亮220V的电灯的。如果使用220V给单片机供电,也是万万不能的。

  面对这样的情况,我们可以借助继电器来帮助我们实现这个目的。

  继电器我们可以选3V或是5V驱动的,但是单片机的IO口不能直接驱动继电器,简单的话我们可以加一个三极管的驱动电路。通过单片机的IO口控制三极管的通断,进而控制继电器线圈的吸合,然后继电器可以接220V的电灯,从而实现单片机的IO口,控制电灯的亮灭。如果我们再加上一个WiFi模块,比如ESP8266模块,使用MQTT协议接入阿里云的物联网平台,就可以实现APP远程控制电灯的亮灭。

  根据提问者的意思,能否使用单片机点亮家庭电路中的灯?当然可以,对于熟悉单片机的人来说,原理很简单!

  单片机属于微控制系统,属于弱电部分,一般供电电压5V或3.3V,而家庭电路中的灯属于强电部分(220V交流电)。相当于弱电控制强电,在实际应用中常有的事,比如控制器控制电机运行,以及各种机床、机械手等都有弱电系统控制强电的部分,单片机相当于系统的大脑,指挥各模块运作。

  控制部分原理很简单,利用单片机的一个I/O口,设置为输出端口,低电平时控制家庭中的高压部分线路接通,高电平时线路断开。高压线路开关部分可以使用继电器、三极管、场效应管、可控硅、IGBT等,其中使用机械继电器原理设计最简单,因为机械继电器控制部分(线圈)与触点之间完全物理隔离,不需要专门进行弱电与强电部分隔离设计。若使用三极管、场效应管、可控硅、IGBT等芯片进行控制强电线路通断,需要考虑控制电路电源与220V电源之间进行隔离设计。

  实例讲解:下图为使用24V继电器当电子开关控制220V交流电火线,从而控制灯泡亮/灭,将单片机I/O口设置为输出端口,由于I/O口驱动电流很弱,一般只有几mA左右,不能直接驱动继电器,因此通过三极管进行电流放大驱动,下图使用两个三极管进行驱动继电器,原因是单片机复位时I/O口默认高电平(3.3V),因此使用低电平驱动继电器工作。

  具体原理分析:当I/O口输出高电平时,三极管Q1导通,Q2截止,继电器不吸合;当I/O口输出低电平时,三极管Q1截止,Q2导通,继电器吸合,灯泡点亮。

  总结:单片机属于微处理器,相当于人的大脑,功能很强大,它可以控制很多东西,控制家庭中线路的灯那是非常简单的事。若使用三极管、场效应管、可控硅等电子元件作为电子开关时,注意隔离设计,因为单片机系统属于弱电部分,经不起强电的冲击,系统设计时一般都会将强电和弱电进行隔离,提高系统可靠性。

  比较划算的就算是淘宝买一块esp8266和配套的继电器,几行代码就能控制家庭电路,优点是,上手容易,价格实惠,硬件小巧

  使用单片机点亮家中的灯是非常容易的事情,实现起来有很多种方案,可以实现有线控制,也可以实现无线远程控制。手动控制灯的亮灭时,是通过开关来实现的,而开关的左右就是断开和导通照明灯的回路,回路是闭合的,照明灯就被点亮,回路是断开的照明灯就会熄灭。所以,问题最终被转化到了控制照明灯回路通断的问题上,这就是控制灯亮灭的原理,意识到了这个问题后,问题就变得异常简单:单片机如何控制照明灯回路的通断。

  答:单片机通过控制继电器回路可以实现。单片机如何控制继电器的通断呢?单片机控制继电器是非常简单的事情。一般都通过三极管来实现,这是学习单片机必学的一部分内容。以NPN三极管为例介绍单片机控制继电器的方法。

  NPN三极管的集电极接继电器的线圈,并在继电器的线圈上反向并联一个续流二极管,三极管的基极通过电阻接单片机的GPIO口,继电器的常开触点接入照明灯的控制回路,用于控制回路的通断。当单片机输出高电平时三极管导通,继电器动作;当单片机输出低电平时三极管截至,继电器复位。这就实现了单片机通过控制器实现控制照明灯的功能。

  除此之外,还可以丰富该功能,比如通过蓝牙实现近距离无线控制灯的亮灭。这就需要通过蓝牙芯片控制继电器,需要一发一收。也可以通过红外遥控功能实现控制。如果要实现远距离控制的话,可以通过WiFi芯片来实现。

  以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。

  我是乐创物联!我来回答这个问题。我主要是做物联网方面和工业自动化方面的。

  单片机肯定可以点亮家庭中的灯。单片机一般控制输出电压是3.3V或者5V,家庭中的电灯供电为220V。这里就要一个叫继电器的硬件,继电器,开关电器的一种,通常用单片机控制,弱电控制强电。

  下面讲讲如何实现例子。举个用树莓派用Python控制Arduino点亮LED。将Arduino中的13引脚接继电器输入端,输出端220V电灯按单火接法常开触点。

  安装环境

  1)一般情况树莓派镜像文件中自带Python运行环境

  2)在树莓派下安装Arduino IDE sudo apt-get install arduino

  3)串口通信库,这样才能利用USB口跟Arduino通信 sudo apt-get install python-serial

  准备工作

  1)板子型号 Arduino UNO

  2)选择串口 /dev/tyyACM0

  从图形界面下载程序

  源码:

  int led = 13;

  void setup () {

  pinMode(led, OUTPUT); //LED 12 como salida Serial.begin(9600); //Inicializo el puerto serial a 9600 baudios

  }

  void loop () {

  if (Serial.ailable() > 0) { //Si está disponible char c = Serial.read(); //Guardamos la lectura en una variable

  char if (c == H) { //Si es una H, enciendo el LED

  digitalWrite(led, HIGH);

  } else if (c == L) { //Si es una L, apago el LED digitalWrite(led, LOW);

  }

  }

  Python脚本

  源码:

  import serial

  Arduino_UNO = serial.Serial(/dev/ttyACM0, 9600)

  print(\"Hello From Arduino!\")

  while True:

  command = raw_input(Enter the command ) Arduino_UNO.write(command)

  if command == H:

  print(LED ON)

  elif command == L:

  print(LED OFF)

  arduino_UNO.close()

  树莓派操作命令

  sudo python

  ControlArduinoFromRasp.py

  Hello From Arduino!

  Enter the command H

  LED ON

  Enter the command L

  LED OFF

  结果现象

  回答不易,请多关照,多加交流评论。更多相关技术,请关注乐创物联!

  控制继电器不就行了。

  io口驱动moc3063光耦,光耦带双向晶闸管