TouchTouch Arduino 开发环境搭建

下载Duinopeak Touchtouch Arduino Plugin

为了使用Arduino IDE来对Touchtouch编程,我们需要下载Touchtouch的Arduino插件, 你可以访问github代码库手动下载或更简单的办法,直接者点击下面的按钮下载zip压缩包。

Rename the uncompressed folder Adafruit_FONA and check that the Adafruit_FONA folder contains Adafruit_FONA.cpp and Adafruit_FONA.h

Place the Adafruit_FONA library folder your arduinosketchfolder/libraries/ folder.
You may need to create the libraries subfolder if its your first library. Restart the IDE.

We also have a great tutorial on Arduino library installation at:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

Peakduino TouchTouch主控板快速上手

Duinopeak TouchTouch是一款易于使用的的多媒体互动Arduino兼容主控板。一个可以使你的项目变得可交互、有响应、变聪明或是变有趣的工具。每一块TouchTouch板为您提供12个电极,可以用来连接到导电墨水或者其他类型的导体来创建电灯开关,乐器或者自定义交互式的界面,而且这一切通过Arduino IDE就可以实现

TouchTouch配备了专用电容触摸片芯片,支持多达12个电极。有了这个芯片它可以将几乎大多数导体材料转换成一个传感器或者输入设备,它不仅可以感应到触摸甚至可以感应到距离是的就是有这么厉害!然后您就可以利用TouchTouch来改变你周围的世界啦。可以在你的墙上做一个女巫灯,做一个水果钢琴,架子鼓或者创造一些从来没有人想到的东西…

TouchTouch甚至配备了一颗MP3解码器芯片和SD卡读写单元连接任何导电的东西到触摸版的12个电极中的一个,可控制MP3模块播放指定的SD卡文件来发出声音,切换到MIDI模式后还能模拟钢琴和架子鼓等大量的乐器和音符!

板载ATmega32U4芯片不仅是一个完整的Arduino 兼容主板还可以来模拟电脑鼠标键盘,串口或者MIDI设备。

简单的说:它可以比普通的Arduino兼容主控板能干更多的事情。

 

接口和供电

板载一个3.5mm立体声音频插孔用来插入你的立体声耳机或者音频线到你的功放设备。

用于外部锂电池供电的JST连接器,板载电源开关及复位键。

可以使用一根micro USB线或者一颗3.7v锂电池到2pin JST端子就可以给TouchTouch供电。

TouchTouch类似于Arduino Leonardo,支持Arduino IDE 1.56以后的版本。

技术参数:

  • 工作电压:5V DC
  • 外部供电:5v USB或者3.7v外接锂电池
  • 音频输出功率:15mW into 32Ω
  • 最大输出电流:(5V rail) 400mA (100mA at startup) (3.3V rail) 300mA
  • 锂电池充电电流: 200mA
  • 数字端口:20 个(其中被MPR121占用3个,VS1053b占用5个-后者可以通过跳线焊点来解除)
  • 模拟端口:12个(部分和数字端口共用) PWM端口:7个(和数字端口共用) Flash 内存:32 kB (ATmega32U4) 其中 4kB被引导程序占用
  • SRAM:2.5kB (ATmega32U4)
  • EEPROM:1kB (ATmega32U4)
  • 时钟频率:16MHz (ATmega32U4), 12.288MHz (VS1053b)
  • 端口电流: per I/O pin 40mA sink and source (ATmega32U4), 12mA source / 1.2mA sink (MPR121)
  • 模拟输入阻抗:典型 100MΩ (ATmega32U4)

安装驱动程序

首次使用时会提示安装驱动程序,不同的操作系统,安装稍有不同,请注意区别!

将ToutchTouch用Mirco USB线连接到电脑USB插孔,如果没有购买专用的USB线用你的手机自带Micro USB线即可!然后打开电源开关,注意打开电源 开关后,ON 电源LED应该亮起。

WIN10下会自动识别并安装驱动,我们什么都不用做,安装完成后打开设备管理器查看是否安装成功,在Windows运行命令框中输入devmgmt.msc 或者设备管理器,选择设备管理器回车即可。

 

如下图TouchTouch会被识别成USB串行设备,在不同的电脑后面的COM端口号可能会不相同,在这里为COM7。

WIN7则需要手动安装驱动程序,首先我们来看看没有安装驱动程序时是什么样子?

点击这里下载TouchTouch_Driver,下载完成后解压到本地硬盘中待使用。

 

 

BuildTest

 

了解了TouchTouch之后我们来进行buildtest吧,每块板子出厂都进行的完整的功能测试,以确保TouchTouch能够正常工作。下面来进行快速的测试。

