PICAXE-28X2シールドベースを試してみた

昨日秋月電子で購入したPICAXE-28X2 Shield Baseを動かしてみました。

picaxe_28x2_shield_base.jpg

まずはPICAXE-28X2 Shield BaseのマニュアルをPICAXEサイトで斜め読みして、+9VのACアダプタをつなぎ、AXEPadでmodeをPICAXE-28X2にした上で、Lチカのプログラムを入力しました。ProgramでPICAXE-28X2に書き込もうとしたところ、デバイスが見つかりませんという表示が。おかしいなあともう一度マニュアルをみたら、PICAXE-28X2 Shield Baseにはジャンパー設定が必要だったのでした。

確かにパッケージにジャンパーピンが4つ付属しています。まずこれを取り付けないと動きませんのでご注意を。

これで問題なくLチカができました。

次に手持ちのDecoシールドを取り付けて、LEDが順に点灯するプログラムを書いたところ、こちらも問題なく動きました。

一通り動かしてみたあとで、BASICの文法を見ましたが、かなり複雑なことができるようなので今後いろいろ試してみようと思います。

PICAXE-08M2でLチカをしてみました

最近秋月電子から販売が開始されたPICAXE(ピカクス)を買ってみました。
なにやらプログラムをBASICで書くそうでどんなものだろうと興味を持ったのがきっかけです。
購入したのは以下のものです。

  • PICAXE-08M2
  • PICAXEダウンロードケーブル
  • ブレッドボード用PICAXEダウンロードケーブルコネクタ
  • PICAXE-28X2シールドベース

開発環境で作成したプログラムをPICAXEチップに書き込む時にはシリアル通信のため、ダウンロードケーブルはUSB-シリアル変換を行っているようです。

PICAXE-08M2でLチカをしてみます。まずはハードウェアを準備します。今回はブレッドボードで組んでみました。

最初にブレッドボード用PICAXEダウンロードケーブルコネクタをハンダ付けして組み立てます。

AXE029_adapter.jpg

このダウンロードケーブルコネクタは18/28/40ピンのPICAXEチップの場合は、そのままチップの横に取り付けられるので便利なのですが、今回使う8PのPICAXEチップの場合はケーブルで配線しなければなりません。

次にPICAXE-08M2チップをブレッドボードに取り付け、電源コネクタとダウンロードケーブルコネクタを取り付けて配線します。なぜかブレッドボードのワイヤーセットが見当たらなかったので適当なケーブルを3本使って見た目がスッキリしませんが、あとでワイヤーセットがでてきたらきれいにします。

PICAXE_prototype.jpg

接続はこんな感じ。電源はACアダプタ(+5V)を使いました。

PICAXE-08M2  1P   +5V

PICAXE-08M2  2P   Serial In ---- AXE029 IN(RXD)

PICAXE-08M2  3P   C.4(Output) ---- LED ---- 330Ω ---- 0V

PICAXE-08M2  4P   NC

PICAXE-08M2  5P   NC

PICAXE-08M2  6P   NC

PICAXE-08M2  7P   Serial Out ----- AXE029 O2(TXD) ... O1でも良い。ジャンパを合わせたところ。

PICAXE-08M2  8P   0V ------------- AXE029 0V

外部電源 +5V

外部電源 0V

開発環境はMacBook Airを使いました。ソフトウェアのインストールは以下の2つだけです。いずれもPICAXEのサイトのDownloadから無料で入手することができます。

  • ダウンロードケーブルのドライバ  (AXE027 USB Cable Driver)
  • 開発環境のAXEpad

まずはダウンロードケーブルをMacに接続する前に、ドライバをインストールします。

インストールが完了したらターミナルを立ち上げて、

ls -l /dev/tty.usbserial-*

と入力して、デバイス名を確認します。私のMacBook Airでは、/dev/tty.usbserial-000013FA となっていました。

次に開発環境のAXEpadをインストールして、ViewメニューのOptionsを選択します。Modeをクリックすると書き込むPICAXEチップの種類が設定できますので、PICAXE-08M2を選択しました。

axepad_view_options_mode.jpg

次にPortを選択し、先ほどのダウンロードケーブルのデバイス名を設定します。

axepad_view_options_port.jpg

これで開発環境の準備は完了しました。

あとは、AXEpadに表示されている画面にプログラムを入力していきます。BASICで書きますがラベルが使えます。

axepad_program1.jpg

入力が完了したら、PICAXEメニューのCheck Syntaxで問題ないか確認したあとに、ProgramでPICAXEチップに書き込みます。

無事Lチカが行えました。

明日はPICAXE-28X2シールドベースをいじってみたいと思います。

ASUS fonepadのセットアップを行いました

