Arduino Mixly入门到精通教程

实验器材

af0934944994470893081c8510f97c45.png fd2833d804024a5bbbd4769021ce6891.png 5828c9873dae43709c1941a23d18eb75.png c1c5fbc4321342d093a4d077ab856fe9.png b8e380bce4e0457e9c6ac7115f1651bf.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 130电机模块*1 4P XH-2.54mm 黑红蓝黄硅胶线*1 USB线*1

接线图

7670a4b32d0341f08b062046ad0ca475.png

测试代码

0a7979d42694490a821cbade8b533149.png

代码说明

实验中,先在我们导入的库 sensor下的数字输出单元找到130电机即风扇模块10f62d7075e74b569d8be7a4dad8d242.png我们这里电机IN+接模拟口A0,IN-接模拟口A13825d0ccab514bee84b789dd19846c82.png,所以我们把管脚INA设置为A0,INB设置为A1,INA设置为高且INB设置为低时(A0~A7模拟口也可做数字口用),模块上电机逆时针旋转;INA设置为低且INB设置为高时,模块上电机顺时针旋转;INA设置为低且INB设置为低时,模块上电机停止转动。

测试结果

烧录好测试代码,按照接线图连接好线;上电后,风扇逆时针转动2秒;停止2秒;顺时针转动2秒;停止2秒;循环交替。

542901d7841d47dda966e6685eed0a62.png

实验十六  插件RGB模块调节LED颜色

d4a5417d02984ffbb4397f57b56be248.png

实验说明

21bb9d92de6b4096931b0a840c532765.png在这个套件中,有一个 DIY电子积木 共阴RGB模块,它采用F10-全彩RGB雾状共阴LED元件。控制时,我们需要将模块R G B连接单片机PWM口,剩下那个管脚接GND(共阳RGB的话剩下那个管脚接VCC)。那么什么是PWM呢?PWM是使用数字手段来控制模拟输出的一种手段。使用数字控制产生占空比不同的方波(一个不停在高电平与低电平之间切换的信号)来控制模拟输出。一般来说端口的输入电压只有两个0V与5V,也就是低电平和高电平。如果想要改变灯的亮度怎么办呢个?有同学说串联电阻,对,这个方法是正确的。但是,如果想要得到不同的亮度,且在不同亮度之间来回变动怎么办呢?不可能不停地切换电阻吧。这种情况下就需要使用PWM了,那它是怎么控制的呢?

对于Arduino的数字端口电压输出只有LOW与HIGH两个,对应的就是0V与5V的电压输出,可以把LOW定义为0,HIGH定义为1,1秒内让Arduino输出500个0或者1的信号。如果这500个全部为1,那就是完整的5V,如果全部为0,那就是0V。如果010101010101这样输出,刚好一半,端口输出的平均电压就为2.5V了。这个和放映电影是一个道理,咱们所看的电影并不是完全连续的,它其实是每秒输出25张图片。在这种情况下,人的肉眼是分辨不出来的,看上去就是连续的了。PWM也是同样的道理,如果想要不同的电压,就控制0与1的输出比例控制就可以了。当然这和真实的连续输出还是有差别的,单位时间内输出的0,1信号越多,控制的就越精确。

实验中,我们通过测试代码,控制模块上RGB  LED显示几个常用颜色。

实验原理

那么我们这个实验就是要通过调节3个PWM值,控制LED元件显示红光、绿光和蓝光的比例,从而控制RGB模块上LED显示不同颜色灯光。当设置的PWM值越大,对应显示的颜色比例越重。理论上来说,通过调节这3中颜色光的混合比例,可以模拟出所有颜色的灯光。

eafca12aa50d4e30ae7d1a32f8cc56ca.png

实验器材

