スポンサーリンク


RAKUTEN

  • スポンサーリンク

« 2013年4月 | メイン | 2013年7月 »

2013/05/28

AITENDOのFSTN液晶 その2

昨日からAITENDOにあるサンプルコードを流用してFSTNの設定をやっているのですが、全然動作していません。

 

さきほどネットで”AITENDO FSTN”で検索したら、既に表示に成功された方のブログを見つけました。その内容によると、AITENDOのページの取り付け写真にあるLCDのフレキが逆、というかLCDが裏返し、らしいです。。。

つまり↓のページの写真全部LCDが裏返し?

http://www.aitendo.com/product/5466

でもちゃんと動いてて渦巻きっぽい絵を表示してるではないですか。。。。。。と思ったらバックライトしか配線してないですね(^^;。表示できるはずない。つまり渦巻きははめ込みかな?

 

確かにこのLCDの端子は変わったフレキケーブルで、両面どちらからもはんだ付けできるようになっています。これを使われる皆様はどうぞご注意くださいね。

 

実は、私は一度逆(つまり正しく)取り付けていて、AITENDOの写真をしげしげと見直して、おお、危ない逆だった、と付け直しています。あそこで見直さなければ結果オーライだったのか、と思うとショックもひとしおです。

  

今日は付け替える気力が出ないので寝ます。

それではまたです。

2013/05/26

AITENDOのFSTN液晶モジュール

ちょっとPICAXEの方はお休みして、AitendoのFSTN液晶モジュールというのをいじりはじめました。

Dscf2020_2  Dscf2022_2

 ・インタフェースがシリアル(SPI)で簡単

 ・電源が単一電源(3-3.3V)、バックライトも含む

 ・結構小型で薄い

 

といった理由で何かに使おうと思って買ってあったものです。

ホストCPUに実はPICAXEとの組み合わせを考えていたのですが、速度が気になるので断念して、秋月電子で売っているPIC24FJ64GA002にしました。これですと32MHz動作、FLASH64KB、SRAM8KBですので、ちょっとしたゲーム機ができると思いまして。

 

ケースにはサイズ的にFRISKは無理なので、今回はMINTIAをターゲットとします。

Dscf2024 とりあえずLCDとCPU、スピーカ、スイッチを

入れてみたところです。なんとか入りそうです。電池は外出しになってしまいますが。。。。

まずはLCDの配線までやりました。今はバックライトだけ光ります。

Dscf2027  Dscf2029_2

上の方の写真でミニスピーカを入れていますが、駆動回路が面倒になるし、音も小さそうなので、ちょっと大きめの圧電スピーカに変えました。

 

このあとSPI制御によるLCD駆動ソフトにかかります。

 

それではまたです。

2013/05/22

PICAXEの速度を測ってみました

PICAXEが実に簡単に使えるのは前回確認しました。

次は速さはどうなんだろう?というのが気になりますよね。そこで、今回はベンチマークテスト、というと大げさですが一番簡単なIOパタパタの周期をオシロでとってみました。

Dscf2015 試したPICAXEは8ピンの08M2です。

 

Picaxe_speed1  これが今回試したIOパタパタのコードです。

簡単なものなので、ソースをコピペします。

main:
high C.1  ; Switch on output C.1
low C.1  ; Switch off output C.1
goto main  ; Loop back to start

 

さあ、どうでしょう。インタプリタ内蔵PICの実力とやらを、オシロで見てみました。

Dscf2017  Dscf2018

パタパタのLOOP一周期が1.36msです。。。。。。usじゃないですよ。

  

Dutyが50%でないのは、Goto命令があるためですね。これで見るとIO命令の時間を1とするとGoto命令が3くらいかかっているようです。

  

それは良いとして、周期1.36msってどうなんでしょう?ちょっと計算してみましょう。

  

  ・PICAXE08M2はベースがPIC12F1840(32MHz)だそうです。

  ・PICは1サイクル(分岐は2サイクル)で1命令実行。1サイクルは4クロック周期。

  ・32MHz動作なら1サイクルは4*1/(32*10^6)=125nsのはず。

  ・もし同じIOぱたぱたをアセンブラで組んだらBSF,BCF,GOTOの3命令で

   合計4サイクル(GOTOが分岐なので2)=500nsつまり0.5us。

  ・1.36msってことは、その2,720倍の時間がかかっている?

  

   インタプリタが動いているにしてもちょっと大きいような?インタプリタといっても中間コードで動いているだろうから、解釈にそんなにかかるとも思えないし。

 

もしかしたら意図的に、例えば実行時間を一律にするために、実行周期をあえて大きくとっているとか? 

  

インタプリタで動かしているものをプリミティブな命令と比較するのは意味がないとは思います。通信等の速度が要求される処理はコマンドになっているから問題ないということもあると思います。

 

しかしIO操作に数100usかかるというのは実際の制御系だとちょっと間に合わないケースが多そうな気がします。学習用ということでしたら全く問題ないでしょうが。

 

あとはもしかしたらPICAXEの方の設定にデバッグモードとか何か実際より遅くなる要因があって本当はもっと早いとか? 

とりあえず、何も考えずに、デフォルト設定のままやってみたらこういう結果になりました、ということで、今回はここまで。

2013/05/20

PICAXEで簡単オルゴール

既に遅れているのかもしれませんが、秋月電子でPICAXEなるものが売られているのに先週末気付きました。

BASICというキーワードが有るので、「もしや昔あったBASICインタプリタ内蔵のPIC-BASICスタンプの再来?」かと思って注目していたのですが、どうもそうではなく、PC側の開発環境がBASICやフローチャートという物らしい、ということで、ちょっとテンションが下がってました。
(なお、BASICスタンプは入出力をなんとかして、昔のBASIC内蔵ポケコンもどきにできないかなあ、とちょっと考えているうちになくなってしまった。。。というのがありまして。)

 ところが、その後PICAXEの仕様を見ていたところ、音楽関係の命令があり、しかもRTTTLというもので記述された音楽データがネット上に大量にある、ということに気付きまして、じゃあ電子オルゴールにしてみるか、ということで秋月のスターターキットを買ってきてみました。

基板はシルク印刷を見てICソケット、ジャック、ピンヘッダ、抵抗2個、コンデンサ1個、電池、をつなぐだけです。

 

あと、5ピンとGNDの間に圧電スピーカを付けています。PICAXE-08M2のデータシートによると、サウンド出力(TUNE)はこのピンに出てくるということのようですので。(8ピンよりおおきなチップだと出力ピンが選べるみたいですが。)

 

ソフトは何も考えずについていたCD-ROMからそのままインストールしました。ダウンロードケーブルドライバのインストールだけちょっと手間取りましたが、デバイスマネージャから

Usb_Driver_AXZE027 -> Windows-XP-2000-VIsta-7

を選ぶことで動作するようになりました。

動作については音物ですので、動画でご覧ください。

セットアップからプログラムの書き込みまで実に簡単です。単音なのはちょっと寂しいですが、PICAXEならぬまっさらのPICで同じことをやったら結構大変です。プログラム以前のCONFIGやTRIS,ANSELなんかの設定で最初につまづく人も多そうですし。

 

しかも、動画で紹介している以下のページから1万以上の音楽データがダウンロードできるようですし。

http://www.picaxe.com/RTTTL-Ringtones-for-Tune-Command/

ここからZIPファイルをダウンロードして展開すると”音楽名.BAS”というファイルがいっぱい出てきますので、PICAXE PROGRAMMING EDITORからそれを開いてProgramボタンを押すだけです。

 

今回初めて知ったのですが、このデータはRTTTL形式というもので、NOKIAが音楽データ交換用に規定したものだそうです。

 

動画ではX'mas songsをダウンロードして試しています。実は動画以外にも何曲か聞いてみて「なんかちょっとリズムか音程が変じゃない?」という箇所が結構あるのですが、それはデータが変なのか、使っているPICAXE-08M2の設定か制限の問題なのか、ちょっとわかりかねています。 (データの問題かどうかは楽譜を探してきて比較すればすぐわかるので、そのうち暇が出来たら確認しようと思います。)

 

そういえば、PIcaxeProgrammingEditorにはシミュレーション機能もあって、ProgramしないでもPC画面でシミュレーション動作できて、音楽も聞こえるのですが、その音にもなんか変なことがあるみたいです。オクターブがずれているんじゃないかなあ、という感じの時が。

 

実チップにProgramして動作させると正しく聞こえるので、これはシミュレーションモードの設定の問題かなと思っています。(全くマニュアルをみずにいじってますので。)

まあ簡単に実機で確認できるから、あまり気にしてません。

 

正直ちょっと侮っていたのですが、ここまで簡単にできるなら学習用としてはかなり良いように思います。案外面白い物なので、他の機能もいじってみたいと思います。

それではまたです。

2013/05/07

【動画紹介】タイマーIC555でAMラジオ

タイマーICの555は昔電子オルガンとか点滅回路とか作った覚えがありますが、それでラジオ?ということで見てみました。

確かに同調回路と555だけでスピーカラジオになっています。

解説によるとPWMモードを使って復調と増幅を同時に行っているようです。

よく考えたものです。

 

 

あと、この動画のおかげで、555コンテストなるものが行われていたことを知りました。

http://blog.makezine.com/2012/08/22/555-timer-contest-highlights/

Wikipediaによると1972年に開発されたICですので、もう40年以上使われているのですね、それでもまだ新しい使い方を見出す精神と発想に脱帽です。

 

 

それではまたです。