数码之家

 找回密码
 立即注册
搜索
查看: 7372|回复: 58

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

[复制链接]
发表于 2019-5-7 17:12:58 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2019-5-7 18:09 编辑

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



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 4家元 +120 收起 理由
jf201006 + 6 謝謝分享
dongxueqi520 + 10
钟义亭 + 4 優秀文章
家睦 + 100

查看全部打赏

 楼主| 发表于 2019-5-7 17:38:10 | 显示全部楼层
本帖最后由 小霞 于 2019-5-7 17:47 编辑

Arduino1.8.9



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-7 17:39:11 | 显示全部楼层
硬件准备
1、SG90 9G舵机一只,兼容红外遥控器一只





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-7 17:39:45 | 显示全部楼层
2、Aduino UNO 9in1 实验扩展板(Eagler8)一块


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2019-5-7 22:22:54 | 显示全部楼层
http://mixly.org/bnu-maker/mixly-arduino-win
这个mixly也是不错的选择,图形化还是比较适合初学者的
回复 支持 反对

使用道具 举报

发表于 2019-5-8 10:26:01 | 显示全部楼层
Arduino本身是C++的扩展,而且很多库,学起来不算,用起来也还容易。


mixly 的自定义扩展,也不算难。。。。。。。。。


个人认为,对于板,如果真心学还是分开的板更好点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-8 11:01:05 | 显示全部楼层
钟义亭 发表于 2019-5-7 20:33
Mind+最早是由DFRobot公司于2013年推出的图形化编程软件,
能够让不懂编程的艺术家们通过几分钟的学习即可 ...

:handshake:谢谢,我也是选中了Mind+来做实验,确实不错
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-8 11:02:20 | 显示全部楼层
bg4rff 发表于 2019-5-7 22:22
http://mixly.org/bnu-maker/mixly-arduino-win
这个mixly也是不错的选择,图形化还是比较适合初学者的 ...

有了解过,目前还不会用:tongue:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-8 11:03:13 | 显示全部楼层
devcang 发表于 2019-5-8 10:26
Arduino本身是C++的扩展,而且很多库,学起来不算,用起来也还容易。

分开的板?不懂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-8 17:26:28 | 显示全部楼层
3、Arduino UNO原装板及UNO R3黄金板(国产兼容板)各一块
为适应各种不同的情况





五个实验硬件都齐了











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-8 17:29:06 | 显示全部楼层
有了这块超棒的9in1扩展板,为了提高学习Arduino的效率,今天开始尝试Arduino 1.8.9与Mind+ V1.53相结合的方式,就是把原来的代码编程(会让新人害怕的东西)和直观的图形编程,二者配合起来学习及做实验,都不失偏颇。


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




Mind+ 程序下载地址:
链接:https://pan.baidu.com/s/1Y4EVVvid7vCqEE00LnqO8A      提取码:wn48





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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

可调用的Eagler8扩展板18种示例程序

把Eagler8扩展板插在Aduino UNO上

LED 的实验有四项
01 Blink:D13蓝色 LED 闪烁 ,载入示例程序

/*
  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);            
}

Mind+ 图形编程如下

分别上传,都通过了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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


点工具,选择主板和端口后,上传成功见下图



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-9 14:30:17 | 显示全部楼层
代码如下:
/*
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);
}

回复 支持 反对

使用道具 举报

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




而后在扩展模块中,打开主控板项,选择Arduino UNO。




使用Arduino UNO的初始页面是这样的(选择了上传模式)。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-9 14:34:57 | 显示全部楼层
点右上方上传按钮,上传成功。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-9 14:36:26 | 显示全部楼层
本实验02 Blink2:
D12、D13红蓝色 LED 交替闪烁的效果视频


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-9 14:37:01 | 显示全部楼层

第三个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);
  }
}











回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-3 04:42 , Processed in 0.156000 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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