ASUS fonepad ME371MGを買ってしまいました。次期Nexus 7の噂があったのでそれを待っていたのですが・・。つい。
ヨドバシカメラでオーダーして翌々日には到着しました。
外箱はこんな感じです。
fonepad01.jpg

外箱をあけると本体がでてきました。
本体の左下に噂のはがれにくいお問い合わせ窓口シールが見えます。
fonepad02.jpg

裏面を見てみると、intel insideのロゴがあります。
fonepad03.jpg

外箱の横には本体色を示すマークがありました。日本だとグレーだけみたいです。
fonepad04.jpg

私の場合は液晶保護シールも合わせて購入しました。エレコムのTB-ASM37AFLFAというfonepad ME371MG専用シートです。
fonepad05.jpg

液晶保護シールを奇麗に貼るには、画面左下のお問い合わせシールがどうしても邪魔になります。このシールをゆっくり丁寧に剥いだのですが、やはり跡が残ってしまいました。非常に残念な感じです。
fonepad06.jpg

でも、このあと手持ちの液晶画面掃除用の布で丁寧に拭きあげて、なんとか粘着材を拭き取ることができました。
fonepad07.jpg

このあと液晶保護シートを慎重に貼ってきれいに仕上げることができました。
fonepad08.jpg

ここまででかなり疲れてしまいましたが、引き続き3GのmicroSIMカードを取り付けます。私は手持ちのDTIのServerman SIM 3G 100を使いました。いわゆる490円SIMなので、スピードは遅いのですが、3Gがあると活用範囲が大きく広がります。遅くてもいいので常にネットワークがつながっているのは安心感があります。
fonepad09.jpg

あと、ストレージとして8GBのmicroSDカードもとりつけました。
fonepad10.jpg

準備が整ったところで電源を投入。初期設定を行いました。もちろん3Gの設定も行いました。
ちゃんとアンテナマークが表示され、3G通信ができていることが確認できました。もちろん、Wifiも問題ないです。
fonepad11.jpg

所感ですが、動作もキビキビしており、特にストレスはありませんでした。
初めてのintel insideなので、大丈夫かなと不安もありましたが、今のところは動作しないアプリには出会っていません。
使い勝手もNexus 7と同等のように思えます。バッテリーの持ちも悪くはなさそうですが、もう少し使い込んでみないとわかりません。
この連休にはこれを持っておでかけしようと思います。


大人の科学マガジン パタパタ電波時計を組み立てました。
Untitled
本体の組みたては難しくは無かったですが、パタパタする表示板を一枚ずつ取り付けていく作業が大変でした。
Untitled
組み立て風景をVineというiPhoneアプリでコマ撮りながら進めました。
6秒にまとめたものが以下の画像です。この画像はiPhoneのVineアプリだけで作っています。組み立て風景とかの記録にも良いですね。

我が家にある電波時計が0秒になったタイミングでこの時計もパタッと時刻が変わるのが楽しいですが、やや動作音が大きいのでガラスの戸棚の本棚に置くことで、やや音が小さくなりました。
Untitled
今後消音の工夫とか他のマイコンとかと組み合わせとか、あちこちでいろんな改造が始まるのではないかと思います。

<追記> @create_clockさまからラチェット回りにグリスを塗ると音が静かになるとの情報をいただきましたので、手持ちのグリスを塗ったところ、以前よりは遥かに静かになりました。
グリスを塗って消音化


mbed FRDM-KL25Zで遊んでみた

freescale社のFRDM-KL25Zという評価ボードがmbedになるとのことなので試してみました。今回は2枚購入しました。

frdm-kl25z.jpg

mbedのサイトにあるようにFRDM-KL25Zのファームウェアを書き換える必要がありますが、最初にMacのParallels DesktopにあるWindows7の環境で書き換えようとしたのですが、どうも不安定で書き込めたとおもっても書き込めていなかったりしてしまいました。

しかたないので、ThinkPadのWindows8でファームウェアを書き込んだところ、一発で書き込めてmbedに変身しました。

mbed.orgのコンパイラには「Freescale KL25Z」という選択肢が増えているので、それを選びLチカのプログラムを動かしたところ、LEDが点滅をはじめました。

この評価ボードはArduinoのピン配置を意識したものになっていて、mbedコンパイラでもArduinoのD0〜D13とA0〜A5の名前を使うことができます。

DigitalOut d0(D0);
DigitalOut d1(D1);

折角ですので、ピンソケットをハンダ付けして、先日ハンダ付けしたDecoシールドを取りつけて点滅するプログラムを書きました。ついでにKL25Zに搭載されているタッチセンサーの値を読み取って、点滅速度が変化するようにしてみました。他にもKL25Zのデバイスが利用できるサンプルプログラムがすでに準備されているので参考になります。

今回作成したプログラムはhttp://mbed.org/users/kanpapa/code/FRDM_Deco/においておきます。

このようにArduinoのシールドを活用して楽しむことができそうです。

