看完相当于学过并实践用过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开发板的众多小实验的主要内容,如果未能解决你的问题,请参考以下文章

场景复现:面试官是如何问我消息队列的?

Github 高级搜索技巧,看看你用过几个?

IOT实战案例--ESP32开发板跑通Arduino环境blink.....

看完一本小的算法书一个总结吧

附Python版教学“那些年用过的奇葩辞职理由”哈哈哈,看完笑掉牙。

一个Arduino最多能同时控制多少个直流电机