找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14673|回复: 226
收起左侧

一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)

[复制链接]
ID:513258 发表于 2019-6-10 13:27 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2019-8-10 07:12 编辑

000.jpg

实验目录(动手做):
一、LED 实验
01 Blink:D13蓝色 LED 闪烁
02 Blink2:D12、D13红蓝色 LED 交替闪烁
03 Blink3:模拟爆闪警灯
04 Breath_LED:D9 全彩 LED 模拟红色呼吸灯
二、按键实验
05 Button:D2 按键控制 D13蓝色 LED
06 Button_Lock:D3 按键控制 D13 蓝色LED 自锁实验
三、电位器实验
07 RS232_AD:串口读取 A0 电位器采集数值(旋转角度270°输出0-3.3V/5V电压信号电位器阻值10K)
08 Rotation_LED:A0 电位器控制 D11 全彩 LED 蓝色端亮度
09 RC_Motor:A0 电位器控制 D7 输出口的舵机控制其转动角度(舵机需自备Arduino 需要外部供电)
四、RGB 全彩 LED 实验
10 LED_RGB_Text:全彩 LED 基本颜色变化
11 LED_RGB:全彩 LED 彩虹变化
五、红外传感器D6实验(红外遥控器需自备)
12 IRrelay:按红外遥控器任意键,可以控制 D13 LED 开关(控制距离1-8米,频率38KHz,兼容市面上大部分红外遥控器)
13 IRrecord:串口显示读取的红外遥控代码
六、温度传感器实验
14 LM35_RS232AD:串口显示 A2 口 LM35 温度传感器读取的温度(可测试室内外温度,范围-50-150°C,灵敏度好)
七、温湿度传感器实验
15 DHT11_Test:串口显示 D4 口 DHT11 温湿度传感器读取的温湿度数据(测温范围0-50°C,湿度范围20%-90%PH)
八、亮度传感器实验
16 Light Sensor:串口显示 A1 口光敏电阻采集的数值
17 Light_LED:A1 口光敏电阻控制 D13 LED 开关(感光比较灵敏,适合教学实验及民用设备)
九、蜂鸣器实验
18 Buzzer:D5 口无源蜂鸣器模拟救护车警笛(可发出简单的音乐声,音乐需要通过程序编写)
十、扩展实验
19 模拟超声波测距传感器(探测类I,IIC/I2C接口)
20 总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
21 TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
22 GY-BMP280-3.3 大气压强高度计传感器模块 ( 数值类,IIC/I2C接口)
23 GY-NEO-6MV2新款飞控GPS卫星信号接收模块 (数值类,TTL接口)
24 5V低电平触发单路继电器模块(执行类,数字D7接口)
25 带驻极话筒4线制声音传感器模块(触发类,数字D7接口)
26 BH1750FVI 数字光强度模块光照传感器(数值类, IIC/I2C接口)
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
28 LCD1602液晶屏模块(输出显示器类, IIC/I2C接口)
29 人体红外热释电运动传感器模块 (触发类,数字D7接口)

回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:28 | 显示全部楼层
扩展板电原理图


00线路图.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:29 | 显示全部楼层
Aduino UNO 9in1 实验扩展板de模块与板载端口:

复位按键(REST)
10K旋转电位器模块(A0)
2路SW按键模块(D2、D3)
Light亮度传感器模块(A1)
LM35D温度传感器模块(A2)
Buzzer无源蜂鸣器模块(D5)
DHT11温湿度传感器模块(D4)
ER Receiver红外接收模块(D6)
1路Analog Port模拟量端口(A3)
RGB全彩LED模块(D9、D10、D11)
2路Digital Port数字量端口(D7、D8)
1个TTL串口(可接入蓝牙或WIFI模块等)
2路3mm LED模块(红色D12、蓝色D13)
1个双向同步串行总线I2C接口(A4 SDA及A5 SCL,可接显示屏等)




3D图.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:31 | 显示全部楼层
扩展板主要特性

优秀PCB设计,美观大方
完全兼容Arduino UNO R3接口
预留了5个扩展端口,可以完成其他模块实验
提供了Arduino初学入门基本实验九种模块
不用焊接,不用连线,直接下载程序就可以完成实验
定制加高排针,不会与UNO板的USB接口接触发生短路
一块板子集成九种模块功能,轻而易举完成18种程序实验
提供所有模块代码库文件,逐一经过测试,直接就可以使用

0000-0.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:34 | 显示全部楼层

