“第三十七课--Microduino 控制继电器开关/zh”的版本间的差异
(Created page with "{{Language|Lesson_37--Microduino_Control_Relay}} {| style="width: 800px;" |- | ==目的== 本教程将教大家如何使用继电器来控制一个相对大电流的电器(...") |
(→原理图) |
||
第43行: | 第43行: | ||
==原理图== | ==原理图== | ||
[[File:第三十七课-Microduino控制继电器开关原理图.jpg|600px|center|thumb]] | [[File:第三十七课-Microduino控制继电器开关原理图.jpg|600px|center|thumb]] | ||
+ | |||
其中: | 其中: | ||
− | + | *继电器线圈一端接 +5V,线圈的另一端 (蓝线) 接到 NPN 晶体管的集极 (Collector) | |
− | |||
− | |||
− | + | *把整流二极管并联到线圈上,注意整流二极管有方向性,有标示的一端要朝向电源(本例中如果没有整流二极管,就以发光二极管代替) | |
− | + | *NPN 晶体管的发射极 (Emitter) 接到 GND,然後基极 (Base) 串联一个 1k 电阻连接Microduino 的 pin 13 | |
− | + | *电机正极 (紅線) 接到继电器 NO 端,负极 (黑线) 接到 GND | |
− | + | *另外用一个相对大的电源正极接线到继电器的COM端(本教程使用的是两个18650电池串联产生7.4V电压) | |
+ | *最后,把按钮的一支脚接到+5V,另一只脚接到pin2同时接一个10K的电阻接到GND,这样就完成了 | ||
==程序== | ==程序== |
2014年3月6日 (四) 05:05的版本
Language | English |
---|
目的本教程将教大家如何使用继电器来控制一个相对大电流的电器(本例用的是从旧的VCD里卸下的光驱电机) 设备
继电器介绍: 当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 大多数的继电器如上图所示,有5个引脚的,有6个引脚的,本教程使用的是5个引脚的,它们之间的区别就在于6个引脚继电器有两个com引脚,接电路的时候你接哪个都可以,5个引脚继电器只有一个com引脚,下面来介绍几点起的引脚: 如上图中间的黄色示意图,把继电器的底部引脚冲这你。 NC 是 Normal Closed NO 是 Normal Open COM 是 Common
原理图其中:
程序/*
* 用继电器控制电机
*/
const int buttonPin = 2; // 按钮(pushbutton)
const int relayPin = 13; // 继电器(Relay)
int relayState = 0; // 继电器状态
void setup()
{
Serial.begin(9600); // 开启 Serial port, 波特率 9600 bps
pinMode(buttonPin, INPUT); // 把 buttonPin 设置成 INPUT
pinMode(relayPin, OUTPUT); // 把 relayPin 设置成 OUTPUT
}
void switchRelay()
{
if (relayState == 0)
relayState = 1; // 把继电器状态改为 ON
else
relayState = 0; // 把继电器状态改为 OFF
digitalWrite(relayPin, relayState); // 切换开关
Serial.print("Relay status: "); // 串口输出继电器状态
Serial.println(relayState);
}
void loop()
{
int buttonState;
// 读取按钮状态
buttonState = digitalRead(buttonPin);
// 检查按钮是否按下(pressed)
// 有的話,buttonState 會是 HIGH
if (buttonState == HIGH) {
switchRelay(); // 切换继电器开关
delay(500); // 延迟0.5秒
}
}
调试步骤一:把代码复制到IDE中,编译 步骤二:电路连接如下图: 步骤三:运行代码 步骤四:按下开关,看电机是否转动。 结果按下开关,继电器处于Normal Open(NO)状态,电机转动,再按下按钮开关,继电器切换回Normal Closed(NC)状态,电机停止 视频 |