数码之家
标题: 素人学习Aduino编程的简单办法 [打印本页]
作者: eagler8 时间: 2019-5-7 17:12
标题: 素人学习Aduino编程的简单办法
本帖最后由 eagler8 于 2019-5-7 18:09 编辑
在开源硬件领域,偶只是素人一枚,完全的新手。为促进自己学习Arduino技术,一个笨办法就是记录各项实验的情况。这当中肯定会有许多不懂的地方或是自以为是,还请各位老师多多赐教为盼。
[attach]177438[/attach]
习Arduino有不同的方法,使用扩展板相对会比较简便一些。利用我手头的一块“Aduino UNO 9in1 扩展板(Eagler8)”(见上图),它上面集成了九种不同的开源模块和五个扩展的外接端口,挺便利的就能进行18种的Arduino示例实验。
作者: eagler8 时间: 2019-5-7 17:38
本帖最后由 小霞 于 2019-5-7 17:47 编辑
Arduino1.8.9
[attach]177479[/attach]
作者: eagler8 时间: 2019-5-7 17:39
硬件准备
1、SG90 9G舵机一只,兼容红外遥控器一只
[attach]177483[/attach]
[attach]177484[/attach]
作者: eagler8 时间: 2019-5-7 17:39
2、Aduino UNO 9in1 实验扩展板(Eagler8)一块
[attach]177485[/attach]
作者: bg4rff 时间: 2019-5-7 22:22
http://mixly.org/bnu-maker/mixly-arduino-win
这个mixly也是不错的选择,图形化还是比较适合初学者的
作者: devcang 时间: 2019-5-8 10:26
Arduino本身是C++的扩展,而且很多库,学起来不算,用起来也还容易。
mixly 的自定义扩展,也不算难。。。。。。。。。
个人认为,对于板,如果真心学还是分开的板更好点。
作者: eagler8 时间: 2019-5-8 11:01
:handshake:谢谢,我也是选中了Mind+来做实验,确实不错
作者: eagler8 时间: 2019-5-8 11:02
有了解过,目前还不会用:tongue:
作者: eagler8 时间: 2019-5-8 11:03
分开的板?不懂
作者: eagler8 时间: 2019-5-8 17:26
3、Arduino UNO原装板及UNO R3黄金板(国产兼容板)各一块
为适应各种不同的情况
[attach]179162[/attach]
[attach]179163[/attach]
[attach]179164[/attach]
五个实验硬件都齐了
作者: eagler8 时间: 2019-5-8 17:29
有了这块超棒的9in1扩展板,为了提高学习Arduino的效率,今天开始尝试Arduino 1.8.9与Mind+ V1.53相结合的方式,就是把原来的代码编程(会让新人害怕的东西)和直观的图形编程,二者配合起来学习及做实验,都不失偏颇。
[attach]179181[/attach]
在网上搜索了各种图形编程软件,比如Ardublock、S4A、Mixly米思齐、乐幻WeMake、小喵KittenBlock和慧编程mBlock5等,经过简单比较,最后还是选择了DF创客社区的Mind+,主要是与Arduino UNO兼容的比较好,可以自动生成代码,最新版本是V1.5.3。
[attach]179183[/attach]
Mind+ 程序下载地址:
[attach]179184[/attach]
作者: eagler8 时间: 2019-5-8 17:34
开始实验之前,先下载扩展板配套的示例程序,将解压缩的 Eagler8 文件夹拷贝到 Arduino IED 安装目录下的 libraries 文件夹内。启动 Arduino IDE,打开文件‐-示例‐-Eagler8,即可调用18个示例实验程序。Eagler8扩展板示例18种编程程序下载地址:
可调用的Eagler8扩展板18种示例程序
[attach]179185[/attach]
把Eagler8扩展板插在Aduino UNO上
[attach]179193[/attach]
LED 的实验有四项
01 Blink:D13蓝色 LED 闪烁 ,载入示例程序[attach]179207[/attach]
/*
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+ 图形编程如下
[attach]179216[/attach]
分别上传,都通过了
作者: eagler8 时间: 2019-5-9 14:29
:biggrin:听了台湾佑来老师的视频课,才明白要点亮一只LED灯,对于学习Arduino编程,迈出这一步真的挺不容易。和用普通电子电路开关灯不同,开源硬件需要解决软件、硬件和驱动等不少问题,才能用程序点亮LED。实验的第二个程序,是控制二只LED灯交替闪烁,D12端口接红色LED,D13端口接到蓝色LED,间隔延时1000毫秒(1秒)。
启动 Arduino IDE,打开文件‐-示例‐-Eagler8,即可调用18个示例实验程序中的第2个---Blink2。
[attach]180625[/attach]
点工具,选择主板和端口后,上传成功见下图
[attach]180626[/attach]
作者: eagler8 时间: 2019-5-9 14:30
代码如下:
/*
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);
}
作者: eagler8 时间: 2019-5-9 14:32
打开图形编程Mind+,先连接设备,我这里是COM3(可在电脑设备端口中查询)。
[attach]180627[/attach]
而后在扩展模块中,打开主控板项,选择Arduino UNO。
[attach]180628[/attach]
使用Arduino UNO的初始页面是这样的(选择了上传模式)。
[attach]180629[/attach]
作者: eagler8 时间: 2019-5-9 14:33
第一步,设置D12脚输出高电平,D13脚输出低电平,意思是红灯(12)亮,蓝灯(13)灭;
[attach]180631[/attach]
作者: eagler8 时间: 2019-5-9 14:34
第二步,延时1秒;
第三步,反过来设置D12脚输出低电平,D13脚输出高电平;
第四步,再延时1秒,并循环执行,实现红蓝灯间隔1秒交替闪烁。图形编程的右边是自动生成的代码。
[attach]180643[/attach]
作者: eagler8 时间: 2019-5-9 14:34
点右上方上传按钮,上传成功。
[attach]180647[/attach]
[attach]180648[/attach]
作者: eagler8 时间: 2019-5-9 14:36
本实验02 Blink2:
D12、D13红蓝色 LED 交替闪烁的效果视频
[attach]180649[/attach]
作者: eagler8 时间: 2019-5-9 14:37
第三个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);
}
}
作者: eagler8 时间: 2019-5-9 14:39
有如上的示例程序,上传成功就看到了二个LED分别爆闪
[attach]180660[/attach]
作者: eagler8 时间: 2019-5-9 14:41
难在理解这程序,走了一点小弯路,就是一下子搞不懂“for”的结构控制,查了一下《Arduino-语法手册》
[attach]180663[/attach]
:tongue:只是懂了大致意思.....
作者: qingkong 时间: 2019-5-9 15:04
mixly 是个好东西
作者: eagler8 时间: 2019-5-9 17:35
从0.995到0.998的版本我都有,就是还没开始学习实验,感觉有点复杂.....
作者: eagler8 时间: 2019-5-9 17:40
借助自动生成功能,最终还是在Mind+上通过了,见下图
[attach]180957[/attach]
[attach]180958[/attach]
[attach]180960[/attach]
作者: eagler8 时间: 2019-5-9 17:41
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);
}
[attach]180966[/attach]
作者: eagler8 时间: 2019-5-9 17:43
在手册上查到 analogWrite( )
[attach]180977[/attach]
作者: eagler8 时间: 2019-5-9 17:44
使用 for 循环使LED 产生渐亮渐灭的效果,i++和i--大概是递增与递减的意思,先用随机数来试试......
[attach]180978[/attach]
大概意思明白了,继续寻找实现这变量的办法
作者: eagler8 时间: 2019-5-9 17:57
:victory:找到变量的模块,第一步,实现了递增逐渐亮......
[attach]180979[/attach]
[attach]180980[/attach]
作者: eagler8 时间: 2019-5-9 17:58
为了实验效果,做了些小改动
[attach]180981[/attach]
[attach]180982[/attach]
[attach]180983[/attach]
[attach]180984[/attach]
作者: yr7458258 时间: 2019-5-9 18:09
(i=0,i<=3,i++){}手册其实写的很明白了,第一个是起始的值,意思是要从那开始。第二个是循环范围。第三个可以是递增或者递减,比如这个就是输出(0.1.2.3)
作者: eagler8 时间: 2019-5-31 11:21
:handshake:谢谢,我懂了
作者: msold5 时间: 2020-4-8 15:21
问好! 9zhmke向你学习
作者: 17363205076 时间: 2020-4-8 15:59
不建议 使用 图形界面
图形界面 第一 不支持 外部库
第二 不利于与 深度学习
如果你只局限于 几个LED 或 电机 图形界面还能胜任 但要上高级点 控制其他 IC 模块 或 显示 模块
就必须要 回到命令行界面
作者: msold5 时间: 2020-4-19 22:03
貌似雕爷已经向语句在进发了,以前也学Arduino,最近听说在学习Micro Python
作者: eagler8 时间: 2020-10-24 14:46
谢谢老师,从图形界面入手也是迫不得已,没有基础,也比较笨。原来想是互相配合促进学习,只是进步太慢,快废了,呵呵。
作者: eagler8 时间: 2020-10-24 14:48
:lol: 听谁说的啊,老是不得要领,惭愧
作者: msold5 时间: 2020-10-24 19:58
弄了那么多程序,狠不错了。而且每天微信运动上还要走那么多步,不会是用单片机带个小电机在甩手机吧?有天居然走了92235步???这是人吗?
作者: jshya2011 时间: 2021-11-7 16:52
[attachimg]1323211
为何我的软件里面主程序图标不会出现?
作者: eagler8 时间: 2021-11-14 14:47
:handshake:谢谢鼓励,好像一年了,不好意思,刚刚看到
因为以前有爱好户外运动,头尾16年,最大的收获,就是喜欢走走路,呵呵
作者: eagler8 时间: 2021-11-14 14:48
是不是搞丢了,从侧边栏拉回来就行:lol:
作者: chenxianping 时间: 2022-2-21 12:03
看到“素人一个”,感觉好熟悉有一下子想不起来,于是360搜索了一下:详细释义
1.平民,平常人,地位寒微、低微。指无爵位、无官衔、无职称的人;平常的人。
2.朴素的人,无修饰、没有被文化、教化、度化的人,有时引申为初次接触某种事物的人,比初行者低一级那就是素人,简单一点就是与小白的意思差不多。
3.以人的基本形态生存和活动,没有加入任何社会团体、组织、派别的独立人。
4.没有政治主张、学术主张没有政治需求的人。
5.素素的女孩子,指不加修饰的很自然很清新的女孩子。
6.外来语,来自于日语,念shirouto ,在日语里是①门外汉②爱好者,指非专业人士,业余爱好者,业余艺术家,跟英文Amateur的意思是一样③良家妇女。
7.AV片中特定用语,指非专职**女优,她们平日有其他工作或职业,出于某种特殊目的,临时或偶尔拍AV担任女优,该类影片大多有尺度限制,演员的表演属于原生态本色演出。
作者: eagler8 时间: 2022-5-5 15:21
有文化
作者: jpdd521 时间: 2022-5-12 11:18
素人怎么总感觉是开头有红色WARING之类的里面的角色。。。
作者: wpll 时间: 2022-5-21 01:14
楼主 我现在想学单片机 正在犹豫学那种 以前就基本什么都不知道吧 电子懂点 希望可以推荐一套可用的套件 我在船上 有时间 但是正常是没网的 所以 东西一定要全 必须非常全 船上的电烙铁还是外热的 所以 电烙铁也得买 万能表倒是有好几个 我借一个应该可以 焊锡丝 助焊剂 啥的都得买 想得到的想不到的都得买 要不下次回国就下船了
在船上真的无聊 每天8小时 分两次上 中间睡觉
谢谢啦 我得睡了 明天8点上班

作者: eagler8 时间: 2022-5-21 17:46
谢谢鼓励
作者: eagler8 时间: 2022-5-21 17:54
如果是作为入门,基础性的电子智能控制,世界上最火的,还是Arduino
便宜简单的办法,就是Aruino UNO开发板+9合1传感器扩展板
作者: wpll 时间: 2022-5-21 18:19
有没有套件或者链接 我买来在船上学
作者: eagler8 时间: 2022-5-21 18:22
套件也有,淘宝上搜Arduino 37实验套件,大概50元
欢迎光临 数码之家 (https://www.mydigit.cn/) |
Powered by Discuz! X3.4 |