找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6672|回复: 38
收起左侧

素人学习Aduino编程的简单办法

[复制链接]
ID:513258 发表于 2019-5-6 17:46 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2019-5-7 13:37 编辑

在开源硬件领域,偶只是素人一枚,完全的新手。为促进自己学习Arduino技术,一个笨办法就是记录各项实验的情况。这当中肯定会有许多不懂的地方或是自以为是,还请各位老师多多赐教为盼。


学习Arduino有不同的方法,使用扩展板相对会比较简便一些。利用我手头的一块“Aduino UNO 9in1 扩展板(Eagler8)”(见上图),它上面集成了九种不同的开源模块和五个扩展的外接端口,发现挺便利的就能进行18种的Arduino示例实验。


000.jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:513258 发表于 2019-5-6 19:30 | 显示全部楼层
Arduino官网Arduino1.8.9中文版下载页面 https://www.arduino.cc/en/Main/Software

02.jpg



回复

使用道具 举报

ID:513258 发表于 2019-5-6 19:31
Arduino中文社区官网Arduino1.8.9中文版下载页面 https://www.arduino.cn/thread-5838-1-1.html

05.jpg

ID:513258 发表于 2019-5-6 19:32 | 显示全部楼层
实验硬件准备
1、SG90 9G舵机一只,兼容红外遥控器一只
06.jpg



08.jpg



回复

使用道具 举报

ID:513258 发表于 2019-5-6 19:35 | 显示全部楼层
2、Aduino UNO 9in1 实验扩展板(Eagler8)一块


3D图.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-6 19:36 | 显示全部楼层
3、Arduino UNO原装板及UNO R3黄金板(国产兼容板)各一块
为了实验各种不同情况

10.jpg



12.jpg



回复

使用道具 举报

ID:513258 发表于 2019-5-6 21:32 | 显示全部楼层
实验硬件都齐了
09.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-6 21:33
Aduino UNO 9in1 实验扩展板(Eagler8)资料1、Eagler8参数:
尺寸--70*53mm
平台--Arduino
硬件--Arduino UNO及UNO R3兼容板
实物图.jpg

