基于具有Arduino Leonardo的树莓派扩展板的介绍

21ic电子网 2018-01-15 11:15 次阅读

一. 前言

Raspberry PI树莓派是一个具备高级功能的嵌入式Linux主板,可以实现完整的计算机功能,近些年来因为树莓派的便宜,方便使用等诸多因素导致树莓派非常火热,受到众多开发者的热爱。另外,Arduino是一款便捷,灵活方便使用的嵌入式开发工具,可以做实时信号采集和控制,同样因为方便使用和开发近些年来得到了非常好的发展和普及。

二. 定位

树莓派是完整的计算机具有很强的处理能力,虽然也有IO口可以扩展外部的应用,但是还有有些不足,不能很方便的扩展周边的硬件,而Arduino虽然没有强大的处理能力,但是有非常强大的扩展能力,从这里看来树莓派的功能和Arduino的功能具有互补性,于是乎DFROBOT就推出了这样一款具有Arduino Leonardo的树莓派扩展板,接下来我们就介绍一下这款树莓派扩展板

基于具有Arduino Leonardo的树莓派扩展板的介绍

三. 开箱

Arduino树莓派扩展板由防静电袋包裹,并配备了一根MicroUSB数据线,一块CR1220纽扣电池以及三个塑料螺丝和螺柱,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

打开防静电袋后,就可以看到这块Arduino树莓派扩展板,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

板子背面,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

树莓派扩展板整板采用黑色阻焊层,排针和排座为彩色,器件排列也很整齐,整体的视觉效果很好

四. 产品功能

这款开发板是将Arduino的Leonardo与Raspberry PI的接口结合,另外还增加了些其他的功能构成了该扩展板。

扩展板功能如下:

(1) 微控制器:Atmega32u4

(2) 引导装载程序:Arduino Leonardo

(3) 工作电压:5V

(4) 数字I/O口:20

(5) 模拟I/O口:6

(6) Xbee扩展接口:1

(7) Raspberry Pi 引出 GPIO :16

(8) Raspberry Pi 引出 I2C总线:1

(9) Raspberry Pi 引出 ID_I2C总线:1

(10) Raspberry Pi 引出 SPI总线:1

(11) Raspberry Pi 引出 TTL UART串口:1

(12) 集成RTC时钟,Raspberry Pi可以直接读取

(13) 串口切换功能

扩展板功能接口示意,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

五. 产品设计

扩展板采用圆角矩形设计,扩展板与Raspberry Pi相比长度相同,宽度略宽一些,

板子设计有3个定位控制与Raspberry Pi的定位孔位置相同,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

树莓派扩展板板子上采用了不同颜色的排针和排座用于区分排针和排座的不同的功能。

模拟I/O的排座为蓝色

电源的排针和排座为红色

数字I/O排针和排座为绿色

阻焊层为黑色,整板的器件布局很整齐,

在复位按键的下方,板子的背面有一颗橡胶垫,垫在RJ45接口上,这样设计一方面是为了支撑板子,另一方面是防止RJ45接口的外壳将插针短接,如下图:

板子Xbee接口旁边有一条挖空的细槽,猜测是在使用树莓派的Camera时,用于穿过FPC,这样不会影Raspberry PI的的外设使用,如下图:

Raspberry PI的所有IO通过电平转换芯片后引出,用户可根据外设的电平需求上拉到5V或者3.3V,并具备端口保护的功能。

开发板上设计了拨码开关可以选择Arduino Shield 插槽上插入的串口Shield是通过树莓派串口还是通过Arduino Leonardo 来建立通信连接。当拨到A端时连接到树莓派的串口,当拨到B端时连接到Arduino自己的串口。

板子的各个细节处理的很到位,无论是硬件方案还是,板子做工都是非常优秀的,总的来讲板子的设计很用心。

六. 产品使用方案

接下来我们就开始使用这款开发板,将Arduino树莓派扩展板连接到树莓派上,使用附带的USB线将扩展板与树莓派连接

为树莓派供电,连接显示器,鼠标键盘,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

接下来我们将在树莓派上安装Arduino IDE

获取ROOT权限并安装更新后安装Arduino,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

安装完成,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