以前VFDによる電光掲示板を作りましたが、このVFDはもう入手が厳しいようなので、今回は秋月電子のLEDマトリクスユニッ­トを接続してみました。

mbedとの接続は簡単で、ダイナミック表示も容易に行うことができました。

ダイナミック表示テスト中の動画をYouTubeにアップしておきました。

この仕組みを使い、前回同様にmbedを直接インターネットに接続し、Yahoo!ニュースWebAPIでニュースのヘッドラ­インを表示しました。

この動画では3セットのLEDマトリクス基板を使っています。もう1セット増設できるのでそこまで拡張してみようと思っています。

また、今回は新しいネットワークライブラリとmbedのサイトに公開されているspxmlexpatなどのXMLパーサを使ってみましたが、少しデータが多いとハングアップするので表示件数を絞っています。このあたりは試行錯誤中です。もし、使い勝手の良いXMLパーサーがあったらぜひ教えてください。

「羊毛フェルトでふわピカ動物をつくろう」というテクノ手芸部監修のムック本を娘にプレゼントしました。
できあがりはこんな感じです。
fuwapika.jpg
なかなかいい感じにできました。

@nxpfanさんがLPCXpresso-LPC812プレゼントというクリスマス企画をやっていたので、何気なくRetweetして応募したらなんとLPCXpresso-LPC812が当たってしまいました。当選してビックリしましたが、@nxpfanさんもビックリしていたようです。

というわけで本日到着しました。LPCXpresso LPC812です。

LPCXpresso_lpc812.jpg

ターゲットボードにLPC812がちょこんと載っています。ターゲットボードにはカラーLEDとボリュームも載っていて、予め書き込まれている動作確認用のプログラムで、ボリュームを回すとカラーLEDの点滅パターンがいろいろ変わってまるでクリスマスツリーのLEDのようです。

LPCXpresso_LPC812_2.jpg

LPCXpresso LPC812プレゼントをクリスマス企画にしたのはそういう理由かもしれません。
本当にありがとうございました。>@nxpfanさん

トラ技Jr.に載っていた「音声合成マシンで彼女GETだぜ」という記事を楽しく拝見しました。そういえばこのキーパッドはお正月に購入したaitendoの福袋に入っていたような気がするなぁ。あ、この音声合成チップも発売したばかりの頃に購入していたなあと思いだしました。LPCXpressoのLPC1114は持っていないのですが、ちょうどDIP ARMがトラ技に付いていたこともあり、なんとなくパーツは揃っているようです。

いざ手持ちのパーツを並べたところ、音声合成チップが記事で扱われた型番とは異なり、ATP3010F4-PUという少し古いタイプで電源が3.8V〜5.5Vのため3.3V系のマイコンには直接接続できません。そこで5V系と3.3V系の電源を用意することにして、5V外部電源から3端子レギュレーターXC6202P332TBで3.3Vを用意して、3.3V-5Vのロジック変換にFXMA108変換モジュールを使うという、トラ技Jr.の記事の内容とは異なりややシンプルでない構成になってしまいました。

とはいえすべて手持ちのパーツでなんとかなりそうだったのでブレッドボードに組み込みました。実装したボードはこんな感じです。

nxp_dip_arm_aquestalk.jpg

記事の内容ではアンプを接続していましたが、これはさすがに手持ちがなかったので2SC945を使っています。

プログラムはGPIOのポートだけDIP ARMに合わせて修正しただけで動作しました。DIP ARMの書き込みには手持ちのLPC-Linkを使いました。

動作中の動画をYouTubeにアップしておきました。音質が良く有りませんが、トラ技Jr.の記事のようにアンプを使用すれば大幅に改善されると思います。

「茶室で楽しむKOZOS拡張基板」というイベントに出かけてきました。このイベントの詳細についてはATNDCuBeatSystemsさんのページをご覧ください。今回の参加者は10名で、大阪や福島から来られたかたもいらっしゃいました。

会場となった都筑民家園の茶室はこんな感じのところです。茶室でお抹茶をいただいた経験は数回ありますが、さすがに長机を持ち込んでPCを並べて作業するのは初体験。

kozos_expbrd6.jpg

まずは今回使うプログラムやソースをUSBメモリからコピーして、今回のKOZOS拡張基板に対応したコンパイル済のブートローダーをAKI-H8/3069LANマイコンボードに書き込むのですが、ここが一番の難関で書き込めない人が続出。KOZOS本では第8章でブートローダーが完成し、それ以降は書き込みを行わないためかも・・。私の場合は直前までKOZOS本に取り組んでいたので無事書き込めました。

kozos_expbrd1.jpg

あとは拡張基板をマイコンボードに取り付けて準備完了です。この時点でテスト用のプログラムとMP3データをmicroSDカードにコピーして、拡張基板にとりつけRESETスイッチを押すと、MP3プレイヤーとして動き出しました。

