看完相当于学过并实践用过arduino!——复现arduino开发板的众多小实验
Posted 天下0325
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了看完相当于学过并实践用过arduino!——复现arduino开发板的众多小实验相关的知识,希望对你有一定的参考价值。
吃饱喝足,回学校了。今天到了arduino开发板和一整套学习工具,马上就回宿舍开始学习,直播更新
回到宿舍吃点补品就开始啦。
首先是开箱,整个箱子的图片就不拍了,是一个塑料盒子。里面包含一本教材和各种硬件材料。
上面图中就是一部分硬件材料,包含电池/纽扣电池、诸多杜邦线、一块面包板和一块应该是用来定位的板子。
然后就是这里面的一块核心开发板,这块板是arduino的升级版,能兼容arduino,相当于是个多了几个功能的arduino plus,它的名字叫ZYDUINO。
还有附带的两条连接线,一条是usb数据线,用来供电/下载;另一条是带电池扣的DC电源供电线。
上面是第一包零件包
根据其中的编号分别是
1、液晶模块
2、超声波模块
3、AD/DA转换模块
4、显示屏
5、湿度传感器模块
6、角度舵机
7、时钟传感模块
8、气压传感器模块
9、温度传感器模块
10、射频读卡模块
11、不知道是什么
12、风扇
现在是20:17,从发帖到现在居然已经过去一小时了,深感时间流逝之快,突然有点事情,等会再更。
🆗,事情办完了,现在是20:44,继续学习。
接下来一边吃石榴,一边打开了第二包零件,里面有27个电子元件,我们分两张图来说明
图中按编号来分别是:
1、红外遥控器
2、烟雾传感器
3、电位器传感器
4、继电器
5、火焰传感器
6、电位器传感器
7、倾斜开关传感器
8、声音传感器
9、雨滴传感器
10、U型光电传感器
11、有源蜂鸣器
12、360旋转传感器
1、振动传感器
2、激光传感器
3、轻触开关
4、光敏电阻传感器
5、红外避障
6、无源蜂鸣器
7、双色LED灯
8、IR接受模块
9、RGB LED传感器
10、干簧管传感器
11、红外循迹模块
12、触摸传感器
13、模拟温度传感器
14、七彩LED灯
15、霍尔开关传感器
上面三组电子模块,大多都是传感器,也符合单片机的基本工作流程:接受信息——处理信息——发出信息,拆这些电子模块还真花了不少时间,因为每一个都是单独装的,现在已经来到了九点一刻。
接下来就是开发软件的下载了,arduino有专门的开发软件叫做arduino IDE,可以在官方网站https://www.arduino.cc/en/Main/Software免费下载。下面就讲一讲如何安装arduino IDE
第一步在这个地方选择你需要的文件下载,我下载的是windows版本的软件压缩包,点进去后会问你想不想要捐款,不要把界面误认为购买了哦。
下载地有点慢,趁这个时候,去洗个澡。不过下载确实很慢,要一个多小时,洗完澡还没下载完
这个是解压后的文件,双击图中这个arduino.exe文件就可以用了,当然这个仅限于电脑上已经有JAVA驱动的同学,如果没有呢,那可以下载安装程序,会自动安装对应的驱动。
对于ZYduino开发板,还需要下载另外的驱动CH341SER.exe,在商家提供的资料里面有,当然在网上也能直接找到
进去点安装就可以了
这个时候就用USB数据线连接你的电脑和板子
然后打开设备管理器
如果在端口中能看到这个东西,就说明已经成功了,你的电脑能识别出你的板子。
现在我已经成功了,那我们就开始第一个实验吧!
一、双色LED实验
先看一下双色灯的原理图和代码吧
int redpin=11;
int greenpin=10;
int val=0;
//设定两个引脚,初始化val值
void setup() {
pinMode(redpin,OUTPUT);
pinMode(greenpin,OUTPUT);
//设定引脚模式,表示10,11串口都是输出电的
Serial.begin(9600);
//设定波特率
}
//以下两个for循环表示val从0累加到255,再从255回到0
//println表示在助手中打印val的值
//analogWrite表示在这个口输出某电压,电压值0到5v,对应val0到255
//delay函数表示延迟多少毫秒,在延迟固定的时间后进入下一次循环
void loop() {
for(val=255;val>0;val--)
{
analogWrite(redpin,val);
analogWrite(greenpin,255-val);
Serial.println(val,DEC);
delay(30);
}
for(val=0;val<255;val++)
{
analogWrite(redpin,val);
analogWrite(greenpin,255-val);
Serial.println(val,DEC);
delay(30);
}
}
看了注释之后大家应该明白了,这个程序的意思就是让10,11引脚输出高电压,只不过一个升高另一个就降低,两个以同样的速度升高降低。
我们再来看一下双色二极管的电路原理图
这个电路图非常简单,就不多做解释了。也就是说当R端连接11引脚,G端连接10引脚时,两个二极管各自两端的电压会从高到低再从低到高变化,当高于导通电压时,二极管发光,这时另一个二极管电压可能不足导通电压,此时表现出红或绿色。当val值在255/2左右时,可能两个二极管都导通,出现混色的情况。
这个实验正是这样连接,同时让K端接地(GND端),达到红绿轮流亮的效果。
注:在编译器界面右上角可以打开助手
这个放大镜就是了
2、RGBLED实验
原理跟上一个差不多,没什么好讲的
元件的电路原理图展示一下
也就是说要给rgb三个脚不同的电压来控制这个器件中红绿蓝三原色的配比,以表现出不同的电压。
一种思路是设置一个color函数,传三个数据进去,三个数据分别表示r、g、b的电压,
color(int r,int g,int b)
{
analogWrite(rpin,r);
analogWrite(gpin,g);
analogWrite(bpin,b);
}
也是很轻松就完成了
3、七彩LED灯
七彩更简单,只需要将元件连接正负极就可以了,然后就会自动闪烁
舍友已经睡觉了,不能打扰人家,我到客厅继续学习了。
虽然非常简单,写给新手看应该也能帮助到人吧。
4、继电器实验
继电器我们在中学里面就学过,原理是利用磁力控制开关的开闭,这套里面的继电器模块能用led灯展示各种运行状态。
上面是这个继电器模块的原理图
可以看到就算不加信号端SIG,D0灯也会亮,表示元件正常通电。当SIG输入高电平时,三极管导通并且给线圈通电,触发继电器,同时D1灯发光;输入低电平时,不会触发,继电器复位。
int delaypin=7;
void setup() {
pinMode(delaypin,OUTPUT);
}
void loop() {
digitalWrite(delaypin,HIGH);
delay(2000);
digitalWrite(delaypin,LOW);
delay(500);
}
通过这样的代码可以听出两种不同的状态(一个时间长,一个时间短)。设置的7号端口就是信号端,连接SIG(或者in),另外两个vcc,gnd(dc+,dc-)则按惯例连接电池正负极。
这样继电器控制就做好了。
已经一点了,就先睡觉啦。
以上是关于看完相当于学过并实践用过arduino!——复现arduino开发板的众多小实验的主要内容,如果未能解决你的问题,请参考以下文章
IOT实战案例--ESP32开发板跑通Arduino环境blink.....