用Spresense扩大电子制作的广度!【第1篇】

什么是Spresense?

 

大家好,我是吉田!
今天,我们将要用到的是索尼半导体解决方案(SSS)集团(以下简称“索尼”)于2018年8月发布的Spresense,这是一款与Arduino兼容的开发板。
该开发板不愧是索尼面向物联网领域精心打造的产品,其外形小巧,功耗低,可以支持高分辨率音源,而且还标配GPS定位等功能,性能十分强大。对于想挑战电子制作和物联网广度的人来说,是一块不可多得的开发板!
接下来,就让我们一起来了解一下使用Spresense进行电子制作的基础知识吧!
title_image

本项目所需部件

・Spresense 主板
Spresense

・Spresense 扩展板
spresense2

・Micro USB 数据线
・LED

 

本项目的流程

1.什么是Spresense
2.Spresense的开发环境及其准备
3.Spresense Arduino Library的安装
4.使用Spresense实现LED闪烁
5.总结

1.什么是Spresense

索尼研发的Spresense是一款与Arduino兼容的开发板,配备了索尼独有的高性能、低功耗、多功能芯片组“CXD5602”。
Spresense由主板(左侧尺寸较小的电路板)和扩展板(右侧尺寸较大的电路板)组成。主板上配备了芯片和摄像头模块,扩展板上则配有音频插孔和SD卡插槽等。

1

接下来,让我们一起看看其具体可以实现哪些功能吧。首先,主板具有以下特点。

主板

  • CXD5602 感应处理器
  • CXD5247 电源管理、音频模拟IC
  • 8MB 闪存
  • 摄像头连接端口
  • GPS 天线
  • Micro USB端口(供电、数据传输)
  • GPIO引脚
  • 用于显示&各类应用的LED等

也就是说,单靠主板,就能够连接相机,也能进行GPS定位,还能通过GPIO与传感器等进行连接。此外,主板的引脚分配如下:

2[主板的引脚分配 摘自Spresense Page]

扩展板

  • 与Arduino UNO兼容的针座配置、GPIO引脚
  • 音频插孔
  • Micro SD卡插槽
  • Micro USB端口
  • 连接麦克风的排针

这块扩展板的尺寸和Arduino UNO基本一致,排针的位置也完全匹配。此外,从结构上看,高分辨率音源等音频输入输出引脚较大,所以将其配置在了扩展板上。此外,扩展板上还带有用于保存数据的Micro SD卡插槽,所以只要有主板和扩展板,基本能够实现大部分想要的功能。

3
[扩展板的引脚分配 摘自 Spresense Page]

附加板

此外,Spresense是一个开放平台,所以可以轻松连接其他半导体厂商开发出来的附加板。
ROHM已经推出了与Spresense兼容的附加板,如BLE附加板、传感器附加板。

4a 4b
BLE附加板 传感器附加板

与其他开发板的比较

最后,我将以图表的形式,将Spresense与其他开发板进行比较,供您参考。
与Raspberry Pi Zero、Arduino Nano相比,Spresense的功耗要小得多。在性能方面,比起Raspberry Pi Zero,虽然稍有逊色,但是与Arduino Nano相比,其速度要快得多。然而其尺寸却比Raspberry Pi Zero小,还配备了包括GPS在内的众多功能,可以说非常方便实用!

5

Raspberry Pi Zero W Spresense 主板 Arduino Nano
尺寸 6.5 cm × 3 cm 5 cm × 2 cm 4.3 cm × 1.8 cm
特色功能 Wifi/BLE
音频和HDMI连接
摄像头连接
GPS
支持高分辨率音源、音频
相机连接

2.Spresense的开发环境及其准备

在软件开发方面,Spresense有两种开发环境。
该开发板与Arduino兼容,所以Arduino IDE是其中一种软件开发环境。因为有开源的Spresense Arduino库,安装之后就可以和Arduino板一样进行软件的开发。即使是本篇文章里面出现的示例程序,也能实现相当多的功能。
还有一种开发环境就是使用索尼提供的Spresense SDK。它是为了更大程度地发挥出CXD5602的性能而使用C++等语言编写而成,但是其基础用到的却是“NuttX”这一特有的操作系统。
在本部分,我将使用大家应该都已经非常熟悉的Arduino IDE,进行Spresense的软件开发。

Arduino IDE的准备

首先,在Windows或者Mac等环境下,准备好Arduino IDE。此时,请使用Arduino 1.8.x以上的版本。

6

准备USB驱动程序

接下来,参照Spresense的网页,安装符合使用环境的USB驱动程序,以确保Spresense可以连接电脑等设备。
从该网页的1.2 事前准备这一章节下面,下载USB驱动程序,并进行安装。我在这里用到的是Mac (OSX Mojave)。