因为我们要操作串口,接下来将PI用户添加到tty和dialout,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

接下来我们要打开Arduino IDE,如下图:

打开Arduino IDE之后在Board下选择Arduino Leonardo,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

在Serial Port已经设置为ACM0,如下图:

接下来打开程序,点亮13引脚的LED,如下图:

将程序下载到扩展板,板上的绿色LED亮起,如下图:

基于具有Arduino Leonardo的树莓派扩展板的介绍

我们也可是使用Firmata协议是Raspberry PI和Arduino进行通信,以及更多的操作,由于篇幅的原因小编这里就不做演示了,Raspberry PI和Arduino结合后的可玩性还是非常高的,感兴趣的同学可以试试。

从以上的操作来看,在Raspberry PI上做Arduino的开发还是比较容易的,与在Windows上开发没有太多区别,并且这款扩展板做了很多优化设计将Raspberry PI和Arduino完美的结合了起来,是实现创新项目的好工具。

七. 其他资料

官方提供了原理图,元件位置图,板子接口详细说明等资料,另外官方还提供了Raspberry PI和Arduino的使用教程,教程较为详细,适合初学者学习使用,是学习Arduino和Raspberry PI的好方法。

八. 总结及展望

Raspberry PI和Arduino作为开源硬件最为火热的两个代表,各自具有自己的优点和缺点,似乎将二者觉结合起来就能弥补各自的不足,并且二者的关联使用也相对容易,DFROBOT的这款扩展板解决了硬件的连接,并且提供了软件上的使用方法,使得无论是Raspberry PI爱好者还是Arduino爱好者都有一个相对容易的使用方法。总的来说这是一个非常适合做相对复杂的项目的的扩展板,用Raspberry PI做大量的数据处理和网络连接等工作,用Arduino做实时的数据采集和控制,这也是强强联合,这样的解决方案适合大部分创客的,同时能解决创客们的大部分想法,DFROBOT的产品的无论是产品设计,易用性和质量都是有保证的,希望创客们能做出更好玩更有意思的作品。

21ic电子网 技术专区

原文标题:让树莓派和Arduino合体会怎样

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

浅谈Linux touch命令实例

touch命令可以用来修改文件的访问/修改时间戳,使用touch命令创建一个空白文件,需要的语法是“....

的头像 人间烟火123 发表于 02-13 14:08 次阅读 0条评论
浅谈Linux touch命令实例

linux发行版排行 2018大盘点

2018年最受欢迎的 Linux 发行版本将会是什么呢?近日2018 最佳 Linux 发行版排行榜....

的头像 人间烟火123 发表于 02-13 13:52 次阅读 0条评论
linux发行版排行 2018大盘点

进入Linux命令行的简单方法 ​为什么要这样做?

需要访问 GRUB 启动菜单时,需要选择 Linux 发行版条目,按下 e 编辑引导参数。如何进入进....

的头像 人间烟火123 发表于 02-13 13:14 次阅读 0条评论
进入Linux命令行的简单方法 ​为什么要这样做?

linux之父是谁_linux之父简介

林纳斯·托瓦兹,linux之父是一位著名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。....

的头像 lhl545545 发表于 02-10 10:10 次阅读 0条评论
linux之父是谁_linux之父简介

使用 Shell 脚本掩盖 Linux 服务器上的操作痕迹的步骤解析

使用 Shell 脚本在 Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法....

的头像 马哥Linux运维 发表于 02-09 15:23 次阅读 0条评论
使用 Shell 脚本掩盖 Linux 服务器上的操作痕迹的步骤解析

VI 编辑器的命令、模式和选项介绍

VI 编辑器是一个基于命令行的、功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多....

的头像 Linux爱好者 发表于 02-09 15:11 次阅读 0条评论
VI 编辑器的命令、模式和选项介绍

解析修改CentOS7网卡名字的步骤

CentOS7网卡名字不再是之前版本的eth0,eth1这样的名字了,而是enoxxx,比较长,不太....

的头像 阿铭linux 发表于 02-09 09:09 次阅读 0条评论
解析修改CentOS7网卡名字的步骤

简单介绍MySQL延迟主从复制

MySQL 5.6 已经支持延迟复制, 可设置备节点的延迟时间, 延迟复制是有意义的,例如防止主节点....

