Arduino从零开始的高手之路——初识Arduino
初识Arduino
时隔若干年,重启Arduino入门教程~
Arduino自2005年推出以来,广受好评,如今已成为最热门的开源硬件之一。在全球最大的开源社区Github上,Arduino已经成为了一个语言分类;而IEEE发布的2017年编程语言流行程度排行榜上,Arduino成为了仅次于C/C++的嵌入式编程语言;近年来,国内各大高校,甚至中小学都开始使用Arduino开展教学工作。Arduino的热门程度可见一斑。
什么是Arduino
在回答Arduino是什么之前,让先来看看几个基于Arduino开发的项目。
典型项目案例
- 温湿度计
该设备上有温湿度传感器,可以测量出环境温湿度信息,还带有时钟芯片,可以记录时间信息,这些信息都通过设备上的显示屏呈现。其测量到温湿度历史数据,可以通过网络连接存储到云端服务器,方便日后查看历史信息。 - 智能电灯
该设备使用WiFi连接到网络,通过App可以远程控制其开关、设定开关时间、调整灯光亮度、色温等,还可以连接语音助手,通过语音控制其状态。 - 教育机器人
OTTO是一款用于教育领域的机器人,由Camilo设计,其中包含Arduino控制板、超声波传感器和舵机,可以通过编程让其做出不同的动作,还可以通过其中的超声波传感器与之交互。 - 无人机控制器
ArduPilot是基于Arduino开发的无人机控制系统,是目前最强大的基于惯性导航的开源飞行控制器之一。集成有陀螺仪、加速度传感器、电子罗盘传感器、大气压传感器、GPS等部件。
图1-x为使用ArduPilot制作的四轴飞行器。
- 微型卫星
ArduSat是美国加州的NanoSatisfi团队在众筹网站Kickstarter上推出的Arduino制作的微型人造卫星项目(见图1-4),目的是让任何人都可以用更低的成本从事有关宇宙的研究。
它只有10立方厘米大小,将会以音速18倍的速度围绕地球飞行,并配备照相机和多达25种的感应器,搭载的感应器包括电磁波测定装置、分光器、振动传感器、光传感器、GPS、盖革计数器、陀螺仪、磁场传感器、二氧化碳检测传感器等等。
Arduino的本质
Arduino并不仅仅是一块小小的电路板,而是一个开放的电子开发平台。它包含了:
- 硬件——电路板
- 软件——开发环境
- 开发者生态——众多开发者、使用者创造的代码、程序、电路、项目
开发优势
- 简化开发
抛开了传统硬件开发的复杂操作:
- 不需要了解硬件内部结构和寄存器设置
- 不需要过多的电子知识、编程知识
- 通过简单的学习即可开发出色项目
- 创意扩展
可以与多种软件结合(如Flash、Max/Msp、VVVV、Processing)制作互动作品
开源基因
Arduino本身是多个开源项目融合的成果(图1-9为Arduino使用的部分开源项目):
|
组件 |
基于的开源项目 |
说明 |
|
编译器 |
GCC |
GNU核心编译器 |
|
编程语言 |
Wiring/AVR libc |
单片机编程架构/AVR扩展库 |
|
开发环境 |
Processing IDE |
设计师导向的开发环境 |
|
上传工具 |
avrdude |
AVR编程工具 |
可以说,没有这些开源项目,就没有今天的Arduino。
为什么使用Arduino
核心优势
跨平台
Arduino IDE支持Windows、Mac OSX、Linux三大操作系统
简单开发
- 基于Processing IDE开发,易学易用
- 对底层接口二次封装,降低学习门槛
完全开源
硬件原理图、电路图、IDE软件及核心库文件全部开源
强大生态
- 活跃的开源社区(Github/Arduino.cc/Arduino.cn)
- 丰富的第三方硬件/外设/类库支持
行业趋势
- 全球最流行的开源硬件平台
- 显著降低开发周期和学习成本
- 已被专业开发者、教育机构广泛采用
应用场景
- 专业硬件产品开发
- 物联网项目实现
- 高校自动化/软件/艺术课程
- 创客教育/STEAM教育
Arduino从零开始的高手之路——初识Arduino的更多相关文章
- Arduino学习笔记① 初识Arduino
1.前言 近段时间,博主陆续更新了ESP8266学习笔记,主要开发平台是Arduino.但是,对于很多无基础的初学者来说,甚至不了解Arduino是什么.因此,博主决定加入一个Arduino学 ...
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析
这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...
- 初识Arduino
Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(Arduino IDE).由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Ba ...
- [js高手之路]Node.js实现简易的爬虫-抓取博客文章列表信息
抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的http库 ...
- Arduino入门笔记(2):Arduino的开发和virtualbreadboard仿真环境
欢迎加入讨论群 64770604 1.开发环境 (1)下载开发环境 Arduino的开发环境从http://arduino.cc/en/Main/Software官网下载即可,分为windows版本. ...
- [js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息
抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取博客所有的文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的h ...
- 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程
这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...
- 安卓高手之路之 ClassLoader
我不喜欢那些泛泛而谈的去讲那些形而上学的道理,更不喜欢记那些既定的东西.靠记忆去弥补思考的人,容易陷入人云亦云的境地,最后必定被记忆所围困,而最终消亡的是创造力.希望这个高手之路系列能够记录我学习安卓 ...
- ClassLoader使用记录《安卓高手之路》
我不喜欢那些泛泛而谈的去讲那些形而上学的道理,更不喜欢记那些既定的东西.靠记忆去弥补思考的人,容易陷入人云亦云的境地,最后必定被记忆所围困,而最终消亡的是创造力.希望这个高手之路系列能够记录我学习安卓 ...
- 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战
本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...
随机推荐
- 如何利用 PostgreSQL 的 JSONB API 作为扩展的轻量级 JSON 解析器
前言 在基于 C 语言的 PostgreSQL 扩展开发中,您可能会遇到需要处理 JSON 等结构化数据的情况.通常,您可能会在扩展中引入第三方 JSON 解析库,例如 cJSON 或 libjans ...
- nginx + lua脚本
Nginx配合Lua 案例 今天实现一个非常简单的例子. 云服务器上部署的了一个很通用的应用程序(它没有保护策略),其端口是a,但是我想使用他,就要通过公网ip:端口去访问它.暴露在外面很不安全. 那 ...
- Python提取pdf文字信息
目录 Python提取pdf文字信息 需求 代码 总结 Python提取pdf文字信息 需求 今天教务处导出来我们全年级的成绩,一看吓一跳,我们的名字怎么不在文件名里,只能一个个找吗.事情开始变得离谱 ...
- 一文速通Python并行计算:04 Python多线程编程-多线程同步(上)—基于条件变量、事件和屏障
一文速通 Python 并行计算:04 Python 多线程编程-多线程同步(下)-基于条件变量.事件和屏障 摘要: 本文介绍了 Python 多线程同步的三种机制:条件变量(Condition).事 ...
- Supergateway:MCP服务器的远程调试与集成工具
Supergateway 是一款专为 MCP(Model Context Protocol)服务器设计的远程调试与集成工具,通过 SSE(Server-Sent Events)或 WebSocket( ...
- String类的三种常见构造方法
1.根据构造方法创建字符串对象 1.public String() 创建一个空字符串,里面不包含任何内容 2.public String(char[] chs) 创建一个字符数组,将其拼接成字符串对象 ...
- CH182的ESP32驱动
CH182的ESP32驱动需要自取 https://files.cnblogs.com/files/blogs/745523/esp-eth.zip?t=1739322979&download ...
- 记一次 .NET某云HIS系统 CPU爆高分析
一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二:CPU爆高分析 ...
- 《数组》--DAY1--二分查找
分治算法--二分查找(返回下标) 1.定义:在有序列表中,每次查找范围折半 列表若存在重复元素,返回下标不唯一 优点:比较次数少,速度快,性能好:缺点:要求列表有序 注意区分while(left &l ...
- 校验获取数据或者返回值的方法,should contain的用法
如上图,验证"首页"是否添加成功,我们就通过验证页面上是否存在"首页"这个关键字,来确认数据是否添加成功 RB的写法如上图,原理是以文本输出"首页&q ...