kozos_expbrd2.jpg

次にNT-BASICが組み込まれたプログラムをmicroSDカードに上書きしました。シリアルコンソールからBASICが使えるようになります。しかも、MP3プレイヤーの機能も持っているので音楽を聞きながらBASICが楽しめます。

kozos_expbrd3.jpg

ここでBASICの話で盛り上がりました。RANDOMIZEとかFOR-NEXTとか懐かしいキーワードが飛び出しました。実は若いかたはBASICというものを触ったことがないそうで時代の流れを感じます。

午前中はこのあたりで時間切れになり、昼食には手打ちそばを頂きました。土間にある大きなかまどで茹で上げた二八そばをおいしく頂きました。

kozos_expbrd4.jpg

土間にあるこの釜でおそばを茹で上げていました。

kozos_expbrd5.jpg

午後はもくもくとソースを読んでいろんなことを試そうとしましたが、なかなか構造を理解するのが大変でちょっとした修正しかできませんでした。

まずはmicroSDカードに複数ファイルが入っていたときにファイル名の末尾の文字が消えていないバグを直しました。具体的には2枚目の写真でファイル名がSAMPLE.MP3PPとなっていますが、本当ならSAMPLE.MP3が正しいのです。これは最初にスペース文字列を表示してから、ファイル名を表示すれば良いので、task_fileio.cを以下のように修正しました。

$ diff -rc task_fileio.c.org task_fileio.c
*** task_fileio.c.org   2012-09-29 14:40:35.000000000 +0900
--- task_fileio.c       2012-09-29 14:43:02.000000000 +0900
***************
*** 109,114 ****
--- 109,115 ----
                break;
            }
            while (!pf_readdir(&dir, &filinfo) && filinfo.fname[0]) {
+               ipc_menu_set_filename("               ");
                ipc_menu_set_filename(filinfo.fname);
                if (!(filinfo.fattrib & (AM_DIR | AM_HID))) {
                    if (is_music_file(filinfo.fname)) {

あとはロータリースイッチを回す方向でLCDに"+++"や"ーーー"と表示するようにしました。task_menu.cを以下のように変更しました。

$ diff -rc task_menu.c.org task_menu.c
*** task_menu.c.org     2012-09-29 14:52:40.000000000 +0900
--- task_menu.c 2012-09-29 16:18:04.000000000 +0900
***************
*** 78,83 ****
--- 78,84 ----
              _volume--;
              LED_LEFT();
              DISP_VOLUME(_volume);
+           ipc_display_draw_text(24, 20, "---");
          }
      }
      if (p[2]) {
***************
*** 85,90 ****
--- 86,92 ----
              _volume++;
              LED_RIGHT();
              DISP_VOLUME(_volume);
+           ipc_display_draw_text(24, 20, "+++");
          }
      }
      NTLEVT_END(NTLUSR_TRACK_MENU, NTLUSR_EVENT_MENU_ROTARY);

パラメタを変えるとニジマス君の大きさが変えられるようになっていたので、そのあたりをいじったり、別のBMPファイルをロゴにして表示しようとしましたが、残念ながら途中で時間切れとなってしまいました。

*** 164,170 ****

  {
    ipc_display_clear();
    ipc_display_draw_box(0, 0, 121, 31, 1);
!   ipc_display_draw_logo(2, 2, 0);
    DISP_VOLUME(_volume);

    while (1) {
--- 167,175 ----
  {
    ipc_display_clear();
    ipc_display_draw_box(0, 0, 121, 31, 1);
!   //ipc_display_draw_logo(2, 2, 0);
!   ipc_display_draw_logo(2, 2, 1);
    DISP_VOLUME(_volume);

    while (1) {

最終的なもくもくの結果です。ニジマス君が大きくなってはみでています。ロータリースイッチを回すと+++やーーーと表示されました。ファイル名も正しくSAMPLE.MP3と表示されるようになりました。

kozos_expbrd8.jpg

今回提供いただいたサンプルプログラムは拡張基板のデバイスをフル活用できる内容でしたので、ソースを読み込んでじっくり試してみたいと思います。

このような楽しいイベントを企画いただいた中村さんに感謝です。あと、坂井さんをはじめ参加された皆様お疲れさまでした。

kozos_expbrd7.jpg

月別 アーカイブ

ウェブページ

Powered by Movable Type 5.2.3

最近のコメント

アイテム

  • picaxe_28x2_shield_base.jpg
  • PICAXE_prototype.jpg
  • AXE029_adapter.jpg
  • axepad_view_options_mode.jpg
  • axepad_view_options_port.jpg
  • axepad_program1.jpg
  • fonepad11.jpg
  • fonepad10.jpg
  • fonepad09.jpg
  • fonepad08.jpg