的头像 阿铭linux 发表于 02-09 09:05 次阅读 0条评论
简单介绍MySQL延迟主从复制

介绍两种方法来避免正在执行中的任务中断

有时我们也许会有这样的需求:要执行一个命令或者脚本,但是需要几个小时甚至几天。这就要考虑一个问题,就....

的头像 阿铭linux 发表于 02-09 08:56 次阅读 0条评论
介绍两种方法来避免正在执行中的任务中断

执行rsync的任务的2种方式解析

前面介绍的rsync 5种方式当中,第二、第三(1个冒号)就属于通过ssh的方式,这种方式其实就是让....

的头像 阿铭linux 发表于 02-09 08:48 次阅读 0条评论
执行rsync的任务的2种方式解析

分享解决No input file specified问题的方法

解决No input file specified问题的方法是, 修改php.ini中的cgi....

的头像 阿铭linux 发表于 02-09 08:41 次阅读 0条评论
分享解决No input file specified问题的方法

分享nginx 502的解决方法

还好,我印象中多年前遇到过一次类似的问题,不过是linux代理linux,症状和该问题基本类似,当时....

的头像 阿铭linux 发表于 02-09 08:37 次阅读 0条评论
分享nginx 502的解决方法

介绍一个不太常见的概念:嵌入文档

今天介绍一个不太常见的概念 -- 嵌入文档,英文名叫做Here Documents。也就是你在she....

的头像 阿铭linux 发表于 02-09 08:33 次阅读 0条评论
介绍一个不太常见的概念:嵌入文档

基于SLUB的DEBUG功能,如何帮忙检测内存越界和访问已经释放的内存

SLAB内存分配器-SLUB的DEBUG功能,如何帮忙检测内存越界(out-of-bounds)和访....

的头像 Linuxer 发表于 02-08 14:11 次阅读 0条评论
基于SLUB的DEBUG功能,如何帮忙检测内存越界和访问已经释放的内存

介绍 Nginx的基本概念,性能,SSL 安装

我们会告诉你 Nginx 如何工作及其背后的理念,还有如何优化以加快应用的性能,如何安装启动和保持运....

的头像 Linux爱好者 发表于 02-08 09:12 次阅读 0条评论
介绍 Nginx的基本概念,性能,SSL 安装

如何在windows和linux平台使用RT-Thread QEMU BSP,并运行RT-ThreadGUI示例

本文的目的 和背景嵌入式软件开发离不开开发板,在没有物理开发板的情况下,可以使用QEMU等类似的虚....

的头像 RTThread物联网操作系统 发表于 02-08 08:50 次阅读 0条评论
如何在windows和linux平台使用RT-Thread QEMU BSP,并运行RT-ThreadGUI示例

学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码

在这篇文章中,我们将引导你通过几种不同的方式在 Linux 终端中生成随机密码。其中几种利用原生 L....

的头像 Linux爱好者 发表于 02-08 08:26 次阅读 0条评论
学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码

学习ARM + Linux之前要讲解用ADS或RealViewMDK去调试ARM开发板的原因

掌握 ARM 体系结构。ARM 是一种计算机,掌握其体系结构也就是掌握ARM的工作原理。在大学里一般....

的头像 21ic电子网 发表于 02-07 13:36 次阅读 0条评论
学习ARM + Linux之前要讲解用ADS或RealViewMDK去调试ARM开发板的原因

基于嵌入式Linux内核的特殊矩阵键盘设计完整驱动控制模块方案

为了适应嵌入式设备外设的多样性,本文以特殊矩阵键盘为例,设计了一套完整的驱动 控制模块 。硬件电路设....

发表于 02-07 09:44 次阅读 0条评论
基于嵌入式Linux内核的特殊矩阵键盘设计完整驱动控制模块方案

通过操作命令来统计 Linux 中文件和文件夹/目录的数量

在本教程中,我们将向您展示如何使用多个命令,并使用 ls、egrep、wc 和 find 命令执行一....

的头像 Linux爱好者 发表于 02-07 08:24 次阅读 0条评论
 通过操作命令来统计 Linux 中文件和文件夹/目录的数量