df577f5ff7e04464af27cf325b079446.png 61c2a355f432425286f38e12d8ce3bdd.png 2dd3348a93d242b6bd28ed8620a47ad9.png 3cfafbec6c7249158b43afc0e2c875e8.png 688d7499dfcb4eb3ae605a9bcdbf3fbb.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 共阴RGB模块*1 4P XH-2.54mm 黑红蓝黄硅胶线*1 USB线*1

接线图

16ed7259e0c141c3b4ff6bb03eae010b.png

测试代码

代码1:

cf9e3ec969d940f9a0b24847d79c8a2f.png

代码2:

e8c0340a4ddd4e0a880836fc3129f3a1.png

代码说明

代码1说明:

  1. 在我们导入的库 sensor下的数字输出单元找到共阴RGB模块eadefec2d3554f6d8282e71bc102656b.png我们这里R接数字口9,G接数字口10,B接数字口11,所以我们将管脚设置为。

,其中R G B代表控制模块上 LED对应的红绿蓝3种颜色对应的端口,根据接线图我们接到了D9 D10 D11,设置为9 10 11,后面设置对应高低,设置RGB LED中红绿蓝3个灯是否会亮,设置为高db7766d4947041af8c2c3597a1cb5d71.png(共阴RGB对应数字口为高电平,共阳则相反),对应的颜色就亮。

  1. 现在观察代码,这个代码非常简单,只是简单的控制模块上RGB LED显示红色1秒、  绿色1秒、蓝色1秒,循环交替。

代码2说明:

同样在我们导入的库 sensor下的数字输出单元找到共阴RGB模块5165d93f6b1045e4945cad2ddedee325.png我们这里R接数字口9,G接数字口10,B接数字口11,所以我们将管脚设置为6f6f679c376e48249b425c1d0e6b2e82.png。后面设置数据代表设置模块上LED 红绿蓝颜色的比例,设置的数据越大(对应的PWM值越大),设置该颜色的比例越大。

2.实验中我们通过参考下方常用RGB颜色表设置对应数值,调节RGB LED上红绿蓝颜色比例,从而控制RGB LED显示对应颜色。

常用RGB颜色表

R G B R G B R G B
黑色 0 0 0 黄色 255 255 0 浅灰蓝色 176 224 230
象牙黑 41 36 33 香蕉色 227 207 87 品蓝 65 105 225
灰色 192 192 192 镉黄 255 153 18 石板蓝 106 90 205
冷灰 128 138 135 dougello 235 137 85 天蓝 135 206 235
石板灰 112 128 105 forum gold 255 227 132
暖灰色 128 128 105 金黄色 255 215 0 青色 0 255 255
黄花色 218 165 105 绿土 56 94 15
白色 255 255 255 瓜色 227 168 105 靛青 8 46 84
古董白 250 235 215 橙色 255 97 0 碧绿色 127 255 212
天蓝色 240 255 255 镉橙 255 97 3 青绿色 64 224 208
白烟 245 245 245 胡萝卜色 237 145 33 绿色 0 255 0
白杏仁 255 235 205 桔黄 255 128 0 黄绿色 127 255 0
cornsilk 255 248 220 淡黄色 245 222 179 钴绿色 61 145 64
蛋壳色 252 230 201 翠绿色 0 201 87
花白 255 250 240 棕色 128 37 37 森林绿 34 139 34
gainsboro 220 220 220 米色 163 148 128 草地绿 124 252 0
ghostWhite 248 248 255 锻浓黄土色 138 54 15 酸橙绿 50 205 50
蜜露橙 240 255 240 锻棕土色 135 51 36 薄荷色 189 252 201
象牙白 250 255 240 巧克力色 210 105 30 草绿色 107 137 35
亚麻色 250 240 230 肉色 255 125 64 暗绿色 48 128 20
navajoWhite 255 222 173 黄褐色 240 230 140 海绿色 46 139 87
old lace 253 245 230 玫瑰红 188 143 143 嫩绿色 0 255 127
海贝壳色 255 245 238 肖贡土色 199 97 20
雪白 255 250 250 标土棕 115 74 18 紫色 160 32 240
乌贼墨棕 94 38 18 紫罗蓝色 138 43 226
红色 255 0 0 赫色 160 82 45 jasoa 160 102 211
砖红 156 102 31 马棕色 139 69 19 湖紫色 153 51 250
镉红 227 23 13 沙棕色 244 164 96 淡紫色 218 112 214
珊瑚色 255 127 80 棕褐色 210 180 140 梅红色 221 160 221
耐火砖红 178 34 34
印度红 176 23 31 蓝色 0 0 255
栗色 176 48 96 钴色 61 89 171
粉红 255 192 203 dodger blue 30 144 255
草莓色 135 38 87 jackie blue 11 23 70
橙红色 250 128 114 锰蓝 3 168 158
蕃茄红 255 99 71 深蓝色 25 25 112
桔红 255 69 0 孔雀蓝 51 161 201
深红色 255 0 255 土耳其玉色 0 199 140

