查看: 117333|回复: 69

[入门教程] DFR0100 Arduino教程01 -- 驱动安装及下载Blink程序

  [复制链接]

Arduino驱动的安装

一、下载Arduino IDE

如果您已经下载了Arduino IDE请直接跳过此步骤。

官方下载地址: http://arduino.cc/en/Main/Software

Arduino IDE老版本下载链接:https://www.arduino.cc/en/Main/OldSoftwareReleases\#previous

进入到页面后,找到下图显示部分。
3861422a2eb3aa56c68061c87de4d15d.png
Windows用户,点击下载Windows(ZIPfile),如果Mac,Linux用户则选择相应的系统。 下载完成后,解压文件,把解压后的Arduino文件夹放到你电脑熟悉的位置,便于你之后查找。打开Arduino文件夹,就是下图看到的内容。

IDE_open.png

二、驱动安装

方法1:使用官方提供的一键安装程序安装(推荐)

打开解压后的文件,打开"drivers"文件夹如果你的电脑是32位系统,就运行dpinst-x86.exe,如果是64位系统,就运行dpinst-amd64.exe,然后在弹出的对话框中点击“下一步”,即可完成安装,如下图:

driver1.png driver2.png driver3.png     

方法2:传统的安装驱动的方法

第一步:如果你使用的是旧的板子,解压Old_Arduino_Drivers.zip
driver_1.png

第二步:把USB一端插到UNO上,另一端连到电脑。连接成功后,UNO板的红色电源指示灯ON亮起。然后,打开控制面板,选择设备管理器。
driver_2.png

第三步:找到其它设备 -->Arduino-xx,右击选择更新驱动程序软件。
driver_3.png

第四步:在弹出的对话框中选择下面一项 --> 手动查找并安装驱动程序软件。
driver_4.png

第五步:打开到Arduino IDE安装位置,就是上面那个解压文件的位置,选择搜索路径到drivers,点击下一步。
driver_5.png

第六步:选择始终安装此驱动程序软件,直至完成。
driver_6.png

第七步:出现下图,说明驱动安装成功。
driver_7.png
第八步:此时,设备管理器端口会显示一个串口号。
driver_8.png

可能遇到的问题

1、问题:“这个INF中的服务安装段落无效”、“系统找不到指定文件”

原因:您使用了精简版系统,缺少系统文件

解决办法1:
【图文教程】驱动安装故障解决办法之系统文件缺失
解决办法2:
Arduino无法安装驱动找不到指定文件问题的解决方法

2、问题:“Windows无法验证此设备所需的驱动程序的数字签名”

原因:win7及以上版本系统安装驱动需要签名

如果上面方法无法解决,按照如下操作:
解决办法1:win7禁用驱动数字签名的方法-组策略管理器
解决办法2:win7禁用驱动数字签名的方法-高级启动项
解决办法3:win8/win8.1禁用驱动数字签名的一种方法
解决办法4:Win10系统遇到驱动需要数字签名无法安装问题的解决方法
解决办法5:Win10禁用驱动程序强制签名

3、问题:“在win7 32&64 下识别为未知设备”

解决办法:win7 32&64 下强行安装Arduino图解(by NumB

4、其他解决办法:

a)Arduino驱动问题一键修复工具
b)安装老版本1.5.6ide的驱动
c)安装CH341SER的驱动

5、leonardo主控板没有串口:
Arduino Leonardo的串口消失了,该怎么办呢?

注意:如果以上均无法解决,建议重装完整原版系统


4.下载一个Blink程序

下载一个最简单的代码,既可以帮你熟悉如何下载程序,同时也测试下板子好坏。UNO板上标有L的LED。这段测 试代码就是让这个LED灯闪烁。
forum.png
插上USB线,打开Arduino IDE后,找到“Blink”代码。
forum-1.png forum-2.png

通常,写完一段代码后,我们都需要校验一下,看看代码有没有错误。点击“校验”。

下图显示了正在校验中。
forum-3.png
校验完毕!
forum-4.png
由于是样例代码,所以校验不会有错误,不过在以后写代码的过程中,输入完代码,都需要校验一下,然后再下载到Arduino中。

在下载程序之前,我们还要先告诉Arduino IDE板子型号以及相应的串口。选择所用的板卡Board → Arduino UNO。

