Arduino入门教程
Arduino入门教程
Arduino是一款简单易学的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它通过各种各样的传感器来感知环境,再通过控制灯光、电机和其他的装置来完成很多自动控制任务,在创客里非常受欢迎。
1. 硬件
Arduino有多个型号,标准版uno,小型nano,大型mega 2560。
uno电路板各部分介绍
2. 软件
Arduino的编程语言是建立在C/C++基础上的,它通过封装好的API,使得程序中的语句更容易被理解,不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序的可读性的同时,也提高了开发效率。
Arduino程序基本结构由setup() 和loop() 两个函数组成。
setup()
Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,该部分只会执行一次。通常在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。loop()
在setup() 函数中的程序执行完后,Arduino会接着执行loop() 函数中的程序。loop()函数是一个死循环,其中的程序会不断的重复运行。通常在loop() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。
Arduino IDE是官方提供的编程环境,编写代码,上传到arduino。支持windows, linux, mac。官网下载 https://www.arduino.cc/en/software
此外,还有一些图形化编程环境,如米思齐mixly,通过拖拽积木块的形式编程,界面对初学者更友好。https://mixly.org/
3. 示例程序
Arduino IDE自带了很多示例程序,是很好的入门材料。例如01.Basics里的Blink,使用板载的13引脚LED,交替亮灭。
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
4. 编译上传
1) 编译代码:项目->编译/验证,或工具栏第1个按钮(✓)。
通过编译检查代码是否正确,如有错误根据IDE底部的消息修改代码。编译通过的代码才可以上传到arduino板。
2)选择开发版类型:工具->开发板(以Arduino Nano为例)
3)选择处理器:工具->处理器
Uno只有一种处理器不需要选,Nano处理器有2个版本,新的选ATmega328P,旧的选ATmega328P (old bootloader)。
如果上传失败,提示"avrdude: stk500_recv(): programmer is not responding",一般都是处理器版本不对,切换成另一个试试。
4)指定端口
如不清楚是哪个,到设备管理器里查看。进口原装板的驱动在安装IDE时就装了,国产兼容板使用CH340串口芯片,需要单独安装驱动。
http://www.wch.cn/downloads/CH341SER_EXE.html

5)上传程序:项目->上传,或工具栏第2个按钮(->)。
上传成功,底部状态栏会提示,代码就开始在arduino板上运行了。
5. 其他
- 控制电机,PWM调速,常用在智能车上
- 控制舵机,实现角度控制,常用在机器人/机械臂上
- 一些有意思的项目,如OTTO跳舞机器人 https://www.ottodiy.com/

4397
667
2万+
7804
1173
3521
4753
1万+Arduino入门教程的更多相关文章
- Arduino入门教程--课前准备--Arduino驱动安装及1.0 IDE菜单介绍
编译器版本:Arduino 1.0实验器件:ocrobot mango控制板(Arduino兼容)一块 Arduino控制板到手后,首先需要在电脑上把驱动装上,这样才可以进行各种实验. 第一步需要把A ...
- Arduino可穿戴开发入门教程(大学霸内部资料)
Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...
- 指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程
指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程 1.4.2 指示灯组 指示灯组的放大图如图1.5所示. 图1.5 指示灯组 各个指示灯对应的功能如下: q RX:对应于0号端口, ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- Arduino可穿戴开发入门教程Arduino开发环境介绍
Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...
- Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍
Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...
- Arduino可穿戴开发入门教程LilyPad介绍
Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
随机推荐
- 如何扩展及优化CI/CD流水线?
如今应用程序的开发通常由多个开发人员组成的团队完成.每个人或团队在项目中发挥自己的作用,然后我们发现在项目的末尾总是有几段代码需要编译,根据每个人的工作方法,管理这种集成可能会浪费很多时间.持续集成和 ...
- SpringBoot 2 种方式快速实现分库分表,轻松拿捏!
大家好,我是小富- (一)好好的系统,为什么要分库分表? (二)分库分表的 21 条法则,hold 住! 本文是<分库分表ShardingSphere5.x原理与实战>系列的第三篇文章,本 ...
- .net core提示502.5错误
最近给WindowsServer2012服务器部署.Net Core项目,部署后一直显示502.5错误,具体如下: 网上找了一大堆解决办法都行不通,最后在stackoverflow中找到说是缺少一个补 ...
- Hexo博客Next主题友链页面
博客友链太多,需要自定义一个友情链接页面 link渲染文件 在 hexo/themes/next/layout 目录下建一个 link.swig文件,写入以下代码 {% block content % ...
- Blazor实战——Known框架多表增删改查
多表增删改查示例 本章介绍学习多张表增.删.改.查功能如何实现,下面以销货出库单作为示例,该业务栏位如下: 销货出库单栏位 销货单号.销货日期.状态.客户.备注 销货出库单明细栏位 商品编码.商品名称 ...
- HTML的总结与回顾(思维导图
- 【工具】-Reverse-DIE(Detect-It-Easy)
关于 Detect It Easy,或缩写为"DIE"是一个用于确定文件类型的程序.Detect It Easy 是一个多功能的 PE 检测工具,基于 QT 平台编写,主要用于 P ...
- 创建本地yum仓库
创建本地yum仓库 1,将镜像挂载到/mnt 如果失败打开虚拟机把设备状态的两个选项打勾 2,切换到客户端的指定目录 3,创建文件夹bak存放网络yum创库配置文件 4,将网络源移动到bak减少干扰 ...
- 数据结构之B树
1 引言 B-tree,B即Balanced,是自平衡的多叉搜索树,用于组织和存储大量数据,以及数据库和文件系统等需要高效查找和插入操作的应用中. 为什么是"大量数据"?当主存不足 ...
- Git Cherry-pick使用
概述 无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难.有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交.这个过程被称为 " ...
1
11
2
