Arduino是一款简单易学的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它通过各种各样的传感器来感知环境,再通过控制灯光、电机和其他的装置来完成很多自动控制任务,在创客里非常受欢迎。

文章目录

  • 1. 硬件
  • 2. 软件
  • 3. 示例程序
  • 4. 编译上传
  • 5. 其他

1. 硬件

Arduino有多个型号,标准版uno,小型nano,大型mega 2560。
uno电路板各部分介绍

2. 软件

Arduino的编程语言是建立在C/C++基础上的,它通过封装好的API,使得程序中的语句更容易被理解,不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序的可读性的同时,也提高了开发效率。

Arduino程序基本结构由setup() 和loop() 两个函数组成。

  1. setup()
    Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,该部分只会执行一次。通常在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。

  2. 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 seconddigitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOWdelay(1000);                       // wait for a second
}

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/

Arduino入门教程相关推荐

  1. arduino入门教程!保姆级细致教学!

    Arduino入门教程 前言 arduino作为全球知名的开源电子平台,它的诞生,为广大电子爱好者提供了一个大展拳脚的机会,可以以较为简单的编程能力制作出属于自己的项目,将许多有趣的想法通过编程和ar ...

  2. arduino入门教程书籍推荐,arduino从入门到精通

    今天给大家推荐的这本Arduino入门教程由国内知名创客教育和开源硬件供应商DFRobot出品,由15个基础的 Arduino项目组成,分别配合实例介绍了Arduino 的基本使用方法和各种扩展模块的 ...

  3. ARDUINO入门教程(二)基本传感器的使用

    ARDUINO入门教程(二)基本传感器的使用 温湿度(HTU21DF).土壤湿度(Capacitive).大气压强(GY-68 BMP180).光传感器以及RFID的读取 几种传感器 基本传感器的使用 ...

  4. arduino入门教程系列一:初识arduino

    为了照顾新手小伙伴,DF创客社区开始陆续更新一些arduino系列基础教程,帮助大家更好地入门! 先从Arduino入门教程开始吧. Arduino是什么? Arduino是一个开放源码电子原型平台, ...

  5. Arduino入门教程-软件安装

    arduino用作嵌入式入门还是非常好的,门槛相对比较低,学会了转其他的芯片也十分方便.下面就不多说了,直接进入图文式傻瓜教程. 不想看图的可以参考本人视频arduino软件安装_哔哩哔哩_bilib ...

  6. ps4手柄驱动linux,Arduino和单片机区别,及Arduino入门教程

    素材来源:DF创客社区编辑整理:strongerHuang 搞单片机的读者都应该听说过Arduino,或者用过Arduino,但很多小伙伴还是不清楚究竟什么是Arduino,今天就针对初学者简单描述一 ...

  7. arduino uno r3单片机封装图_Arduino和单片机区别,及Arduino入门教程

    关注.星标公众号,不错过精彩内容 素材来源:DF创客社区编辑整理:strongerHuang 搞单片机的读者都应该听说过Arduino,或者用过Arduino,但很多小伙伴还是不清楚究竟什么是Ardu ...

  8. Arduino 入门教程(八)旋转按钮控制LED亮度

    代码如下: // 定义旋转电位计模拟信号输入针脚号 const int analogInPin = A0; // 定义LED神灯数字信号针脚号 const int analogOutPin = 9; ...

  9. 史上最口语化Arduino入门教程——1.2数字I/O口

    Arduino的IO口分为数字IO和模拟IO口,这一节我们先看数字IO口~ 在Arduino中上面这一排带数字的都是数字IO口,而下面以A+数字开头的都是模拟IO口啦,板子上也写明了DIGITAL和A ...

最新文章

  1. 区块链相关论文研读4: Monoxide异步共识组
  2. apache根据ip分发_腾讯广告进入“IP新融点”时代
  3. Linux下如何删除长时间不使用的旧文件?
  4. python中key的意思_python中的key是什么意思
  5. java Date 转mysql timestamp 秒数不一致
  6. 未来的经销商还有哪些生意能做?
  7. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)
  8. Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决
  9. SPSS调节效应分析插件 v1.1.1
  10. npm安装依赖报错:npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\misal\AppData\R
  11. 微信扫二维码下载apk跳转浏览器打开的方式(及微信屏蔽下载解决方案)
  12. 太极拳什么时间练习最适宜
  13. 有什么高效的Windows笔记软件?3款优秀的笔记软件推荐!
  14. 前端入门教程(四)head内常用标签与body内常用标签
  15. 通过Xshell上传文件到Linux
  16. Python 表示无穷大的数
  17. JavaScript实现页面倒计时效果
  18. 关于一个lo接口IPv6 unreachable路由的细节
  19. 通过外扫二维码判断手机是否有某App
  20. PS CS6中如何制作简易GIF动画图片

热门文章

  1. python爬取电影天堂beautiful_Python爬虫 -- 抓取电影天堂8分以上电影
  2. 学习笔记:李航统计学习方法
  3. 一碗牛肉面的成本是多少钱?
  4. 【ASE+python】实现将poscar格式文件批量转换为xsd格式文件
  5. Prometheus告警功能——对接邮箱
  6. 短距离无线通讯-ZigBee
  7. 抖音html啥意思,用了这么久的抖音,你知道抖音到底是啥意思吗?
  8. Joy Catalog
  9. Ubuntu下安装配置gitLab(一)
  10. 终极解决报错:SocialSDK_QQZone_2.jar contains native libraries that