测试结果

上传测试代码1成功,上电后,模块上RGB LED循环显示红绿蓝3种颜色,间隔时间为1秒。上传测试代码2成功,上电后,模块上RGB LED显示红橙黄绿蓝青紫白7种颜色,循环不止,间隔时间为1秒。

d9ce143413174bd795eeca36af675a88.png

实验十七  旋转电位器传感器读取模拟值

5cf40a3a5527435c86017aa7da142d1c.png

实验说明

前面我们学习过的传感器,都是数字传感器,在这个套件中,有一个 DIY电子积木 旋转电位器传感器,它与我们前面学到的传感器不同,它是一个模拟传感器,意思是例如我们前面学习的按键模块,当按键没有按下去时,我们读取到高电平(5V),当按键按下去时,我们读取到低电平(0V),而在05V中间的电压值,我们数字IO口无法读取到,当然按键模块也只能输出高低电平。而模拟传感器就可以通过我们plus板上的模拟口(A0A7)读取。

实验中,我们利用这个模块测试对应的模拟值;并且,我们在串口监视器上显示测试结果。

实验原理

66cb49773cee418caab1d6f7be332be3.png我们学过滑动变阻器的就很好理解,随着滑动变阻器上的滑片移动,滑片上的电压随着改变。我们的旋转电位器原理也是如此,它主要采用一个10K可调电阻。通过旋转电位器,我们可以改变电阻大小,信号端S检测到电压变化(05V),而这个电压变化是一个连续变化的模拟量,也就是在05V内可以取任意值,我们必须先对这个模拟量进行ADC采集,来测量连续的这些模拟量,A/D 是模拟量到数字量的转换,依靠的是模数转换器(Analog to Digital Converter),简称ADC。我们的plus开发板已经集成了ADC采集,我们直接使用就可以。

我们plus开发板与UNO开发板的ADC位数都是10位,一个 n 位的 ADC 表示这个 ADC 共有 2 的 n 次方个刻度。10 位的 ADC,输出的是从 0~1023 一共 1024 个数字量,也就是 2 的 10 次方个数据刻度,那么每个刻度就是5V/1024=0.0049V,这个也叫分辨率。

实验器材

d0803225e4df478984ac5ac1ddffcc13.png 78a7e2cb9e6c4353a1131e3978355e33.png 6278571e4a264c0298e3846d695e81d9.png 9be15ffb6b75482092d11ccba5e873bb.png a84db4b632044cfcb17cc91e8d328ad6.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 旋转电位器传感器*1 3P XH-2.54mm 黑红蓝硅胶线*1 USB线*1

接线图

9bb210e90af64f38864578a78da77069.png

测试代码

0b25ee6412f0431796aba571db0011f5.png

代码说明

  1. 在实验中,我们需要像前面学习的一样,创建一个整数变量item。

