Orangeの設計者の方(@logic_starさん)から頂きました。ありがとうございます。Orangeを守ることのできる仕上がりとなっています。現状の前面アクリルボードはLCD実装の都合上、左上の個所のみネジ止めできません。これについては以下のように対応しました。前面アクリルボードとLCD基板間は7mm。この間をネジを突き当てる事で押し込み方向負荷に耐えられるようにする。今回の対応では引っ張り方向負荷に対しての対応は考えない。これでも十分便利です。「埃をかぶらない」のが嬉しいですね。え?「リセットスイッチが押せない?」これについては幾つかの方法が考えられます。緊急時のリセットを考慮しないのであれば、ソフトウェアによるリセットで対応。前面アクリルパネルに小さな穴を開けて対応。前面アクリルパネルを用いつつ定規で対応。「前面アクリルパネルを付ける時は運用時」と割り切れば良いのではないでしょうか?ちなみに、この前面アクリルボードはMTM06での販売も検討中とのことです。Orangeを立てて置いて稼働させたりできるので、見せ方の可能性もグッと拡がります。LPC1768の水晶がひどい実装になっているのは有名な話です。これをうまく処理する方法を考えてみました。スコッチ両面ゲルシート(ポスターなんかを貼るのに使うやつ)木工ボンド(家に無かったので無理矢理)まずはスコッチ両面ゲルシートを水晶の高さ分に切って、倒す側に貼り付けます。スコッチ両面ゲルシートはチップコンデンサと水晶が直接接触しないようにする役目を果たします。次に水晶をスコッチ両面ゲルシートにあたるまでゆっくり倒します。左側に倒さないのには理由があって、左側ですとC43にあたって最後まで寝かせる事ができません。最後に、写真にあるように木工ボンド(じゃないほうが良いけど・・・)で固めればできあがりです。LPC1768)でLPCXpressoさえあればTOPPERS/ASPを楽しめるようにしました。LPC(http://sourceforge.jp/projects/toppersasp4lpc/)においてsuikanさんがTOPPERS/ASPをLPCプロセッサで動作させるためのポーティングをされています。LPC1768開発キット(http://www.nissin-tech.com/2010/01/nxp-armcortex-m3-lpc1768.html)です。Artistsで公開されているFreeRTOSポート(http://www.embeddedartists.com/products/lpcxpresso/lpc1768_xpr.php?tab=res)ではP0[22]のLED(ボード上ではLED2とシルクが打ってある)が点滅するデモになっています。内部では二つのタスクが起動し、一方が送信し一方が受信、そして受信側がLEDをトグルするデモです。LPC1768でLEDがチカチカするようにしてみました。1となっているのは私のローカルリポジトリのバージョンです。asp/cfgでconfigureしてmakeする。sample1プロジェクト用のディレクトリを作成する。lpc1768_generic_gccを実行し、サンプルプログラムを生成する。変更点を以下に示します。LPC2010年10月30日土曜日LPCXpressoを持ち歩くためのケース見つけたLPCXpressoはコンパクトで安価なのでついついどこにでも持ち歩きたくなります。そんな時、鞄に直接入れるのは壊れそうですし、かといって購入した時の紙袋に入れるのもスマートではありません。家の中を探してみるとありました。10年くらい前に購入した無印良品のケース。ウェブを調べてみると、現在は一回り大きくなったものが販売されているようです。http://www.muji.net/store/cmdty/detail/4547315371297実際にLPCXpressoを入れてみるとご覧の通り。付属の静電防止ポリウレタンを付ければ安心して持ち歩く事ができます。いうことでLPCXpressoをノートパソコンと一緒に持ち歩く休日なんていうのもたまには良いかもしれません。Orange用R/Cサーボキット「くまちゃんサーボキット」なんて如何?「くまちゃんサーボキット」は現在のところ架空のキット製品です。サーボインターフェース基板でR/Cサーボインターフェース基板について解説しました。この文書ではR/Cサーボインターフェース基板を使った架空のキット製品、「くまちゃんサーボキット」についての使用方法について説明します。同梱物くまちゃんサーボキットには以下のものが含まれます。Orangeの設定LCDを取り外します。サーボモータの接続サーボモータを写真のように接続します。Orangeに取り付けます。サーボ基板のDC入力に付属のAC-DCアダプタを接続します。サーボモータの電力はAC-DCアダプタから供給されます。これで全体の準備は完了です。プログラムコンパイル済みプログラムとその他のリソースをまとめたZIPファイルを以下からダウンロードすることができます。http://mbed.org/media/uploads/shintamainjp/rcservo-ifbrd_demo1.zip動作させてみる展開したファイルをmbedのルートディレクトリに展開したらリセットボタンを押します。ネットワークの設定が開始されます。DHCPサーバからアドレスが取得できたらIPアドレスが表示されます。このIPアドレスはmbed上で動作しているHTTPサーバのIPアドレスです。それではこのウェブサーバにパソコンから接続してみましょう。以下のような画面が表示されます。試しにSERVO1のスライダをドラッグして左右に移動させてみましょう。スライダの動きに合わせてR/Cサーボが動作することが確認できます。ブラウザから制御できるということは当然「アレ」でもやりたくなります。デモムービーまとめ本文書では「くまちゃんサーボキット」に関する解説を行いました。関連するサンプルアプリケーションをpublishしました。LPC1768mbedを使えばTwitterから家庭用機器を簡単に制御できます。拡張基板を使った活用事例としてTwitterで家庭用機器を制御するデモを御紹介します。Orange用の拡張基板には赤外線送信回路が搭載されています。これを使ってテレビ、エアコン、コンポ、照明など沢山の機器を制御する事が可能です。Orangeを使えばネットワークの取り扱いも簡単。今回はTwitterのつぶやきを拾ってきて特定のメッセージで機器を制御するようにしてみました。以下が全体の制御の流れです。機能Twitterから呟きを拾ってきて、内容に応じて制御する事ができます。TwitterとのインターフェースにはSuperTweetを使用します。(SuperTweetのアカウントとその設定が必要です。)今回のアプリケーション例では「Light」という文字列を発見すると、赤外線送信回路を使って照明器具を制御するようにしてみました。準備プラットフォームここでは以下のプラットフォームを使用しました。イーサネットケーブルを接続して下さい。設定ファイル(SETUP.CFG)設定ファイル(SETUP.CFG)をmbedのフラッシュストレージに作成します。YOUR_ACCOUNTとYOUR_PASSWORDにはあなたのSuperTweetアカウント情報を入れて下さい。SUPERTWEET_ACCOUNT=YOUR_ACCOUNTSUPERTWEET_PASSWORD=YOUR_PASSWORDプログラム以下のプログラムをコンパイルしてmbedにコピーします。StarBoardOrangeExpansion1以上で準備は完了です。動かしてみるそれでは実際に動作させてみましょう。起動するとネットワークの設定が始まります。設定の結果を確認します。動作が始まると以下のような画面になります。1行目にはTwitterから取得した回数が表示されます。2行目には制御を行った回数が表示されます。ここでTwitterのアカウントにキーワードを書き込んでみましょう。今回のキーワードは「Light」です。制御が完了すると応答がTwitterに書き込まれます。コマンドを受け付けているみたいです。今回のアプリケーション例では、実際に赤外線リモコン信号を送信しています。私の自宅の赤外線リモコンのコードなのであなたの家では何もおこらないでしょう。)まとめ今回はネットワークから情報を取得して機器を制御する実例として、照明器具をTwitterで制御するアプリケーションを御紹介しました。今回使用したライブラリとプログラムは全てpublishしてあります。OrangeのLCDインターフェースの所に取り付けるユニバーサル基板を設計してみました。I/Fから引き出した配線を並べてあります。Orangeを使って行う場合などに便利。MTM06でも販売される予定です。LPC1768)でLPCXpressoさえあればTOPPERS/ASPを楽しめるようにしました。LPC1768で試してみることにしました。Player上にインストール。環境構築用スクリプトを使って環境を構築し、コンフィギュレータをビルド。サンプルプログラムをコンパイルするところまでを確認。10.4用に構成されています。.bashrcでのPATH設定を一箇所変更する必要がありましたが、それ以外はスムーズに進行。次は実機での動作確認ですが、これはまた後日。(基板が上がってきたみたい)きばん本舗さんに基板が到着したようです。今回は部品実装もして頂きました。お楽しみアプリケーションはこれから。Orangeを使った活用事例を考える中で「家で飼っているペットに定期的に餌をあげたい。」というお話を聞きました。Orangeのパターン設計を担当したきばん本舗さんの中の人の要望。日頃お世話になっている関係もあって、ちょっと考えてみました。「餌をあげる」という行為はラジコンサーボの動作によって実現する。ラジコンサーボの電源は外部から(mbedとは別系統)供給する。OrangeのLCD部分を交換して使用可能な拡張基板として実現する。LCDが無くなると単なるデグレードになってしまうので、LCDの機能も提供する。安全性を考慮してmbedとはフォトカプラでアイソレーションする。I/Fには都合良くPWMOUTが3系統出ています。ラジコンサーボの仰角制御はこれを使う事にしました。先ほどの簡単な仕様を元に「えいっ!」と設計した基板の完成イメージが以下です。Orangeの上側に搭載される基板です。Boardと同時に使えます。LCDはシフトレジスタを経由して制御するようにしました。LCDはバックライトが点灯した時の感じが気持ち良いのでSD1602HUOBを選定しました。最近はきばん本舗さんも敏速というより爆速で、もうガーバーデータは工場にあるそうです。いうことで来週には上がって来ますので、その頃にもう少し踏み込んだ内容をお伝えする予定です。I/Fを使った実験用スルーホール基板なんていうのも上がってくるかもしれません。こちらは電源ピンとその他のピンを素直に1列に取り出す形になっています。Board2010年10月9日土曜日GT-720Fとmbedの接続GT-720FはNCピンが2ピンありますが、ここにLVTTL入出力が割り当てられている事が知られています。このピンを使った時に遭遇した問題について記載しておきます。mbedとGT-720Fを接続するケーブルを製作するのが面倒だったので、近所のパソコンショップで4ピンのオーディオ接続用ケーブルを購入してきました。実はこれが原因でおきる現象があるのです。下の波形をご覧ください。これは購入したケーブルを用いないときの波形です。次にこのケーブルを用いて場合の波形です。なんと波形がLに落ちません。伝送路をドライブしきれていないように見えます。え?と思ってケーブルを調べます。ケーブルの全体像はこんな感じです。片方をループバックして抵抗値を測ります。DC的に短絡ということだけわかります。(本当はここで容量も測りたい!)ここからは推測です。このモジュールはLVTTLも出るし、RS-232Cでも出るしを狙って設計したものの、いざ出荷してみると容量性負荷に対するドライバの能力が足りないために、仕様上でNCピンにせざるを得なかったのではないだろうか、というのが私の見立て。頂いた情報によるとメーカのページには始めLVTTLもうたわれていたとのこと。手抜きでオーディオ用ケーブルを用いるのもどうかと思いますので、きちんとケーブルは作り直します。(Atom)自己紹介shinta基板が大好きな組み込み系エンジニア。電気図面を描いてPCB上に美しく配線できた時に何とも言えない快感を覚える。ソフトウェアとドライバが一式になったパッケージをダウンロードします。インストール後に本体を接続してソフトウェアを起動すると以下のような画面が表示されます。勢いよく「改良しました!」と宣言したh8writeですが、やっぱり書き込みに失敗するという事がわかりました。そもそも真の原因を掴めないまま改良したと言っても、何を改良したのか意味がわかりません。自分でもそんな突っ込みを入れたくなるのですが、その日はグ...システムにおけるレイテンシーとスループットの話題レイテンシーとは、あるシステムに何らかの入力を与え、それに対応する何らかの出力が出てくるまでの時間(遅延量)を指します。ある処理の実行を指令してから実際の結果が得られるまでに250ミリ秒かかったとすると、それは250ミリ秒のレイテンシーを持つシステムという事になります。放置を防ぐアイデアの1つとして「具体的な目標に繋げる」というものを挙げました。アップデートしました。このアップデートにより、以下の動画で示すような長い曲でも難なく再生させる事ができるようになりました。mkIIは便利なのですがオンフィールドで書き換えるには不便ですし、ユーザに書き変えを頼むわけにもいきません。Atmelが公開しているアプリケーションノートAVR109に自己プログラミングがありましたので試してみました。LPC824を使ったサウンドモジュールMicroSoundModuleを開発していました。このサウンドモジュールは、コマンドを受け取って色々な再生を行うもので、当初はこのコマンド処理部分の実装にNT-Shellを用いる計画でした。BlackTankには有機EL液晶が搭載される予定です。接続部分はFPCになっていて、例によってFPC用コネクタなのですが、最初の実装は思いっきり失敗してしまいました。猫も杓子もIoTと皆さんが仰るので、その声が大きくなればなるほど自分は遠ざかる方向で生きていたのですが、そうすると完全に煙に巻かれたお爺さんのようになりまして、今は世の中が進んでおるんじゃのぉと言うだけの人です。moduleにブートローダを載せる(AVR109対応)随分前に対応しようと思い立っていたAVR109にようやく対応させた。以前やった時にうまく書けなかったのはボードのクロック精度が原因。ここ数日モニタを実装していて、思った以上にRC内蔵クロックの精度が悪いことが分かった。エコーバックのテストでやたらと文字が化ける。Orange用R/Cサーボキット「くまちゃんサーボキット」なんて如...mbedを使えばTwitterから家庭用機器を簡単に制御できます。