arduino简要总述(控制LED及220V节能灯)
- Arduino
- ArduinoIDE下载安装
- Arduino UNO R3 开发板介绍
- Atmel atmega 328微控制器
- 端口
- 数字输入输出端口
- 端口0和端口1
- 模拟输入端口
- 模拟输出端口(~11等)
- 什么是数字信号及模拟信号?
- 数字输出控制LED(2V)
- 电路
- Arduino数字控制LED程序
- 串口通信控制led灯(2v的)
- 串口通信
- Arduino串行通信控制LED程序
- Arduino控制继电器(弱电控制强电)
- 继电器结构原理图
- 应用例子
- 1、继电器模块
- 2、接线
- 3、 在Arduino IDE中写个Arduino程序控制继电器模块
- Arduino学习路径
Arduino
http://www.taichi-maker.com/homepage/reference-index/arduino-hardware-refrence/
- Arduino是一款简单易学且功能丰富的开源平台,包含硬件部分(各种型号的Arduino开发板)和软件部分(Arduino IDE)以及广大爱好者和专业人员共同搭建和维护的互联网社区和资源(太极创客只是沧海中的一粟)。
- Arduino硬件部分可以独立工作,也可以与外部硬件设备协同工作。比如利用Arduino配合各种传感器来感知环境,使用Arduino控制电机来驱动机械臂、机器人和无人机,您更可以用Arduino来控制多彩的LED,这不仅可以为我们生活带来便利还可让我们用光和彩进行创作。可以说Arduino像我们的小助手,帮助我们完成一个又一个酷炫的创客项目。
- Arduino IDE软件是Arduino开发板的程序开发环境。你只要在IDE中编写好程序代码,并且将程序上传到Arduino后,Arduino就会根据你的吩咐执行交给他的任务了。Arduino开发语言是基于C/C++的。假如您已经具备这方面的编程基础,那么您可以马上开始Arduino的开发和使用。假如您对它还不太了解,那么也没有关系,因为C/C++语言可以说是当今最通用的编程语言之一,学习它的难度也没有您所想象的那么大。事实上,很多刚开始接触编程的朋友所学习的第一门编程语言就是C/C++。
Arduino开发板有很多种,常见的有Arduino UNO R3、arduino Nano、 arduino mega三种。
http://www.taichi-maker.com/homepage/reference-index/arduino-hardware-refrence/arduino-purchase-advice/
ArduinoIDE下载安装
Arduino的官方网站
https://www.arduino.cc/
安装完成后的界面打开如下:
Arduino UNO R3 开发板介绍
Atmel atmega 328微控制器
其核心为Atmel atmega 328微控制器,程序都是上传到微控制器,通过微控制器控接收外接信号及输出信号
端口
数字输入输出端口
端口0和端口1
在数字输入输入输出端口中呢
有两个端口比较特殊
他们是端口0和端口1
我们看到端口0旁边写着两个字符
rx 端口一写着 tx
这两个端口呢是arduino用来
和电脑进行传输数据使用的
这两字数字端口是专门用来和电脑进行数据传输用的,后续可以使用HC-06蓝牙模块与此链接,通过蓝牙与arduino进行通信
注意,端口0,1一旦被占用,电脑和arduino即便还用usb接口链接,也无法互传数据了,电脑无法向arduino开发板上传程序
模拟输入端口
模拟输入端口可以用来接收模拟信号,如传感器的信号(含有多种状态),此处接收的模拟信号范围是(0~1023)
模拟输出端口(~11等)
可以看到数字输入输出端口的地方有 标识的如11、10等都是可以输出模拟信号的(输出范围0255)
什么是数字信号及模拟信号?
数字信号只有两种状态,打开关闭
模拟信号有多种状态
看一个电扇的例子:
若数字信号控制电扇,可以打开,关闭
若模拟信号控制,可以控制开启关闭及速度,0表示关闭,255表示全开,中间的如200为控制风扇的速度
数字输出控制LED(2V)
电路
Led与arduino连接如下(为防止此led被烧坏(此led工作电压2V),需加入电阻)
电路图如下:
对LED点亮的时候如下:
Arduino数字控制LED程序
// the setup function runs once when you press reset or power the board
void setup() {// initialize digital pin LED_BUILTIN as an output.(引脚5设置为输出模式)pinMode(5, OUTPUT);
}// the loop function runs over and over again forever
void loop() {digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)(引脚5输出高电平)delay(1000); // wait for a seconddigitalWrite(5, LOW); // turn the LED off by making the voltage LOW(引脚5输出低电平)delay(1000); // wait for a second
}
串口通信控制led灯(2v的)
串口通信
http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/serial/
Arduino串行通信控制LED程序
char serialData; //定义字符类型变量void setup() {Serial.begin(9600); //启动串口通讯,传输波特率9600pinMode(11, OUTPUT); //11引脚连接演示用LED(设定11号引脚为输出模式)}void loop(){if( Serial.available()>0 ){ //检查串口缓存中是否有数据等待读取serialData = Serial.read(); //读取串口缓存中等待的字符if (serialData == '1' ) { //接收到点亮LED指令Serial.print("Got command: ");
Serial.println(serialData); Serial.println("LED-ON");digitalWrite(11, HIGH); //点亮LED指令} else if (serialData == '0' ){ //接收到熄灭LED指令Serial.print("Got command: "); Serial.println(serialData); Serial.println("LED-OFF");digitalWrite(11, LOW); //熄灭LED指令 } }
}
Arduino控制继电器(弱电控制强电)
参考链接:
http://www.elecfans.com/kongzhijishu/kongzhidianlu/576750.html(arduino控制继电器文档-重要必看)
https://www.bilibili.com/video/av883782212(视频)
https://www.bilibili.com/video/av669036085(视频)
继电器结构原理图
典型的继电器结构原理图如下:
继电器有一个输入回路,一般接低压电源,有一个输出回路,一般接高压电源。
输入回路中有一个电磁铁线圈,当输入回路有电流通过,电磁铁产生磁力,吸力使输出回路的触点接通,则输出回路导电(通)。
当输入回路无电流通过,电磁铁失去磁力,输出回路的触点弹回原位,断开,则输出回路断电(断)。
产品介绍:
本模块5V继电器,低电平触发
产品介绍:
1. 本模块符合国际安全标准,控制区域与负载区域有隔离槽;
2. 采用松乐正品继电器;
3. 具有电源和继电器动作指示,吸合亮,断开不亮;
4. 信号输入端有信号时,公共端与常开端会导通;
5. 可以用作单片机开发板模块,可以用作家电控制;
6. 控制直流或者交流信号,可以控制220V交流负载;
7. 有一个常开和一个常闭触点;
8. 蓝色KF301端子接控制线更方便。
高电平触发指的是信号输入端与地之间有电压的触发方式,可以理解为信号输入端与VCC正极短路触发的一种方式; 低电平触发指的是信号输入端与地之间的电压为OV的触发方式,可以理解为信号输入端与GND负极短路触发的一种方式
应用例子
用单片机去打开或关闭一个电压220V的电灯,由于单片机工作在5V, 而电灯是220V,因此需要由单片机控制一个继电器,通过控制这个继电器充当电灯的开关。
继电器的输出回路一般有三个触点,中间的触点是动触点(公共端),其它两个触点是静触点。
输入回路不通电时,动触点(公共端)总是和一个静触点断开(称为常开),与另一个静触点闭合(称为常闭)
输入回路通电后,原来闭合的成断开状态。即:动触点(公共端)与和常开触点闭合,与常闭触点断开。
1、继电器模块
2、接线
用三根杜邦线把继电器模块的三个管脚接到开发板上,其中“-”
脚接GND
, ‘+’
脚接5V
, S
脚接 D3
。
3、 在Arduino IDE中写个Arduino程序控制继电器模块
程序:
int pinRelay = 3; //管脚D3连接到继电器模块的信号脚void setup() {pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态}void loop() {digitalWrite(pinRelay, LOW);//输出LOW电平,继电器模块(打开)(低电平触发)delay(5000); //等待5000毫秒digitalWrite(pinRelay, HIGH);//输出HIGH电平,继电器模块(关闭)delay(8000); //等待8000毫秒}
运行效果:
蜂鸣器“pa”一声,闭合,持续5秒。(此时用万用表测量 常开变成闭合, 常闭变成断开)
蜂鸣器“pi”一声,断开,持续8秒。(此时用万用表测量 常开变回断开, 常闭变成闭合)
Arduino学习路径
太极创客
网站:http://www.taichi-maker.com/
B站视频:https://space.bilibili.com/103589285