01 Blink:D13蓝色 LED 闪烁


  1. /*
  2.   Eagler8实验程序列表
  3.   01 Blink:D13蓝色 LED 闪烁
  4. */

  5. int led = 13;

  6. void setup() {
  7.   pinMode(led, OUTPUT);
  8. }

  9. void loop() {
  10.   digitalWrite(led, HIGH);   
  11.   delay(1000);              
  12.   digitalWrite(led, LOW);  
  13.   delay(1000);              
  14. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:41 | 显示全部楼层
01--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:43 | 显示全部楼层
01-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:48 | 显示全部楼层
本帖最后由 eagler8 于 2019-6-10 14:37 编辑

https://v.youku.com/v_show/id_XNDIyMTkzNzc4NA==.html?spm=a2hzp.8244740.0.0
回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:55 | 显示全部楼层
02 Blink2:D12、D13红蓝色 LED 交替闪烁


  1. /*
  2. Eagler8实验程序列表
  3. 02 Blink2:D12、D13红蓝色 LED 交替闪烁
  4. */
  5.   
  6. int led1 = 12;
  7. int led2 = 13;

  8. void setup() {               
  9.   pinMode(led1, OUTPUT);     
  10.   pinMode(led2, OUTPUT);
  11. }

  12. void loop() {
  13.   digitalWrite(led1, HIGH);  
  14.   delay(1000);               
  15.   digitalWrite(led1, LOW);
  16.   digitalWrite(led2, HIGH);  
  17.   delay(1000);
  18.   digitalWrite(led2, LOW);  
  19. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-10 13:59 | 显示全部楼层
02--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:01 | 显示全部楼层
02-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:04 | 显示全部楼层
回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:36 | 显示全部楼层
03 Blink3:模拟爆闪警灯


  1. /*
  2. Eagler8实验程序列表
  3. 03 Blink3:模拟爆闪警灯
  4. */
  5.   
  6. int led1 = 12;
  7. int led2 = 13;
  8. int i,j;

  9. void setup() {               
  10.   pinMode(led1, OUTPUT);     
  11.   pinMode(led2, OUTPUT);
  12. }

  13. void loop() {
  14.   for(i=0;i<10;i++){
  15.   digitalWrite(led1, HIGH);   
  16.   delay(30);               
  17.   digitalWrite(led1, LOW);
  18.   delay(40);
  19.   }
  20.    
  21.   for(i=0;i<10;i++){
  22.   digitalWrite(led2, HIGH);  
  23.   delay(30);
  24.   digitalWrite(led2, LOW);
  25.   delay(40);
  26.   }
  27. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:50 | 显示全部楼层
03--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:53 | 显示全部楼层
03-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-10 14:55 | 显示全部楼层
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:02 | 显示全部楼层
04 Breath_LED: D9 全彩 LED 模拟红色呼吸灯


  1. /*
  2. Eagler8实验程序列表
  3. 04 Breath_LED:D9 全彩 LED 模拟红色呼吸灯
  4. */

  5. #define LED 9
  6. int i = 0;

  7. void setup()
  8. {
  9.   pinMode(LED,OUTPUT);
  10. }
  11. void loop()
  12. {
  13. for(i=0;i<220;i++)
  14.   {
  15.     analogWrite(LED,i);
  16.     delay(15);
  17.   }
  18.   for(i=220;i>0;i--)
  19.   {
  20.     analogWrite(LED,i);
  21.     delay(15);
  22.   }
  23.   analogWrite(LED,0);
  24.   delay(60);
  25. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:02 | 显示全部楼层
04--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:03 | 显示全部楼层
04-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:09 | 显示全部楼层
05 Button:D2 按键控制 D13蓝色 LED


  1. /*
  2. Eagler8实验程序列表
  3. 05 Button:D2 按键控制 D13蓝色 LED
  4. */

  5. int ledPin = 13;               
  6. int inputPin = 2;               
  7. int val = 0;                    
  8. void setup()
  9. {
  10.   pinMode(ledPin, OUTPUT);      
  11.   pinMode(inputPin, INPUT);     
  12. }

  13. void loop()
  14. {
  15.   val = digitalRead(inputPin);  
  16.   if(val == HIGH)
  17.   {         
  18.      digitalWrite(ledPin, LOW);  
  19.   }
  20.   else
  21.   {
  22.      digitalWrite(ledPin, HIGH);
  23.   }
  24. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:12 | 显示全部楼层
05--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:13 | 显示全部楼层
05-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:17 | 显示全部楼层
06 Button_Lock:D3 按键控制 D13 蓝色LED 自锁实验


  1. /*
  2. Eagler8实验程序列表
  3. 06 Button_Lock:D3 按键控制 D13 蓝色LED 自锁实验
  4. */

  5. int Button=3;
  6. int LED=13;
  7. boolean onoff=LOW;

  8. void setup(){
  9.   pinMode(Button,INPUT);
  10.   pinMode(LED,OUTPUT);
  11. }

  12. void loop(){
  13.   if(digitalRead(Button)==HIGH)  
  14.   {
  15.     delay(10);
  16.     if(digitalRead(Button)==LOW)
  17.     {
  18.       digitalWrite(LED,onoff);
  19.       onoff=(!onoff);
  20.       delay(10);  
  21.       while(digitalRead(Button)==LOW)
  22.       {
  23.         delay(1);
  24.       }
  25.     }
  26.   }
  27. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:24 | 显示全部楼层
06--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:24 | 显示全部楼层
06-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:34 | 显示全部楼层
07 RS232_AD:串口读取 A0 电位器采集的数值


  1. /*
  2. Eagler8实验程序列表
  3. 07 RS232_AD:串口读取 A0 电位器采集的数值(旋转角度270°,输出0-3.3V/5V电压信号,电位器阻值10K)
  4. */

  5. void setup()
  6. {
  7.   Serial.begin(9600); // 打开串口,设置波特率为9600 bps
  8. }
  9. void loop()
  10. {
  11.       int val;
  12.       val=analogRead(0);   //传感器接于模拟口0
  13.       Serial.println(val,DEC);//从串口发送数据并换行        
  14.       delay(100);
  15. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:39 | 显示全部楼层
07--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:39 | 显示全部楼层
07-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 13:39 | 显示全部楼层
07.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:01 | 显示全部楼层
08 Rotation_LED:A0 电位器控制 D10 全彩 LED 蓝色端亮度


  1. /*
  2. Eagler8实验程序列表
  3. 08 Rotation_LED:A0 电位器控制 D10全彩 LED 蓝色端亮度
  4. */

  5. void setup()
  6. {
  7.   pinMode(10,OUTPUT);         
  8. }
  9.   
  10. void loop()
  11. {
  12.   int n = analogRead(A0);     
  13.   analogWrite(10,n/4);         
  14. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:04 | 显示全部楼层
08--.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:08 | 显示全部楼层
08-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:13 | 显示全部楼层
09 RC_Motor:A0 电位器控制 D7 输出口的舵机,控制其转动角度(舵机需自备,Arduino 需要外部供电)


  1. /*
  2. Eagler8实验程序列表
  3. 09 RC_Motor:A0 电位器控制 D7 输出口的舵机,控制其转动角度(舵机需自备,Arduino 需要外部供电)
  4. */

  5. #include <Servo.h>
  6. Servo myservo;

  7. int analogPin = 0;

  8. int val;
  9. void setup()
  10. {
  11.   myservo.attach(7);  // 7号引脚输出电机控制信号

  12.   Serial.begin(9600);      
  13. }
  14. void loop()
  15. {
  16.   Serial.print("servo:");
  17.   Serial.println(val);
  18.   delay(15);
  19.   val = analogRead(analogPin);       // 读取来自可变电阻的模拟值(0到1023之间)
  20.   val = map(val, 0, 1023, 0, 179);   // 利用“map”函数缩放该值,得到伺服电机需要的角度(0到180之间)

  21.   myservo.write(val);   // 设定伺服电机的位置
  22.   
  23.   delay(15);            // 等待电机旋转到目标角度
  24. }
复制代码



回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:33 | 显示全部楼层
舵机自动180度摇摆


09 摇摆舵机.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:38 | 显示全部楼层
控制80度旋转


09 控制80度.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:44 | 显示全部楼层
10 LED_RGB_Text:全彩 LED 基本颜色变化


  1. /*
  2. Eagler8实验程序列表
  3. 10 LED_RGB_Text:全彩 LED 基本颜色变化
  4. */

  5. #define LEDR 9
  6. #define LEDG 10
  7. #define LEDB 11
  8. int i = 0;

  9. void setup()
  10. {
  11.   pinMode(LEDG,OUTPUT);
  12.   pinMode(LEDB,OUTPUT);
  13.   pinMode(LEDR,OUTPUT);
  14. }

  15. void loop()
  16. {
  17.   analogWrite(LEDR,0);
  18.   analogWrite(LEDB,0);
  19.   analogWrite(LEDG,0);  //off
  20.   analogWrite(LEDR,255);
  21.   delay(500);    //hong
  22.   analogWrite(LEDG,100);
  23.   delay(500);   //cheng
  24.   analogWrite(LEDR,255);
  25.   analogWrite(LEDG,255);
  26.   delay(500);   //huang
  27.   analogWrite(LEDR,0);
  28.   analogWrite(LEDG,255);
  29.   delay(500);   //lv  
  30.   analogWrite(LEDB,255);
  31.   delay(500);   //qing
  32.   analogWrite(LEDG,0);
  33.   analogWrite(LEDB,255);
  34.   delay(500);   //lan
  35.   analogWrite(LEDR,255);
  36.   analogWrite(LEDG,0);
  37.   delay(500);   //zi
  38.   
  39.   analogWrite(LEDG,255);
  40.   analogWrite(LEDB,255);
  41.   analogWrite(LEDR,255);
  42.    delay(500);   //bai   
  43.    
  44. }
复制代码


回复

使用道具 举报

ID:513258 发表于 2019-6-11 19:47 | 显示全部楼层
10-0.jpg
回复

使用道具 举报

ID:513258 发表于 2019-6-13 07:39 | 显示全部楼层
第一个方案,只是混合颜色的呼吸灯,不太对头,继续试验.....


10-1-1.jpg

10-1-2.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-13 07:53 | 显示全部楼层
第一个方案,只是混合颜色的呼吸灯,不太对头,继续试验.....


10-1-1.jpg

10-1-2.jpg

回复

使用道具 举报

ID:513258 发表于 2019-6-13 08:59 | 显示全部楼层
第二方案,以红、蓝、绿的颜色顺序做呼吸状变化,还是对不上.......


10-2-1.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表