如果您购买的套餐包含一块测试专用的128M Micro-SD卡的话就很方便了,这块内存卡内已经预先拷贝了所需的mp3文件。除此之外还需要一个立体声耳机或者立体声音频转接线连接到你的音箱或者功放。这里我们使用立体声耳机进行测试,提醒一下你的手机自带的耳机就可以前提是3.5mm插头的。然后只需要插上Micro USB线并打开电源开关就可以了。注意打开电源 开关后,ON 电源LED是否亮起。

戴上耳机,此时用手去触碰E0-E12之间任何的电极,你应该能够听到耳机开始播放mp3,逐个触摸其他电极会相应切换到不同的mp3。

 

需要提醒的:

  • 由于采用32u4作为主控芯片,此芯片自带usb转串口模块,所以串口操作有些和其他avr芯片(328p, 1284p, 2560au)有所不同。

  • 由于板载触摸芯片的工作机制,TouchTouch板在上电时会对触摸模块进行校准。所以在上电或者复位时不要用手去触碰任何电极,尽量远离TouchTouch板。同理要让TouchTouch板不要靠近任何导体为佳!

如果有问题请参阅FAQ或者单元测试部分。

TouchTouch 多媒体主控板 – 各功能模块单元检测

SD卡模块测试

准备好文件格式为FAT32的micro SD卡,最大支持32GB,拷贝MP3文件到micro SD卡的根目录中,SD卡文件列表如图:

将SD卡插入TouchTouch板上,并打开电源开关,如图:

打开Arduino IDE,上传

/*
Listfiles

This example shows how print out the files in a
directory on a SD card

*/
#include <SPI.h>
#include <SD.h>

File root;

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.print(“Initializing SD card…”);

if (!SD.begin(5)) {
Serial.println(“initialization failed!”);
return;
}
Serial.println(“initialization done.”);

root = SD.open(“/”);

printDirectory(root, 0);

Serial.println(“done!”);
}

void loop() {
// nothing happens after setup finishes.
}

void printDirectory(File dir, int numTabs) {
while (true) {

File entry = dir.openNextFile();
if (! entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
Serial.print(‘\t’);
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println(“/”);
printDirectory(entry, numTabs + 1);
} else {
// files have sizes, directories do not
Serial.print(“\t\t”);
Serial.println(entry.size(), DEC);
}
entry.close();
}
}

 

上传成功后,打开串口监视器窗口,如果SD初始化成功,显示如下:

代表SD模块完全正常,可以接着进行测试其他模块。

如果SD初始化失败,显示如下:

代表SD模块测试不通过,需要找到具体原因。常见原因如下:

  • SD卡接触不好,可以重新插入SD卡再进行测试。
  • SD卡文件格式不兼容,无法识别,需要格式化成FAT32再拷贝MP3文件测试。
  • SD卡损坏或不兼容,更换SD卡。

触摸模块测试

保持前一步的硬件即可进行触摸模块测试,在Arduino IDE中打开SimpleTouch_Test例子,点击上传程序,如图:

上传成功后,打开串口监视窗口,然后用手依次触摸TouchTouch的12个电极,会有相应的串口输出如图:

如果触摸后没有输出,可以关闭串口监视器后,重新打开TouchTouch电源开关再试,否则需要找到具体原因。

至此触摸模块测试完成,如果没有问题可以进行触摸MP3播放程序测试。

触摸MP3播放测试

保持前一步的硬件,另外插上立体声耳机或者立体声音响插头即可进行触摸模块测试,在Arduino IDE中打开Touch_MP3例子,点击上传程序,如图:

上传成功后,带上耳机或者打开音响,然后用手依次触摸TouchTouch的12个电极,会切换相应的MP3播放。注意每触摸一次电极,红色 L LED会闪烁一次。

如何需要在串口监视窗口打印一些信息来调试程序。

打开你的代码,通常能够看到下面一行代码:

while (!Serial);

此代码位于初始化函数setup()中,用来确保程序处于等待状态直到USB被打开。这使得程序调试变得简单,因为你可以全部的USB数据输出。如果你不想在程序运行时必须打开USB(注意是必须打开USB程序才能往下运行,否者程序会一直处于等待USB打开的状态),那么把这行删除或者注释掉就可以了。

通常这行代码是注释掉的,因此不会被执行。但是如果我们需要调试程序的时候,它将很有用,解开这行代码的注释意味着除非我们手动打开串口监视器,否则程序将一直等待我们。

这里的打开USB也需要特别说明一下,是要手动点击Arduino IDE的串口监视器串口或者用串口调试助手打开相应的串口号进行调试等。

解开这行代码,需要重新上传改动过的代码到TouchTouch中,上传成功后打开串口监视窗口,再进行触摸就会有相应的串口输出如图: