2014/09/23

漢字フォントファイルからの漢字表示

SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player」で使用した「日本語フォントROM GT20L16J1Y」が在庫なしのままなので、代替としてフォントファイルを使用した漢字表示にトライしました。
漢字フォントは「JISX0213(所謂第3,4水準漢字)用bdfフォントのページ」で公開されている16×16版をバイナリ化しています。

フォントファイル:jiskan16.fnt
表示テストプログラム:GKanji16.cpp(mbed.orgからimport)

(more…)

2014/09/12

mbed NXP LPC1768+☆board Orange+aitendo=Music Player

前記事の「SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player」のソースコードを変更せずに、mbed NXP LPC1768+☆board Orangeにaitendo TFT-LCDを接続して、音楽再生します。

mbed NXP LPC1768+☆board Orange

mbed NXP LPC1768+☆board Orange

(more…)

2014/09/11

SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player

前回の記事でmbed LPC1768を使ったwavファイルの再生ができたので、タッチパネル付きのTFT液晶と組み合わせて音楽プレーヤーの形にしてみました。
CPUボードは、Arduino互換のインターフェイスコネクタの付いたSeeedStduioのArch PROを使用、SDメモリーカードのスロットの付いたaitendoのTFT液晶を組み合わせました。
この組み合わせに画面に曲名などの日本語を表示するために漢字フォントを接続します。
音楽データは、16bit/Stereo、32/44.1/48kbps形式の非圧縮wavファイルでを再生できます、音楽ファイルとセットになる楽曲情報(アーティスト/アルバム/曲名)、ジャケット画像(.jpg)が存在すれば、再生時に画面に表示します。

(more…)

2014/08/17

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生(2)

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生」の続きです。
出力のPWM値の書込処理時間短縮のために、PWM値を標準の実数値での書込みから整数値での書込みに(かなり強引な方法で)変更しました。
実数値で書込みを行った場合の割込処理時間は約7.6usでしたが、整数値での書込みにしたことで1.85usに短縮されます。
これによって、WAVファイルの読込時間が1.77msから1.21msと短くなりました。

(more…)

2014/08/15

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生

Arduino UNO/Mega 2560 .WAVファイルの再生」では、非力なCPUで「16000Hz/8bit/Mono」形式の.WAVファイルを再生してみました。
今回は、mbed NXP LPC1768で「44100Hz/16bit/Stereo」形式の.WAVファイルの再生を試行します。

「44100Hz/16bit/Stereo」形式になると単純計算で44,100*2*2=176,400(Byte/s)の転送能力が必要になります。
最初のネックはSDからの.WAVファイルの読み出し速度ですが、SDFileSystemのデフォルトでは、SPIのクロックは1MHzに設定されているために約125,000(Byte/s)となり、必要な転送速度を下回ります。
実験のためにSDFileSystem.cpp内のSPIクロックの設定を24MHzに変更し、3MB/s(理論値)の転送速度にして実験しています。

(more…)

2014/08/06

Intel Galileo GEN 2 超音波距離センサーモジュール

Galileo GEN 2のポート操作が普通の速さになったので、気を良くして、超音波距離センサーモジュール(HC-SR04)を接続して、パルス幅を読取るファンクションpulseIn()を使ったスケッチを試したところ、あっさりと動いてしまいました。
(以前にはpulseIn()は非サポートとなっていました)

Galileo GEN2 + HC-SR04

Galileo GEN2 + HC-SR04

(more…)

2014/08/05

Intel Galileo GEN 2 ポート操作速度計測

昨年末に「Intel Galileo ポート操作が異様に遅い」という記事を書きましたが、Galileo GEN 2が発売になり、購入しましたので再計測しました。
ポート操作(digitalWrite)の処理速度を確認するために、前回と同じ下記のスケッチでポート操作に必要な時間を計測してみました。

(more…)

2014/03/23

液晶表示のオシロスコープ

インターフェース誌2014/3、4月号に掲載された後閑先生の「アナログ・リッチPIC24FGCで作る高速オシロスコープ」で紹介されたMicrchip PIC24FJ64GC006を使って、先生の作例(PIC24FGCで波形生成と波形観測を行って、観測結果はBluetoothでタブレットに送信)とは違って、タッチパネル液晶に表示するオシロスコープを作ってみました。

オシロの全体写真

PIC24FJ128GC006を使ったオシロスコープ

(more…)

2014/03/09

Arch Pro & 2.6インチTFT液晶

mbed(LPC1768)仕様でフォームファクタがArduinoというseeedstudioのArch Proを購入、aitendoの2.6インチ液晶 for Arduino UNO[UNO026LCD7781TP]を接続してみました。

Arch Proのピン配列に少しイラッと(ピン配置のポリシーが理解できない)しながらもタッチパネルまで移植完了。
Arch Pro、TFT液晶どちらも価格の割には満足度は高いかも(^^)

2.6TFT & Arch Pro

2.6TFT & Arch Pro

Paint

タッチパネルテスト用のPaintアプリ

2014/01/26

Arduino UNO/Mega 2560 .WAVファイルの再生

Arduino UNO/Mega 2560で動作する.WAVファイル再生スケッチを作成しました。
.WAVファイルは、フォーマット変換アプリで「8000Hz/8bit/Mono」または「16000Hz/8bit/Mono」形式にして、SDカードにコピーします(サンプルスケッチでは「test0001.wav」です)。
UNOではD3pin、MegaではD9pinから出力されますので簡単なローパスフィルターを通してアンプに接続します。

(more…)