第一节课“开发环境的搭建和驱动安装 arduino hc340 以及点亮我们的板载LED小灯”


)

(一)什么是arduino?

什么是 Arduino?相信很多读者都会有这个疑问,甚至有人认为手中的开发板就是 Arduino。维基百科上说“, Arduino是一块单板的微控制器和一整套开发软件,它的硬件包含一个以ATMELAVR 单片机为核心的开发板和其它各种I/O板;软件包括一个标准编程语言开发环境和在开发板上运行的烧录程序。” Arduino 项目起源于意大利,该名字在意大利中是男性用名,意思为“强壮的朋友”,作为一个专有名词,Arduino 总是以首字母大写的形式出现。Arduino 最初是为一些非电子工程专业的学生设计的,因其开源、廉价、简单易用等特点,一经推出便迅速受到到广大电子爱好者的喜爱和推崇。几乎任何人,即便不懂电脑编程,利用这个开发板也能做出炫酷有趣的东西。 Arduino 是一个嵌入式计算机开发平台,可以通过硬件和软件与周围环境进行互动,例如,你可以用Arduino 制作一个简单的延时照明灯,让一个按钮和一盏小灯与Arduino相连,Arduino一直处于等待按钮按下的状态,一旦按钮被按下,就点亮那盏小灯并开始计时,当计时到 15 秒时,熄灭小灯并等待下一次按钮被按下。 Arduino 可以通过面包板或者其他扩展板与发光二极管(Light Emitting Diode,LED)、液晶显示屏(Liquid Crystal Display,LCD)、有机发光显示屏(Organic Light Emitting Diode,OLED)、按钮、直流电机、步进电机、舵机、温湿度传感器、距离传感器、压力传感器或其他能够输出数据或被控制的任何东西相连,也可以通过蓝牙、Wii、Zigbee、NB-1oT、esp8266、esp32等无线通信模块与其他设备进行无线连接,或者接入互联网。你也可以通过 Arduino 收集来自传感器的数据并上传到数据中心,然后根据数据中心下达的指令去控制与其相连的外围设备进行动作。 采用 Arduino 编程要用到集成开发环境(Integrated Development Environment,IDE),IDE 是电脑端的软件,是一款用于程序开发的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写、编译、调试等功能。Arduino IDE 是一款免费的软件,使用便捷,自带很多例程,并有丰富的第三方库函数支持。

看了这么一大段,你可能会有点懵了,所以,什么是arduino呢?说人话就是:一块有引脚的芯片(也可以说是单片机),和具有很多开源程序代码的IDE(开发环境),你可以在上面做很多很多有趣的好玩的东西和项目。

ps:开源就是将程序代码开放出来的意思

经过多年的发展,Arduino 开发板有各种各样的型号,如 Arduino Uno、Arduino Leonardo、Arduin01 01、Arduino Mega 2560、Arduino Nano、Arduino Micro、Arduino Ethernet、ArduinoYun、Arduino Due 等。Arduino Uno 是基于 ATmega328P 的单片机开发板,有 14 个数字输入/输出引脚(有 6 个可用作 PWM 输出)、 6 个模拟输入因脚、16 MHz 晶振;Arduino Mega 2560 是基于 ATmega2560 单片机开发板,有 54 个数字输入/输出引脚(有 15 个可用作 PWM 输出)、16 路模拟输入、4 个 UART;Arduino Nano 是基于 ATmega328p 的小型开发板,可以直接插在面包板上使用。
以下是常用的arduino版:
arduino uno r3
Arduino MEGA 2560
Arduino nano
arduino leonardo

我们的教程主要用的板子是arduino UNO R3这块板,淘宝上也不贵,基本上十几块钱就可以买到(盗版的,因为是开源的,所以和正版的没什么区别,但如果有条件的话还是要支持一下正版的“贵货”)
arduino

哦,对了,这里给大家一个选板的技巧:就是买板的时候,可以买如上图所示的这种改进增多了引脚的,这样子后面插杜邦线不至于那么头疼,还能多引用几个GND和VCC(5V)。

(二)Arduino开发环境的搭建

除了有arduino UNO R3板这种基础的硬件设施之外,我们还需要搭建我们的“开发环境”,那么什么是“开发环境”呢?顾名思义,就是开发和上传我们代码的地方。而arduino的开发环境就是“arduino IDE”这款软件。
它的官方下载地址是: https://www.arduino.cc/en/software/
(因为官方下载地址下载的太慢了,所以给出了其它下载地址,不推荐官方下载)

百度云下载地址是: 链接:https://pan.baidu.com/s/1at0lN1aFp5os1EmLDsWP4Q
提取码:0000

微云下载地址是: https://share.weiyun.com/J2ynQqut

csdn下载地址是:https://download.csdn.net/download/weixin_51102592/16512046

arduino中文论坛下载地址:https://www.arduino.cn/thread-5838-1-1.html(推荐)

下载安装完之后,我们还要额外安装一个驱动程序“CH340”才能和我们的arduino通讯(有些电脑插上会自动安装,可以跳过这一步)。
csdn下载地址:https://download.csdn.net/download/weixin_51102592/16512486
百度云地址:链接:https://pan.baidu.com/s/1T7_5IfV4NctISAFFt0Sg6Q
提取码:0000

安装方法也很简单粗暴,点安装就行了
因为我们的arduino和电脑的通讯方式是串口通信,而我们电脑的通讯方式却是USB通讯,所以我们需要一个驱动去把USB接口转成串口通信,俗称“USB转串口”。