forum-5.png
选择当前的串口——COM口。
forum-6.png
最后,点击“下载”。
forum-7.png
以上就是给Arduino下载程序一个blink程序的整个过程。
forum-8.png
以后程序下载就照着这个步骤做就可以了,再理一下思路,分为三步走:

校验 → 选择boards和com → 下载!

"Blink"是如何工作的?

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() { // initialize the digital pin as an output.
pinMode(led, OUTPUT); }

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);  // turn the LED on (HIGH is the voltage level)
delay(1000);          // wait for a second
digitalWrite(led, LOW);  // turn the LED off by making the voltage LOW
delay(1000);          // wait for a second
}

这就是Blink的代码:

代码开头:

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

这是代码中的说明文字,可以叫做注释。用"//",这个符号之间的内容将不被编译器编译。注释在代码中是非常有用的,它可以帮助你理解代码。IDE也将自动把注释的文字颜色变为灰色。

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:

"//",这是另一种注释方法,表示这个符号所在行之后的文字将被注释掉。
"/*...*/"与"//"区别在于:"/*...*/"可以注释多行,"//"只可以注释一行。
代码真正意义的第一行开始了!

int led = 13;

给LED灯所在的引脚13起个响亮的名字,叫"LED"。需要注意的是:UNO板上的"L"灯已经和数字引脚13相连了,所以也就是为什么声明为“13”的原因。语句最后用一个“;”来表示这句语句的结束。

接下来是setup()函数:

