找回密码
 立即注册
查看: 136|回复: 0

初识Arduino

[复制链接]

188

主题

8

回帖

682

积分

管理员

积分
682
发表于 2024-7-2 13:01:06 | 显示全部楼层 |阅读模式
Arduino自2005年推出以来,广受好评,如今已成为最热门的开源硬件之一。在全球最大的开源社区Github上,Arduino已经成为了一个语言分类;而IEEE发布的2017年编程语言流行程度排行榜上,Arduino成为了仅次于C/C++的嵌入式编程语言;近年来,国内各大高校,甚至中小学都开始使用Arduino开展教学工作。Arduino的热门程度可见一斑。



什么是Arduino

在回答Arduino是什么之前,让先来看看几个基于Arduino开发的项目。


温湿度计。该设备上有温湿度传感器,可以测量出环境温湿度信息,还带有时钟芯片,可以记录时间信息,这些信息都通过设备上的显示屏呈现。其测量到温湿度历史数据,可以通过网络连接存储到云端服务器,方便日后查看历史信息。


智能电灯。该设备使用WiFi连接到网络,通过App可以远程控制其开关、设定开关时间、调整灯光亮度、色温等,还可以连接语音助手,通过语音控制其状态。


教育机器人。是一款用于教育领域的机器人,由Camilo设计,其中包含Arduino控制板、超声波传感器和舵机,可以通过编程让其做出不同的动作,还可以通过其中的超声波传感器与之交互。


无人机控制器。ArduPilot是基于Arduino开发的无人机控制系统,是目前最强大的基于惯性导航的开源飞行控制器之一。集成有陀螺仪、加速度传感器、电子罗盘传感器、大气压传感器、GPS等部件。


图1-x为使用ArduPilot制作的四轴飞行器。


微型卫星。ArduSat是美国加州的NanoSatisfi团队在众筹网站Kickstarter上推出的Arduino制作的微型人造卫星项目(见图1-4),目的是让任何人都可以用更低的成本从事有关宇宙的研究。
它只有10立方厘米大小,将会以音速18倍的速度围绕地球飞行,并配备照相机和多达25种的感应器,搭载的感应器包括电磁波测定装置、分光器、振动传感器、光传感器、GPS、盖革计数器、陀螺仪、磁场传感器、二氧化碳检测传感器等等。

Arduino并不仅仅是一块小小的电路板,而是一个开放的电子开发平台。它包含了硬件——电路板、软件——开发环境,还有许许多多开发者、使用者创造的代码、程序、电路、项目。

Arduino抛开了传统硬件开发的复杂操作,不需要了解硬件内部结构和寄存器设置,不需要过多的电子知识、编程知识,只需要通过简单的学习,了解各个引脚和函数的作用,便可以利用它开发出各种出色的项目。

还可以将Arduino与多种软件结合(如Flash、Max/Msp、VVVV、Processing)制作出有趣的互动作品。

自Arduino推出以来,短短几年时间,其在全球积累了大量的用户,推动了开源硬件、创客运动,甚至是硬件创业领域的发展。越来越多的软硬件提供商宣布自己产品对Arduino的支持。

在Arduino的推动下,诞生了许多优秀的开源硬件项目,有趣的是,Arduino本身也是多个开源项目融合的成果。图1-9为Arduino使用了的部分开源项目。

Arduino编译器使用的是GCC,这是GNU开源计划的核心,使用最为广泛的编译器之一;Arduino语言衍生自Wiring语言,这是一个开源的单片机编程架构,同时Arduino语言又是基于AVR libc这个AVR单片机扩展库编写的,AVR libc也是一个优秀的开源项目;Arduino集成开发环境是基于Processing集成开发环境的,Processing是一个为设计师设计新型语言,当然这也是一个开源项目。Processing集成开发环境是由Java编写的,Java是众多周知的开源项目;要想将编译好的Arduino程序上传到Arduino控制器中,还需使用到avrdude,这也是一个开源项目的成果。

可以说,没有这些开源项目,就没有今天的Arduino。

为什么使用Arduino

用Arduino制作作品或者进行产品开发的优势是很明显的。

  • 跨平台


Arduino IDE可以在Windows、Macintosh OSX、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。

  • 简单清晰的开发


Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对单片机底层接口的二次封装,不需要太多的单片机基础、编程基础,简单学习后,即可快速进行开发。

  • 开放性


Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。

  • 社区与第三方支持


Arduino有着众多的开发者和用户,通过开源社区可以找到他们提供的众多开源的示例代码、硬件设计。例如,可以在Github.com、Arduino.cc、Arduino.cn等网站找到Arduino第三方硬件、外设、类库等支持,更快更简单的扩展Arduino项目。

  • 硬件开发的趋势


Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业,也纷纷开展了Arduino相关课程。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|AiGoe.com - AI人工智能-机器人爱好者论坛 ( 桂ICP备2023001788号 )|网站地图

GMT+8, 2024-12-23 01:47 , Processed in 0.055436 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表