如果我们没有安装这个驱动,我们用arduino的线连接上电脑,在我们的设备管理器上就会显示未知设备(如图)
未知

ps:(设备管理器打开方法)桌面右键单击我的电脑,在弹出菜单中选择:管理,在打开的计算机管理窗口左侧列表中选择设备管理器在右侧展开端口(COM和LPT),会看到我们的设备。
Arduino驱动安装方法 http://www.arduino.cn/thread-1008-1-1.html

Arduino驱动安装失败的解决方法:
安装驱动数据无效
系统找不到指定文件

如果我们安装完驱动之后,连接上线,我们的UNO板电源指示灯(on)是会亮起的,并且连接成功后,是会显示自己所插的端口号(COM几)的(如图)。
在这里插入图片描述
在这里插入图片描述

如果遇到问题,可以进我们的Q群“147597938”,如果我有看到都会回复的,大家也可以互相交流互相学习,我也会把驱动和一些示例程序上传到群的。

(三)新建工程

  1. 双击Arduino的图标,IDE程序就运行起来了。新建工程启动Arduino IDE,点击菜单栏的文件->新建(或者使用快捷键Ctrl+N),生成新的工程文件, 点击菜单栏的文件->保存(或者使用快捷键Ctrl+S),保存生成的工程文件。 文件名填写LED。
  2. 保存后,Arduino IDE会自动生成一个名称叫LED的文件夹,并在这个文件夹下生成一个同名的LED.ino文件。.ino文件是Arduino工程的主文件,Arduino IDE要求工程项目的主文件必须置于同名文件夹之内,而且必须是英文。

PS:如果Arduino IDE的编辑界面是英文。可以更改为中文界面:File ->Preferences,选择Editor
language-> 简体中文,点击OK。

(四)编辑我们的第一个程序——点亮我们的板载LED灯

13号引脚LED灯亮灭的程序编写

(一)arduino连接电脑,鼠标点击“我的电脑”,并单击右键/管理/设备管理器/端口,查看Arduino UNO连接的COM口,并把它记下来,后续下载程序要用。
在这里插入图片描述

(二)打开arduino IDE,然后看我们的左上角的菜单栏这边,工具→开发板→选择Arduino/Genuino UNO(也就是我们的板子)
在这里插入图片描述
然后选择工具→开发板→端口→选择(一)中记录的板子在这里插入图片描述

ps:我刚开始学arduino的时候,因为没人教我(一)(二)两步,导致后面上传程序的时候,常常出现错误,掉了很多头发才掌握端口板子驱动这些T.T

(三)代码:你会看到我们的代码区是这样子的:

void setup()
{
 // put your setup code here, to run once:
 } 

 void loop() {
  // put your main code here, to run repeatedly:
   }

这里的“ put your setup code here, to run once:”中文意思是:把你的设置代码放在这里,它只会运行一次
这里的“ put your main code here, to run repeatedly: ”中文意思是是:把你的主要代码(主函数)放这里,它会反复运行
其实很容易理解,setup是设置的意思,我们设置的东西设置一遍就够了,而loop是循环的意思,他既是我们的主程序,也是他设置完成之后loop函数里面的程序在这里无限循环运行的地方。

ps:“//”这两条斜杠的意思是把在这一行的斜杠后面的代码变为注释,也就是说,//斜杠后面的东西你可以随便打,中文也可以,它不会被IDE列入编译的代码里面,只是为了方便自己备注。

在这里插入图片描述
(四)在写代码的区域写入我们点亮小灯的代码:
在这里插入图片描述

// 当按reset键或给单板上电时,setup功能只运行一次
void setup() {
  // 初始化数字引脚13作为输出。
  pinMode(13, OUTPUT);
}

// 循环函数会一直循环下去
void loop() {
  digitalWrite(13, HIGH);   // 打开LED(高为亮灯)
  delay(1000);              // 延时一秒钟
  digitalWrite(13, LOW);    // 把电压调低,LED就会关掉
  delay(1000);              // 延时一秒钟
}

注意区分大小写和中英文符号哦,其中的HIGH和LOW分别可以用1和0来代替

点击编译
在这里插入图片描述
如果代码正确底部就会显示编译成功
在这里插入图片描述
然后点击上传
在这里插入图片描述
等待进度条读完,就会显示上传成功
在这里插入图片描述
你就会看到我们的板载小灯亮一秒,暗一秒了,就像这样:

arduino点亮LED小灯

这里讲一下——为什么我们控制十三号引脚就可以亮灭灯呢?
因为我们的十三号引脚和我们的板载LED灯是串联的,就像这样:在这里插入图片描述
UNO给led供电,供正电的时候,就产生了电压,就会有电流了,LED和引脚就为高电平,所以就亮灯了,供负电的时候,两边都是负电,就不会亮灯了,而我们的程序的HIGH(1)就是高电平(正电),LOW(0)就是负电平(负电)。

pinMode(13, OUTPUT);

就是将我们的十三号引脚设为输出的意思,输出高电平,输出低电平,与之相对应的是pinMode(13, INPUT);输入,后面我会专门讲一下这个。

digitalWrite(13, HIGH);

意思是写入数字引脚13为高电平

delay(1000);

delay是延时的意思,顾名思义,他对应的操作就是延时,等待,等待多久呢?取决于你delay括号里面的数字,单位是毫秒,比如delay(1000);他的意思就是延时1000ms,也就是延时一秒钟。

程序在我们的循环函数void loop()里面一秒钟高,一秒钟低,就闪现了亮灭的效果了,怎么样,是不是很简单?

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创客阿蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值