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中,上传成功后打开串口监视窗口,再进行触摸就会有相应的串口输出如图:

TouchTouch 多媒体主控板 – 常见问题FAQ

需要提醒的:

  • 由于采用32u4作为主控芯片,此芯片自带usb转串口模块,所以串口操作有些和其他avr芯片(328p, 1284p, 2560au)有所不同。
  • 由于板载触摸芯片的工作机制,TouchTouch板在上电时会对触摸模块进行校准。所以在上电或者复位时不要用手去触碰任何电极,尽量远离TouchTouch板。同理要让TouchTouch板不要靠近任何导体为佳!

需要检查的基本点:

  • 电源开关是否打开,检查绿色的Led是否亮起?
  • 你的耳机或者喇叭插头是否插上?
  • 你的音频文件是否正确命名,并且匹配你选择的电极?
  • 导体是否和电极接触良好?
  • 如果使用了电极延长线,检查是否有短路?

FAQ

  • 当我插上USB时我的TouchTouch 不能工作!

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

while (!Serial);

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

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

  • 我的TouchTouch一直在Arduino IDE里不显示COM或者串口号

多数的情况是使用了只能充电的USB充电线而不是USB数据线。

现在市面上有很多USB线只能充电而不能传输数据,所以一定要确保你使用的是原装的优质USB数据线!也有少数质量比较劣质的数据线也会产生问题,或者导致使用不稳定!

  • 我承认!我做了“某些不当操作”然后当我插上TouchTouch板,它再也无法像之前一样正常工作了,并且我也不能为它上传代码进行编程,总之搞不定了。。。

没问题!你可以很容易修复一个上传了坏的代码的TouchTouch板。不过这种情况只适用于如果你设置了看门狗定时器或者睡眠模式停用了USB,或者任何使你TouchTouch板崩溃的代码。

  1. 再Arduino IDE设置中打开verbose upload。
  2. 连接TouchTouch板的USB线,可能不会显示为COM/Serial port不过没有关系。
  3. 打开Blink例子(Examples->Basics->Blink)。
  4. 在工具菜单中选择正确的板卡,例如这里应该选择TouchTouch,然后编译Compile它,检查是否正确通过。
  5. 点击上传试着进行代码上传。
  6. IDE将会打印出一批COM端口号,当它试图上传代码的时候。在这个时候,按两下板上的复位按钮,你将看到红色的LED闪烁,代表进入bootloading模式。
  7. 此时TouchTouch板会在设备管理器中会显示出bootloader COM/Serial 端口,如此Arduino IDE也会通过这个端口进行代码上传。
  • 我的TouchTouch板不会显示COM端口号

TouchTouch板会有两个COM端口号,一个是用户端口,一个是bootloader端口,他们并不是同一个端口号。当你上传新代码时它会显示为用户端口,也就时你在程序中使用串口号。

如果你的用户程序崩溃或者由其他问题导致死机或其他问题,用户端口可能会消失不再出现。这种情况请参考上面的FAQ,来对板子进行手动复位上传程序。

  • 我无法理解COM端口号消失,我的Arduino UNO就不会出现这种情况

UNO类型的Arduino有一个专用的USB转串口芯片(例如FTDI芯片或者CH340等)用来专门处理所有的串口任务,和主芯片时分开的。这样的话无论你的主芯片有没有失效你总是可以使用COM端口。

32u4和M0类型的Arduino不具备一个分开的专用USB转串口芯片,而是主芯片来执行这个任务。它是现实了经济性和高效性的配置,但是随之需要付出额外的代价是在某些时候需要手动进入booloader模式。

 

如果你需要分功能模块来测试你的TouchTouch,请查看这里

Boneduino 328p Basic – A small compact stackable Arduino controller mainboard

厌倦了传统的Arduino主控板,膨大的体积导致我们的原型搭建成功后,难以直接被我们的项目使用,必须重新设计才能满足我们的需求。那么有没有一款小巧并且能直接使用到我们的产品或者项目中的Arduino主控板呢?

Duinopeak经过数年的开源硬件开发,不断改进现推出下一代Arduino主控板-Boneduino系列,满足您多样话的产品和项目需求。

Duino

 

Boneduino Family – the next generation Arduino prototype platform!

 

厌倦了传统的Arduino主控板,其庞大的体积虽然能满足我们的原型搭建,但是难以直接被我们的产品和项目使用,必须重新设计才能满足我们的需求。那么有没有一款紧凑的高可扩展的并且能直接使用到我们的产品或者项目中的Arduino控制板呢?

Boneduino是经过数年的开源硬件开发,不断改进现推出下一代Arduino主控板-Boneduino系列,满足您多样话的产品和项目需求。

Tired of the traditional Arduino main control board, its huge volume can meet our prototype construction though,  it is difficult to be used directly by our products and projects. It must be redesigned  to meet our needs. Is there a compact and highly scalable Arduino compatible that can be directly used in our products or projects?

After several years of open source hardware development, Boneduino has continuously improved the next generation of Arduino main control board -Boneduino Family to meet your variety of product and project requirements.

Boneduino Family