void setup() { // initialize the digital pin as an output.` `pinMode(led, OUTPUT); }

在这个程序里有两个函数,一个叫做setup,它的目的主要的loop函数运行之前为程序做必要的设置。在Arduino中程序运行时将首先调用 setup() 函数。每次 Arduino 上电或重启后,setup 函数只运行一次。
这里,初始化数字引脚为OUTPUT模式:

pinMode(led, OUTPUT);

**[pinMode(pin,mode) 函数](http://wiki.dfrobot.com.cn/index.php/PinMode())

Arduino官方:pinMode()

函数内部被花括号括起来的部分将会被依次执行,从“ { ”开始,“ } ”结束。两个符号之间的语句都属于这个函数。

Arduino程序必须包含setup()和loop()两个函数,否则不能正常工作。

在 setup() 函数中初始化和定义了变量后,就开始执行 loop() 函数。顾名思义,该函数在程序运行过程中不断的循环,loop()函数中的每条语句都逐次进行,直到函数的最后,然后再从loop函数的第一条语句再次开始,三次、四次……一直这样循环下去,直到关闭Arduino或者按下重启按钮。

void loop() {
digitalWrite(led, HIGH);  // turn the LED on (HIGH is the voltage level)
delay(1000);        // wait for a second
digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
delay(1000);        // wait for a second
}
函数内部:

digitalWrite(led, HIGH);

给引脚13一个高电,让LED点亮。

[digitalWrite(pin,value) 函数](http://wiki.dfrobot.com.cn/index.php/DigitalWrite())

Arduino官方:digitalWrite()

delay(1000);  延时1000ms(毫秒),也就是1s(秒)的时间。delay(ms) 函数Arduino官方:delay()

如果你想改变LED闪烁的时间,只需要设置delay的延时时间即可。
随后就是再给引脚13一个低电平,并延时1s。

`digitalWrite(led, LOW);
delay(1000);`  

思考时刻
思考一下如何让LED亮150ms灭100ms。提示:修改delay()时间。

这一课就结束了,希望对你有帮助 ^_^

下一篇教程:Arduino教程 Lesson 2 -- LED灯闪烁

补充一下:安装驱动可能出现的问题

1. 为什么Win8系统无法正常安装驱动?可能原因:Arduino-1.0.5之前的版本在Win8系统下提示驱动未签名。解决方法:win+I,选择最下方的更改电脑设置,常规 --> 高级启动下的立即重启 --> 疑难解答 --> 高级选项 --> windows启动设置---> 重启。重启的时候跳出选择界面,按数字“7”选择强制禁用驱动签名,然后就像平常一样进系统装驱动。http://mc.dfrobot.com.cn/thread-291-1-1.html
2. 精简版、GHOST版win7,arduino驱动安装失败的解决方法详见:http://www.arduino.cn/forum.php?mod=viewthread&tid=2350
3. Arduino无法安装驱动找不到指定文件问题的解决方法详见:http://mc.dfrobot.com.cn/thread-361-1-1.html

DF创客社区版权所有,欢迎转载。
转载请务必标注来源: DF创客社区+作者姓名+原文网址。




Jane  高级技匠
 楼主|

发表于 2013-12-10 17:18:22

jucloud 发表于 2013-12-10 15:33
强!楼主帖子截图好详细啊,加油,继续把每个例子都介绍一遍!顶!

谢谢支持~:P
回复

使用道具 举报

Shuuei  中级技师

发表于 2019-1-19 21:23:48

Jane 发表于 2013-12-11 11:11
还老少“甜”宜勒~

Hi 您好 我想请问下Arduino IDE中编译信息栏 编译完成后说的 项目使用了多少多少字节 占用了程序存储空间多少多少,请问这指的是哪里的存储空间?是板子的ROM吗?
但是此时程序只是进行了编译 并没有烧录到板子来着。还是说事先已经选好型号了,板子的ROM大小IDE已经知道了所以提醒所编译程序的大小?
还有一种,是IDE(电脑本身)分配给这个项目的程序空间大小吗?
我觉得是我想的前面一种,但不确定所以想问一问。还请解惑



截图201901192121409979.png
截图201901192122016537.png
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2014-5-23 15:36:54

无畏青春 发表于 2014-5-23 15:14
好叼   慢慢学  期末考完后买个板子   但是这个板子出来  入门用  后面可以用吗 ...

可以用啊,可以往上堆各种模块。
回复

使用道具 举报

jucloud  学徒

发表于 2013-12-10 15:33:04

强!楼主帖子截图好详细啊,加油,继续把每个例子都介绍一遍!顶!
回复

使用道具 举报

lisper  中级技匠

发表于 2013-12-10 19:01:47

有过之而无不及
回复

使用道具 举报

何处不江南  初级技匠

发表于 2013-12-11 10:10:58

好详细。。。 老少咸宜
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2013-12-11 11:11:43

何处不江南 发表于 2013-12-11 10:10
好详细。。。 老少咸宜

还老少“甜”宜勒~ :lol
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2013-12-11 11:14:19

lisper 发表于 2013-12-10 19:01
有过之而无不及

:handshake
回复

使用道具 举报

htp  高级技匠

发表于 2014-1-7 08:39:24

手把手啊,太好了!
回复

使用道具 举报

无畏青春  中级技师 来自手机

发表于 2014-5-23 15:14:43

好叼   慢慢学  期末考完后买个板子   但是这个板子出来  入门用  后面可以用吗
回复

使用道具 举报

无畏青春  中级技师 来自手机

发表于 2014-5-23 15:14:43

好叼   慢慢学  期末考完后买个板子   但是这个板子出来  入门用  后面可以用吗
回复

使用道具 举报

无畏青春  中级技师

发表于 2014-5-23 17:59:06

Jane 发表于 2014-5-23 15:36
可以用啊,可以往上堆各种模块。

谢谢  那我可以放心买了
回复

使用道具 举报

ZeroPoint  初级技师

发表于 2014-11-29 22:14:11

非常详细,好好学习了。:loveliness::loveliness:
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2014-11-30 16:28:25

ZeroPoint 发表于 2014-11-29 22:14
非常详细,好好学习了。

加油~
回复

使用道具 举报

Youyou  初级技匠

发表于 2014-11-30 19:14:06


超详细,其中很多细节我不会想到,膜拜大神!
回复

使用道具 举报

牛哥两千  学徒

发表于 2015-1-6 19:36:01

貌似这个有视频吗
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2015-1-7 10:06:38

牛哥两千 发表于 2015-1-6 19:36
貌似这个有视频吗

没有视频。。
回复

使用道具 举报

45°仰望天空  中级技师

发表于 2015-1-12 11:27:00

是否所有的开发板都可以参考安装?wido的驱动也是这样安装吗?
回复

使用道具 举报

Jane  高级技匠
 楼主|

发表于 2015-1-12 12:03:57

45°仰望天空 发表于 2015-1-12 11:27
是否所有的开发板都可以参考安装?wido的驱动也是这样安装吗?

是的 ,所以Arduino板子驱动安装都是一样的
回复

使用道具 举报

45°仰望天空  中级技师

发表于 2015-1-12 12:12:57

Jane 发表于 2015-1-12 12:03
是的 ,所以Arduino板子驱动安装都是一样的

ok,了解了
回复

使用道具 举报

cyq4040  初级技师

发表于 2015-3-5 19:00:16

:):):)
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail