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,每天都会在群中发布云 ...
随机推荐
- Thinkphp3.2 PHPMailer 发送邮件
第一步 :下载附件PHPMailer解压到ThinkPHP\Library\Vendor 第二步:在Common文件夹中的公共函数function.php中写一个发送邮件的函数, 这样可以在项目任意位 ...
- 什么是swagger,一篇带你入门
一.前言 在前后端分离开发的过程中,前端和后端需要进行api对接进行交互,就需要一个api规范文档,方便前后端的交互,但api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时 ...
- Delphi MEMO 循环往上往下滚动
// 循环往上滚动 if Memo1.Perform(EM_SCROLL,SB_LINEDOWN,0)=0 then begin Memo1.Perform(WM_VSCROLL,SB_TOP,0); ...
- RuoYi-vue配置记录
如果这个项目能顺利运行,标志着Springboot+vue的前后端环境都配好了. 一.官方文档 若依官方文档:介绍 | RuoYi,在这个地方克隆/下载项目源代码https://gitee.com/y ...
- 关于TFDMemtable的使用场景【2】处理SOAP/REST取得的数据
如果可以直接获得JSON数据,那么可以直接连到TFDMemtable进行显示和编辑. 1.一组REST组件.RESTClient的属性BaseURL是http地址. 2.点击TRESTRequest右 ...
- python tkinker答题工具简易实现
分享一个简单的python tkinker实现的答题工具,效果参见https://www.bilibili.com/video/BV13e4y1E71d/ 点击查看代码 import tkinter ...
- 在线带壳屏幕截图工具推荐:MockUPhone
简介 MockUPhone是一款免费的在线工具,用于生成带壳屏幕截图.这款工具主要面向开发者.设计师以及产品经理等人群,他们可以利用MockUPhone将UI设计或屏幕截图展示在各种不同类型的设备模型 ...
- QT 的信号-槽机制
对于对象间的通信问题,很多框架采用回调函数类解决.QT 使用信号-槽解决对象间的通信问题,只要继承 QObject 类就可以使用信号-槽机制.信号-槽使用起来非常简单.灵活,发射和接收对象实现了解耦. ...
- python调用百度ocr接口,实现图片内文字识别
第一步,到百度智能云申请接口资源 打开地址:https://cloud.baidu.com/?from=console,点击产品下的通用场景文字识别 立即使用,跳转页领取免费资源(土豪可直接购买) 选 ...
- python基础必练题!!
水仙花数 水仙花数 info = 3 while info: # 用户输入数字 try: print(f"请输入数字,您有{info}次机会!!") num = int(input ...