c89b75b8427e451cb66495013e657157.png

  1. 我初始化波特率设置,事实上我们这里不用手动初始化波特率也是可以的,当我们使用到串口打印时,代码块已经自动设置了。

  2. 在我们导入的库 sensor下的“模拟输入”单元找到旋转电位器模块b975a5eaa19b4510802c02d1c05b0e4f.png我们这里管脚接模拟口A0,所以我们不用更改。

  3. 读取的模拟值赋给变量item,串口监视器显示item的值,(我们默认设置为9600,可更改)。

  4. 延时100ms

测试结果

上传测试代码成功,利用USB线上电后,打开串口监视器,设置波特率为9600。串口监视器显示对应模拟值。实验中,顺时针旋转电位器,模拟值增大,逆时针旋转电位器,模拟值减小,范围为0-1023,如下图。43a1e05e71b64712a4dc0e7f13997983.png

4d6c9f60f83049a18af8baae8fdf37ca.png

实验十八水滴水蒸气传感器

7dd78c1488f14753aa3041a76331ace1.png

实验说明

这是一个 DIY电子积木 水滴传感器。它是一个模拟(数字)输入模块,也叫雨水、雨量传感器。可用于各种天气状况的监测,检测是否下雨及雨量的大小,转成数字信号(DO)和模拟信号(AO)输出,并广泛应用于Arduino 机器人套件,雨滴,下雨传感器,可用于各种天气状况的监测,并转成数定信号和 AO 输出,也可用于汽车自动刮水系统、智能灯光系统和智能天窗系统等。

实验中,我们将传感器信号端(S端)输入到plus 开发板的模拟口,感知模拟值的变化,并在串口监视器上显示出对应的模拟值。

实验原理

它的原理是通过电路板上裸露的印刷平行线检测水量的大小。水量越多,就会有更多的导线被联通,随着导电的接触面积增大,2脚输出的电压就会逐步上升。信号端S检测的模拟值就越大。除了可以检测水量的大小,它还可以检测空气中的水蒸气。传感器自带2个直径为4.8mm的定位孔,方便你将传感器固定在其他设备。

cb2798c8fb7e45edaf1cb3b47887676c.png

实验器材

90d958f16170487ab24856bba74d33dc.png 4409d8d8ed4a4218bcf577792038e033.png e65e2340d4ed4a3f9c59671120b372d3.png c522f7e938fd4094a75c313071a7948d.png ca18cee530ae4e5da20a2fd1475dfdac.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 水滴传感器*1 3P XH-2.54mm 黑红蓝硅胶线*1 USB线*1

接线图

6d01e73ec4f74972a57b622a24d3605d.png

测试代码

f9f512537183432687a23fa33dc5890c.png

代码说明

  1. 在实验中,我们需要像前面学习的一样,创建一个整数变量item。

4d404dbfb6fb406db05ee58566d14dce.png

  1. 我初始化波特率设置,事实上我们这里不用手动初始化波特率也是可以的,当我们使用到串口打印时,代码块已经自动设置了。

  2. 在我们导入的库 sensor下的“模拟输入”单元找到水蒸气传感器模块8b01f15a20a74a74ba0cce55001dbd5f.png我们这里管脚接模拟口A0,所以我们不用更改。

  3. 读取的模拟值赋给变量item,串口监视器显示item的值,(我们默认设置为9600,可更改)。

  4. 延时100ms

测试结果

烧录好测试代码,按照接线图连接好线;利用USB接口上电后,进入串口监视器,设置波特率为9600。当水蒸气传感器上检测到水分时,输出的模拟值在串口监视器显示出来,水分越多,模拟值越大,如下图。

24ad0525b0f34d6f8ad4ed041cae2989.png

f55c082dd47d4ad2918eda56ac2ca626.png

实验十九  声音传感器检测声量

86f8986d70ab404d90cf4cac8d034a0b.png

实验说明

在这个套件中,有一个 DIY电子积木 声音传感器,实验中,我们利用这个传感器测试当前环境中的声音大小对应的模拟值,声音越大,模拟值越大;并且,我们在串口监视器上显示测试结果。

实验原理

它主要采用一个高感度麦克风元件和LM386芯片。高感度麦克风元件用于检测外界的声音。利用LM386芯片搭建合适的电路,我们对高感度麦克风检测到的声音进行放大,最大倍数为200倍。使用时我们可以通过旋转传感器上电位器,调节声音的放大倍数。调节时,顺时针调节电位器到尽头,放大倍数最大。

b3299e60e15448738c37d136a6073da9.png

实验器材

b3f4961d9feb4770b4a47141cd41a185.png 9b22f2f156db457e9d3d24105b41a81b.png 4d31deef5d924d9f891905bd837ca6e0.png 66e8579baa5c46ccbde4dcbb8b84fbec.png 4a2c73f571064def917312a210507fb9.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 声音传感器*1 3P XH-2.54mm 黑红蓝硅胶线*1 USB线*1

接线图

ea883076a6be4159bde8d4023bbebe96.png

测试代码

44becc78ef634fd39199b711effe1cdf.png

代码说明

  1. 在实验中,我们需要像前面学习的一样,创建一个整数变量item。

a08b95d1a76a40238d5eab04dadb820b.png

2 在我们导入的库 sensor下的“模拟输入”单元找到声音传感器模块780c94e3b1ae4a9b9db00f025dd598ec.png我们这里管脚接模拟口A0,所以我们不用更改。

  1. 读取的模拟值赋给变量item,串口监视器显示item的值,(我们默认设置为9600,可更改)。

测试结果

上传测试代码成功,利用USB线上电后,打开串口监视器,设置波特率为9600。串口监视器显示对应模拟值。实验中,我们顺时针旋转电位器和对准MIC头大声说话,可以看到模拟值数据变大,如下图。

7bd8162094ef4bbca34cdb2e57325646.png

3728fb6eeb4f48128b5d401e1aceaa2e.png

实验二十  光敏电阻传感器

a063fdd4c014420a897004dfd7c31f15.png

实验说明

在这个套件中,有一个 DIY电子积木 光敏电阻传感器,这是一个常用的光敏电阻传感器,它主要采用光敏电阻元件。该电阻元件电阻大小随着光照强度的变化而变化,该传感器就是利用光敏电阻元件这一特性,搭建电路将电阻变化转换为电压变化。光敏电阻传感器可以模拟人对环境光线的强度的判断,从而方便做出与人友好互动的应用。

接线时,我们将传感器信号端(S端)输入到arduino系列单片机的模拟口,感知模拟值的变化,并在串口监视器上显示出对应的模拟值。

实验原理

当没有亮光时,电阻大小为0.2MΩ,信号端(2点)检测的电压接近0,当随着光照抢度增大,光线传感器的电阻值越来越小,所以信号端检测的电压越来越小。

72b1fb3f7dff4baf847834791e71076d.png

实验器材

43053a84ccfa494f913f516a7f9ca93b.png 191434bfcdb645a197b8573e967ff519.png 1533d2e0af7b482caab70cb14849bb6c.png 84de8454f51f488a84a97040e9090654.png 1d98b103ab894848a181eb39213e3a98.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 光敏电阻传感器*1 3P XH-2.54mm 黑红蓝硅胶线*1 USB线*1

接线图

6324dc124b764fdb9531044eee7fc7ec.png

测试代码

127eb119e3744ef6a7b7750ccdaf39d9.png

代码说明

  1. 在实验中,我们需要像前面学习的一样,创建一个整数变量item。

e5b8b7349566410c910962d3809f4bad.png

2 在我们导入的库 sensor下的“模拟输入”单元找到光敏电阻传感器模块1853159c79dc44a5a8c64784bfba495a.png我们这里管脚接模拟口A0,所以我们不用更改。

  1. 读取的模拟值赋给变量item,串口监视器显示item的值,(我们默认设置为9600,可更改)。

测试结果

烧录好测试代码,按照接线图连接好线,利用USB线上电后,打开软件串口监视器,设置波特率为9600,我们可以看到对应光照强度的模拟值,光照越强,模拟值越大,如下图。

affe711af0054477a63628a937934dff.png

130c865705654c0bb6935c81d02b9678.png

实验二十一  NTC-MF52AT模拟温度传感器

0dd7621867d94fb1999c16cf1e7d7432.png

实验说明

在这个套件中,有一个 DIY电子积木 NTC-MF52AT模拟温度传感器,它的原理像光敏电阻传感器,只是感应的器件不同,实验中,我们将传感器信号端接到 Uno Plus 开发板模拟口,读出对应的模拟值。我们可以利用模拟值,通过特定公式,计算出当前环境的温度。由于温度计算公式比较复杂,这里就不多介绍了。实验中,我们只是读取对应的模拟值。

实验原理

这个模块主要采用NTC-MF52AT热敏电阻元件。NTC-MF52AT热敏电阻元件能够时感知周边环境温度的变化,电阻大小随着温度的变化而变化,从而引起信号端S的电压变化。该传感器就是利用NTC-MF52AT热敏电阻元件这一特性,搭建电路将电阻变化转换为电压变化。

239adebde4634af197f99f4d20f03874.png

实验器材

43053a84ccfa494f913f516a7f9ca93b.png 191434bfcdb645a197b8573e967ff519.png 1d1cc74c918c418382182c523855b57f.png 84de8454f51f488a84a97040e9090654.png 1d98b103ab894848a181eb39213e3a98.png
Uno Plus 开发板*1 传感器扩展板*1 DIY电子积木 光敏电阻传感器*1 3P XH-2.54mm 黑红蓝硅胶线*1 USB线*1

接线图

c64edde084f9432f91ef00ef0d201e3f.png

测试代码

b8cf2989029443f7a1389eb1533d9c6f.png

代码说明

  1. 在实验中,我们需要像前面学习的一样,创建一个整数变量item。

c682725be2d24420afebcbe3f7d35df0.png

2 在我们导入的库 sensor下的“模拟输入”单元找到模拟温度传感器模块3374c81012374ce7aa4700c27f5c2643.png我们这里管脚接模拟口A0,所以我们不用

  • 26
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mixly是一款基于图形化编程的Arduino编程软件,它以简洁直观的界面和丰富的功能,使得编程变得更加易学易用。下面是一些学习Mixly入门精通的步骤和内容: 第一步,入门:首先,我们需要下载和安装Mixly软件,然后学习基本的图形化编程概念和操作方式。我们可以通过一些简单的实例,如控制LED灯的亮灭、驱动舵机等来熟悉Mixly的基本功能。 第二步,深入学习:一旦熟悉了Mixly的基本操作,我们可以开始学习更高级的功能。比如,学习使用传感器模块来获取数据并进行处理,学习使用控制语句和循环结构来实现复杂的逻辑控制,学习使用串口通信和无线通信模块等等。 第三步,进阶应用:当我们掌握了Mixly的基本功能后,可以开始着手一些实际应用项目的开发。比如,可以学习如何设计并实现一个智能小车,如何控制机器人执行某些特定的任务,以及如何设计和编程一些小游戏等等。 最后,精通Mixly:在实践过程中,我们会遇到一些问题和挑战,这些都是学习的机会。通过不断的实践、思考和学习,我们可以逐步提高我们在Mixly中的编程水平,从而达到精通的程度。 需要注意的是,Mixly的学习是一个持续不断的过程,需要不断的实践和探索。学习过程中可以参考一些官方文档和教程,也可以与其他使用者交流和分享经验。通过不断地学习和实践,我们可以逐步掌握Mixly的各种功能和技巧,从而在Arduino编程方面达到精通的水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值