Dotsduino で遊んでみたよ
Dotsduinoは @arms22 さん開発の Arduino + 8x8LEDドットマトリクス な収まりのいいガジェット。スイッチサイエンスさんから買えるとの告知に脊髄反射で購入してみたので、ひさしぶりの Arduino と戯れてみたり。
1/13朝注文して、1/14の午前中には届いてた。相変わらずスイッチサイエンスさんは速い。ありがたい。ちなみに、自分が注文した数時間後に商品ページ見たら売り切れになってた。。。速いな。迷ってるひまはないw
- スイッチサイエンス/商品詳細 Dotsduinoキット
http://www.switch-science.com/products/detail.php?product_id=510- 1/26現在も売り切れ
Dotsduino 公式情報
- なんでも作っちゃう、かも。 Dotsduino
http://arms22.blog91.fc2.com/?tag=Dotsduino- Dotsduino(ドッツデュイーノ)のスケッチと回路図
http://arms22.blog91.fc2.com/blog-entry-388.html - Dotsduino(ドッツデュイーノ)ハンダづけ
http://arms22.blog91.fc2.com/blog-entry-395.html - Dotsduino発売!
http://arms22.blog91.fc2.com/blog-entry-397.html
- Dotsduino(ドッツデュイーノ)のスケッチと回路図
部品の確認
- LEDドットマトリックス、メイン基板、ATmega328p、抵抗x9、コンデンサx3、ピンヘッダ ととってもシンプルな構成。これならはんだ付けも楽そう
はんだ付け
- まずは背の低い抵抗x9から〜。R1だけ10kΩなので、気をつける。ほかは一緒。
- 上の写真は抵抗だけはんだ付け完了したあとの基板。基板が白いのでフラックスの色が目立っちゃう
- 次にマイコン、コンデンサ、ピンヘッダの順ではんだ付けした
- 抵抗、コンデンサは足を入れて曲げて固定したら、余分な足を切っておいて一気にはんだ付け
- ピンヘッダは斜めについちゃうと使いにくくなるし、カッコ悪いので、1本だけはんだ付けして位置調整してから他のピンも固定
- 公式ページでは ICSP と A4,A5 に何もつけてないけど、いろいろ遊びたくなるかもしれないから、両方ともピンヘッダつけといた。
- 最後にドットマトリックスに基板をはめて(向きに注意)上下各8本のピンをはんだ付けすれば完成〜
- 電池に単四x3本入れて VCC=赤、GND=黒 になるように電源ケーブルを接続して、スイッチをON すれば、一番上の写真のように はあと がビートするはず
- 公式ページによると 約2.7V~5Vの範囲で動作するとのこと
Arduinoなのでスケッチを書き換えてみる
- Arduinoは AVRを中心としたハードウェアで構成されていて、ブートローダーが予め書きこまれており、PCとArduinoをシリアル接続して、スケッチと呼ばれるユーザープログラムを専用のIDEから書きこんで動作させることができるシロモノ
- Arduino – Wikipedia
http://ja.wikipedia.org/wiki/Arduino
- Arduino – Wikipedia
- PCに接続するためには USB-シリアル(TTLレベル)変換モジュールが必要。公式では3.3vのやつ↓を勧めているが、5V(手元にそれしかなかった)でも正常に書き込めた。以下候補
- 公式でオススメ / スイッチサイエンス/商品詳細 3.3V動作Arduino製品向け小型USB-シリアルアダプタ
http://www.switch-science.com/products/detail.php?product_id=343 - FT232RL USBシリアル変換モジュール: 半導体 秋月電子通商 電子部品 ネット通販
http://akizukidenshi.com/catalog/g/gK-01977/ - FT2232D USB-シリアル2ch変換モジュール: 組み立てキット 秋月電子通商 電子部品 ネット通販
http://akizukidenshi.com/catalog/g/gM-02990/
- 公式でオススメ / スイッチサイエンス/商品詳細 3.3V動作Arduino製品向け小型USB-シリアルアダプタ
- 以下のように接続すればおk
Dotsduino | USBシリアル |
GND | GND |
VCC | VCC |
RXI | TXD |
TXD | RXD |
DTR | DTR |
- 写真は FT2232Dのモジュールと接続したところ
- Dotsduino はリセットスイッチがないので、IDEからリセットかけられるようにするために DTRの接続が必要(ちょっとハマった)
- cf. DTR と Arduino の関係 – eggshell blue
http://d.hatena.ne.jp/RobinEgg/20090930/p1
- cf. DTR と Arduino の関係 – eggshell blue
- IDEは以下からDLする
- Arduino – Software
http://arduino.cc/en/Main/Software
- Arduino – Software
- Dotsduino のライブラリを arms22 さんのページからDLして、説明通りに展開
http://arms22.blog91.fc2.com/blog-entry-388.html - Arduino IDE を起動して、これも説明通りに ToolsメニューのBoard, Serial Port を適切に選ぶ
- File→Examples→Dots 以下にいくつかサンプルが提供されている
- サンプルファイルを開いて Upload すると自動的に Dotsduino にリセットがかかってスケッチが転送されて実行される
- DTRを接続していないとリセットがかからないので、Uploadに失敗する\(ハマった)/
Dotsduino で 源氏物語
- 8×8ドットなら美咲フォント だな、ということで
- 美咲フォントのひらがな部分を組み込んで、源氏物語(一部)を読めるようにしてみたよ
- 美咲フォントを BDF形式でDLしてきて、以下のような配列を生成するスクリプトを書いただけ
#include <Dots.h> // ここから自動生成 const byte hira[][8] = { { B00000000, B00010000, B00111100, B00010000, B00111100, B01011010, B00110010, B00000000, }, { B00100000, B01111100, B00100000, B00111100, B01101010, B10110010, B01100100, B00000000, }, // 中略 { B00010000, B01111100, B00100000, B01110110, B10011000, B00101000, B00011110, B00000000, }, { B00010000, B00010000, B00100000, B00100000, B01010000, B01010010, B10001100, B00000000, }, }; // いつれのおほむときにかにようこかういあまたさふらひたまひけるなかにいとやむことなききはにはあらぬかすくれてときめきたまふありけり const int seq[] = {3,35,75,45,9,58,63,39,12,42,10,42,71,5,18,10,5,3,1,61,30,20,52,72,49,30,61,49,16,74,41,10,42,3,39,67,63,18,39,41,12,12,46,42,46,1,72,43,10,24,14,75,37,39,12,64,12,30,61,52,1,73,16,73}; #define SEQ_SIZE 64 // ここまで自動生成 void setup() { myDots.begin(); } void loop() { for(int i=0; i<SEQ_SIZE; i++) { myDots.write(0, hira[seq[i]], 8); myDots.updateWithDelay(500); } delay(5000); }
とっても楽しいガジェット提供していただいた @arms22 さんに感謝!
http://blog.goo.ne.jp/jh3kxm/e/808333623c3bce4a4e2a1fd0e9e90f7f