ID:513258 发表于 2019-5-6 21:34 | 显示全部楼层
电原理图
线路图.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-6 21:35 | 显示全部楼层
Eagler8模块与板载端口:
复位按键(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-5-7 13:38 | 显示全部楼层
有了这块超棒的9in1扩展板,为了提高学习Arduino的效率,今天开始尝试Arduino 1.8.9与Mind+ V1.53相结合的方式,就是把原来的代码编程(会让新人害怕的东西)和直观的图形编程,二者配合起来学习及做实验,都不偏颇。


00.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:39 | 显示全部楼层
在网上搜索了各种图形编程软件,比如Ardublock、S4A、Mixly米思齐、乐幻WeMake、小喵KittenBlock和慧编程mBlock5等,经过简单比较,最后还是选择了DF创客社区的Mind+,主要是与Arduino UNO兼容的比较好,可以自动生成代码,最新版本是V1.5.3。


04.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:40 | 显示全部楼层
Mind+ 程序下载地址:
链接:https://pan.baidu.com/s/1Y4EVVvid7vCqEE00LnqO8A      提取码:wn48
Mind  V1.53.png

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:41 | 显示全部楼层
开始实验之前,先下载扩展板配套的示例程序,将解压缩的 Eagler8 文件夹拷贝到 Arduino IED 安装目录下的 libraries 文件夹内。启动 Arduino IDE,打开文件‐-示例‐-Eagler8,即可调用18个示例实验程序。Eagler8扩展板示例18种编程程序下载地址:
链接:https://pan.baidu.com/s/1ih2UlZmwTP17IvBPI4ToHQ        提取码:bnm7

Eagler8.png

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:42 | 显示全部楼层
把Eagler8扩展板插在Aduino UNO上



02.jpg


回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:42 | 显示全部楼层
LED 的实验有四项
01 Blink:D13蓝色 LED 闪烁 ,载入示例程序

03.jpg


回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:43 | 显示全部楼层
代码
/*
  Eagler8实验程序列表
  01 Blink:D13蓝色 LED 闪烁
*/
int led = 13;
void setup() {
  pinMode(led, OUTPUT);
}
void loop() {
  digitalWrite(led, HIGH);
  delay(1000);            
  digitalWrite(led, LOW);
  delay(1000);            
}

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:44 | 显示全部楼层
Mind+ 图形编程如下


05.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 13:45 | 显示全部楼层
分别上传,都通过了,见视频




回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:01 | 显示全部楼层
听了台湾佑来老师的视频课,才明白要点亮一只LED灯,对于学习Arduino编程,迈出这一步真的挺不容易。和用普通电子电路开关灯不同,开源硬件需要解决软件、硬件和驱动等不少问题,才能用程序点亮LED。
实验的第二个程序,是控制二只LED灯交替闪烁,D12端口接红色LED,D13端口接到蓝色LED,间隔延时1000毫秒(1秒)。
启动 Arduino IDE,打开文件‐-示例‐-Eagler8,即可调用18个示例实验程序中的第2个---Blink2。

01.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:01 | 显示全部楼层
点工具,选择主板和端口后,上传成功见下图


02.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:02 | 显示全部楼层
代码如下:
/*
Eagler8实验程序列表
02 Blink2:D12、D13红蓝色 LED 交替闪烁
*/
int led1 = 12;
int led2 = 13;
void setup() {               
  pinMode(led1, OUTPUT);   
  pinMode(led2, OUTPUT);
}
void loop() {
  digitalWrite(led1, HIGH);
  delay(1000);            
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  delay(1000);
  digitalWrite(led2, LOW);
}

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:03 | 显示全部楼层
打开图形编程Mind+,先连接设备,我这里是COM3(可在电脑设备端口中查询)。


03.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:03 | 显示全部楼层
而后在扩展模块中,打开主控板项,选择Arduino UNO。


04.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:04 | 显示全部楼层
使用Arduino UNO的初始页面是这样的(选择了上传模式)。


05.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:05 | 显示全部楼层
第一步,设置D12脚输出高电平,D13脚输出低电平,意思是红灯(12)亮,蓝灯(13)灭;


06.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:05 | 显示全部楼层
第二步,延时1秒;
第三步,反过来设置D12脚输出低电平,D13脚输出高电平;
第四步,再延时1秒,并循环执行,实现红蓝灯间隔1秒交替闪烁。图形编程的右边是自动生成的代码。

07.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:06 | 显示全部楼层
点右上方上传按钮,上传成功。


08.jpg



09.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-7 18:07 | 显示全部楼层
本实验02 Blink2:
D12、D13红蓝色 LED 交替闪烁的效果视频



回复

使用道具 举报

ID:513258 发表于 2019-5-9 14:47 | 显示全部楼层
第三个LED 实验是模拟爆闪警灯,启动 Arduino IDE,打开文件‐-示例‐-Eagler8,调用18个示例实验程序中的第3项---Blink3,源程序如下:/*
Eagler8实验程序列表
03 Blink3:模拟爆闪警灯
*/

int led1 = 12;
int led2 = 13;
int i,j;
void setup() {               
  pinMode(led1, OUTPUT);     
  pinMode(led2, OUTPUT);
}
void loop() {
  for(i=0;i<10;i++){
  digitalWrite(led1, HIGH);  
  delay(30);              
  digitalWrite(led1, LOW);
  delay(40);
  }  
  for(i=0;i<10;i++){
  digitalWrite(led2, HIGH);  
  delay(30);
  digitalWrite(led2, LOW);  
  delay(40);
  }
}


回复

使用道具 举报

ID:513258 发表于 2019-5-9 14:49 | 显示全部楼层
有如上的示例程序,上传成功就看到了二个LED分别爆闪

01.jpg

难在理解这程序,走了一点小弯路,就是一下子搞不懂“for”的结构控制,查了一下《Arduino-语法手册》

1.jpg

只是懂了大致意思.....


回复

使用道具 举报

ID:513258 发表于 2019-5-9 14:50 | 显示全部楼层
借助自动生成功能,最终还是在Mind+上通过了,见下图
02.jpg



02-.jpg



03.jpg



回复

使用道具 举报

ID:101726 发表于 2019-5-9 16:16 | 显示全部楼层
淘宝上没找到
回复

使用道具 举报

ID:513258 发表于 2019-5-9 18:21 | 显示全部楼层
第三个LED 实验是模拟爆闪警灯,启动 Arduino IDE,打开文件‐-示例‐-Eagler8,调用18个示例实验程序中的第3项---Blink3,源程序如下:

/*
Eagler8实验程序列表
03 Blink3:模拟爆闪警灯
*/


int led1 = 12;
int led2 = 13;
int i,j;
void setup() {               
  pinMode(led1, OUTPUT);     
  pinMode(led2, OUTPUT);
}
void loop() {
  for(i=0;i<10;i++){
  digitalWrite(led1, HIGH);  
  delay(30);              
  digitalWrite(led1, LOW);
  delay(40);
  }  
  for(i=0;i<10;i++){
  digitalWrite(led2, HIGH);  
  delay(30);
  digitalWrite(led2, LOW);  
  delay(40);
  }
}

回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:51 | 显示全部楼层

搜9合一多功能扩展板就行
回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:55 | 显示全部楼层
04 Breath_LED:
D9 全彩 LED 模拟红色呼吸灯源程序:

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

#define LED 9
int i = 0;

void setup()
{
  pinMode(LED,OUTPUT);
}
void loop()
{
for(i=0;i<255;i++)
  {
    analogWrite(LED,i);
    delay(15);
  }
  for(i=255;i>0;i--)
  {
    analogWrite(LED,i);
    delay(15);
  }
  analogWrite(LED,0);
  delay(1000);
}


01.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:56 | 显示全部楼层
在手册上查到 analogWrite( )

02.jpg


回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:57 | 显示全部楼层
使用 for 循环使LED 产生渐亮渐灭的效果,i++和i--大概是递增与递减的意思,先用随机数来试试......


03.jpg



04.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:58 | 显示全部楼层
找到了变量的模块,第一步,实现了递增逐渐亮......


05.jpg



06.jpg

回复

使用道具 举报

ID:513258 发表于 2019-5-9 21:58 | 显示全部楼层
最后实验效果基本一致,只是生成的代码有点不一样

07.jpg

08.jpg

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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