7

3.Spresense Arduino Library的安装

完成上述的电脑和Spresense的准备工作之后,接下来需要使用Micro USB数据线,连接Spresense主板的USB端口。
连接扩展板也可以,但是如果要进行数据传输,则需要连接主板的USB端口。
如果主板USB端口处蓝色LED亮灯,则表示连接成功。

8

加载Spresense Library

Spresense主板上的蓝色LED亮灯之后,在电脑端启动Arduino IDE。
从Arduino菜单中选择环境设置。在设置界面的“添加的电路板管理程序的URL”处,粘贴下述URL,点击OK按钮 。

https://github.com/sonydevworld/spresense-arduino-compatible/releases/download/generic/package_spresense_index.json

9

从菜单中,选择工具 > 开发板 > 开发板管理程序,然后在搜索界面中输入“Spresense”。这样就会显示Spresense开发板,选中后,点击“安装”按钮。

10

这样操作之后,在Arduino的工具菜单中的开发板里面,就可以看到“Spresense”了吧。在开发板选项中,选择“Spresense”之后,如果在串行端口处也显示出USB或者端口名,则也需要选择相应的USB或端口名。

11

加载引导程序

同样在工具菜单下“加载装置”选项中,选择Spresense Firmware Updater,然后再选择下方的“加载引导程序”。这样,就会打开如下所示的presense End User Agreement界面,进入下载页。点击页面中Firmware的“Download now”按钮,将文件保存在合适的位置。

12

之后,将下载的zip文件拖放至Agreement界面,Arduino就会开始加载引导程序。

13

最后,出现以下提示信息时,表示加载完成。这样,就完成了在Arduino IDE里使用Spresense的准备工作。

引导程序加载完成。

updater# Restarting the board …
reboot

4.使用Spresense实现LED闪烁

到了这一步之后,接下来就要使用Spresense让LED闪烁了。
首先,准备一个LED,将其连接至Spresense的GPIO引脚14。将LED较长的引脚(阳极)与Spresense的引脚14(从左上方往下数第二个)连接,将LED较短的引脚(阴极)与Spresense从左上方往下数第四个GND连接。

14

接下来,使用Arduino IDE,编写如下所示的简单的Sketch。
将pinMode指定为引脚14、OUTPUT。将引脚14设为每隔1秒在HIGH和LOW之间重复切换。

15

之后,点击菜单从左往右数第二个加载按钮,就可以将该Sketch加载至Spresense中。
如果一切顺利,就会像照片显示的那样,外接的LED就会持续闪烁。

16

怎么样?虽然稍微要做点前期准备以及设置工作,但是这样就能通过Spresense实现LED闪烁,可以开始制作电子作品了。

spresense_led

5.总结

这次,我们用到的是索尼新发布的物联网开发板——Spresense。
在本项目中,我介绍了该开发板主板和扩展板的特色功能、附加板、以及与其他开发板之间的差异等内容。
在开发环境方面,我们加载了Spresense Library,已经可以通过Arduino IDE使用Spresense了。
我们还将LED与主板相连接,完成了让LED闪烁控制实验,这样就算迈出了开始使用Spresense的第一步。
今后,我计划利用Spresense的特色功能——高分辨率音乐以及GPS等功能,继续制作更多的电子作品,敬请期待!

(吉田)

 

 

本系列连载的内容

第1篇:什么是Spresense?(本文)
第2篇:使用Spresense制作高分辨率音乐播放器!
第3篇:使用ROHM附加板,通过Spresense轻松实现传感器检测!
第4篇:使用ROHM的BLE附加板,通过智能手机玩转高分辨率音乐播放器!
第5篇:使用Spresense相机板制作数码相机!

吉田 显一(Yoshiken)
吉田 显一(Yoshiken)

在普通公司工作的上班族,非常喜欢创作的周末创客,出版了电子书MESHBOOK,平时也写写博客。
http://blog.ktrips.net

相关文章

  1. arduino-h02_14

    用Arduino制作的太阳能电池板供电数字养殖箱【后篇】

  2. 用Spresense扩大电子制作的广度!【第5篇】

  3. 用Spresense扩大电子制作的广度!【第4篇】

  4. 用Spresense扩大电子制作的广度!【第3篇】

  5. spresense_2

    用Spresense扩大电子制作的广度!【第2篇】

  6. learning-electronics-03-00

    超越LED闪烁!更多了解电子制作“N讲”【第3篇】

  7. learning-electronics-02-08

    超越LED闪烁!更多了解电子制作“N讲”【第2篇】

  8. learning-electronics-01-09

    超越LED闪烁!更多了解电子制作“N讲”【第1篇】

  9. 电机的种类有哪些?电子制作中使用的电机种类介绍

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP