使用部品
Teensy4.0
Teensy4.1よりコンパクトな分、USBホストのピンが出てなくて、SDカードスロットがなくて、FLASHメモリのサイズが1/4の2MBに。価格はTeensy4.1より少し安い。
SDカード
ILI9341のLCD。タッチ付きと無しがあるみたい。画面の大きさは1.8インチから3.2インチくらいまである様子。SDカードのスロットがついてる(microSDではなくてデカい)。とりあえず初めて使うので秋月で購入した。
https://akizukidenshi.com/catalog/g/g116265/
USBホストケーブル
コネクタ部分を切って、ケーブルをむき出しにしてはんだ付け。白をD-、緑をD+、赤をVUSB(5Vと3.3Vの間のGNDの隣に穴が空いてる)、黒x2をGNDに。
接続
LCD + SD Card
ILI9341 LCD | Teensy4.0 |
---|---|
VCC | 3.3V |
GND | GND |
CS | 10 |
RESET | 6 |
DC | 9 |
SDI(MOSI) | 11 |
SCK | 13 |
LED | 50Ω -> 3.3V |
SDO (MIDO) | 12 |
SD_CS | 1 |
SD_MOSI | 11 |
SD_MISO | 12 |
SD_SCK | 13 |
USB Host Cable
USB Hostケーブル | Teensy4.0 |
---|---|
赤 | VUSB |
白 | D- |
緑 | D+ |
黒 | GND |
黒 | GND |
スケッチ
LCDに関してはILI9341_t3、ILI9341_t3n、ILI9341_t4といったライブラリがArduino IDEのライブラリマネージャにも登録されていて、サンプルがそれぞれ動いた。ピンのアサインは適宜変更のこと。
SD CardはTeensy4.x用のライブラリ?がそのまま使えた。SD.begin()でSD-CSのピン番号を指定するだけ。
#define SD_CS 1
// SDカード初期化
if (!SD.begin(SD_CS)) {
Serial.println("Failed to init SD Card");
}
else {
Serial.println("Succeeded to init SD Card");
}
// ファイルを書き込み(追記)モードで開く(なければ作成)
File file = SD.open("/test.txt", FILE_WRITE);
if (file) {
file.println("Hellow SD Card");
file.println("Written from Teensy 4.0");
file.close();
Serial.println("Wrote to SD card");
}
else {
Serial.println("Failed to open file");
}
USB HostはTeensy4.1と同様。