Search Notebooks
mbedを始めましょう!("Let's get started!" in Japnaese)

Japanese getting start guide for new users

Page owner: user NXP fan (in Japan)

Created 18 May 2010.
Last updated 08 Mar 2011

mbedを始めましょう!("Let's get started!" in Japnaese)

Page last updated 08 Mar 2011, by   user NXP fan (in Japan)   tag No tags | 14 replies  

このノートブックページは日本でのmbed普及加速を目的にまとめたものです.

This notebook page has been written in Japanese only.

"mbed"と関連のNXP LPCマイコンの総合情報はこちら >> http://www.nxp-lpc.com/
2011年2月25日,CQ出版よりmbedの入門書「マイコンと電子工作 No.5 特集 mbedで簡単ガジェット作り」が発売されました!
http://shop.cqpub.co.jp/hanbai/books/MBC/MBCZ201103.html
http://amzn.to/fLS87C
「"mbed",試してみたい...」という方は,秋葉原のはんだづけカフェで実際にサンプルを触ってみることができます.スタッフの方に声をかけてみてください.
またガジェットカフェではmbedを使った工作教室(mbed貸出付き)などのイベントを行っていますのでご活用下さい.
その他いろいろなイベントも計画/実行中です.これらの最新情報はこちらでご確認いただけます.
2010年7月24日,2010年9月11日の両日,東京秋葉原のマルツメイク館で開催されたセミナー「ARMマイコンモジュールmbedを使ってつぶやこう【ネットワーク編】」の資料が公開されています.この資料ではmbedの概要を説明.そのあとにLEDの点滅,シリアルデータの表示,テキスト液晶の接続,ツイッターで日本語をつぶやく方法までを解説しています.
ダウンロードはこちらのページから
http://marutsumake.blog74.fc2.com/blog-entry-704.html
このページの本文(他ユーザからのコメントを除く)内容は,出典としてこのページのURLを明記していただけば自由にご利用いただけます.文や写真の引用/転載/改変などに制限はありません.

1. 開梱からユーザ登録まで

まず,箱を開けるところから.

...その前にインターネットに接続されたPCが必要です.できるだけ最新のWebブラウザを入れておくと良いと思います.

PCWindowsでもMacでもLinuxでも構いません.ブラウザはFirefoxSafariChromeInternetExplorerに対応しています.

さて,箱を開けると中にはまず,簡単な解説書,クイックリファレンスカード2枚,ステッカー,USBケーブルとmbed基板が入っています.

クイックリファレンスカードは便利なのでちゃんと取っておきましょう(これを書いてる私は,既にどこかに紛失してしまい毎回このページ を見に行ってます)

 

mbed基板とUSBケーブルをビニール袋から取り出し,PCにつなぎます.

PCにつなぐとmbed基板の真ん中にある青いLEDが光り,PCからは2MBUSBメモリとして認識され,「MBED」ドライブがPC上に表示されます.

もし上手くいかない場合は...

Windowsの場合,PCが認識するまで時間がかかる場合があります.そのような時には「F5」キーを押してリフレッシュさせてください.

あるいは,USBのコネクタがしっかり差し込まれていないかもしれません.

 

表示された「MBED」ドライブを開きます.するとその中には「MBED.HTM」と名付けられたファイルが入っています.

このファイルには,そのmbedのシリアル番号とmbedwebページへのリンク情報が入っています.これをダブルクリックするとブラウザのウィンドウが開き,mbedのログイン・ページが表示されます.

(「MBED.HTM」ファイルは消してしまっても問題ありません.mbed基板に電源を入れ直すと また現れます.)

 

 

新しくmbedを始めるには,ユーザ登録が必要です.このページの右側,チップの絵のある方の「Signup」 をクリックしてユーザ登録ページに進みます.

 

ユーザ登録にはメールアドレス,mbedサイトでつかうユーザ名(ログイン名),パスワード,他のユーザから見られることになる名前を入力します.

最後に「terms and condition」をよく読み,それに同意出来る場合は「I agree ...」にチェックを入れ,「Signup」ボタンを押すと次のページが表示されます.


これで準備ができました.

2. ユーザ登録が完了すると,いよいよコードを動かせます.


まずは動作チェックとして「HelloWorld.bin」を動かしてみましょう.
mbedには文字表示部がないので,基板上のLEDをチカチカさせるプログラムになります.

ページ内のmbed基板の画像の下にある「HelloWorld.bin」をクリックしましょう.

そうすると,webブラウザはファイル(HelloWorld_LPC1768.bin)をダウンロードし始めます.
ダウンロードしたファイルは何処に置いても構いません.このファイルがmbed基板で実行するプログラムです.

ダウンロードが完了したら,ファイルを「MBED」ドライブ内にコピーしましょう.
もちろん,インターネットからのダウンロードをMBEDに直接行っても何ら問題ありません.その方があとでコピーを行う手間が省けていいでしょう.

コピーが完了したら,いよいよ実行です.

mbed基板真ん中にあるボタン(リセット・ボタン)を押すと,基板に4個並んだLEDのうちの1個(最も左のもの)が点滅します.

3. 自分のプログラムを作る!


いよいよ自分のプログラムを書いてみましょう.
mbedのページにはいろんなリンクが張られていますが,右上の方に「Compiler」というリンクがあります.見えなければ適宜ウィンドウの幅を広げたり,横方向にスクロールしてみてください.

たったの60秒でmbedコンパイラを紹介する動画(http://mbed.org/blog/entry/138/)が 公開(2010年5月21日)されています.こちらも参考にどうぞ.

これをクリックするとmbedのオンライン開発環境が表示されます.
左はしの部分には自分の作ったプログラム達が並ぶことになります.
右側にはコードの表示部とその下に状態表示を行う部分があります.


それではプログラムを作ります.
ウィンドウ左上にある「New」ボタンをクリックしてください.そうするとこの新しいプログラムに名前をつけてくださいと言われます.名前は自由につけられますが,残念ながら日本語の名前はつけられません.

ここでは適当に「program0」という名前をつけました.「OK」ボタンを押します.

すると左側の部分に新しいプログラムができます.さっきつけた名前のプログラムです.
この中には「main.cpp」という名のソース・ファイルと「mbed」というライブラリが入っています.

「main.cpp」をクリックするとその中身が表示されます(下の画面の例ではフォントの表示を大きくしています).

これが先ほど実行させたHelloWorldプログラムです.このコードをコンパイルしたものを,実行させていました.
さて...いよいよコンパイル...いや,その前に一箇所だけ書き換えておきましょう.
mbedの基板では先ほどのプログラムがまだ動いており,LEDがチカチカしてると思います.
今回コンパイルするプログラムはこれと全く同じものなので,新しいのが動いたのかどうかが分かりません.
ソースコード3行目には「DigitalOut myled(LED1)」と書かれています.この「LED1」を他のLEDを光らせるように書き換えます.基板に4個並んだLEDは「LED1〜LED4」の名前が与えられているのでそのうちのどれかを使ってください.
ここの例では「LED4」としました.

さて,コンパイルを行います.画面上の方に並んだボタンの中に「Compile」があるのでそれをクリック.そうすると,先ほどのコードはwebサーバ側でコンパイル,リンクされ実行コードが作られます.
完了すると右下枠内に「Success!」が表示され,webブラウザがファイルをダウンロードするように言ってきます.
このファイルを,さっきと同じようにMBEDの中に保存すれば,あとはmbed基板上のリセットボタンが押されるのを待つだけとなります.

ではmbed基板上のリセットボタンを押してみましょう.(mbed内部では [1] リセットがかかり,[2] 保存されたデータがLPC1768チップのフラッシュにコピーされ [3] 実行が開始されます.)

ちなみに...今後このようにして色々なプログラムがたくさん作られ,一度に複数のファイルがMBEDに保存された場合にはどうなるのでしょうか?
mbedはリセットボタンが押されると,自分の中の最も新しく保存されたファイル(タイムスタンプの最も新しいもの)を実行するように作られています.

4. プログラムを少し改造してみる

先ほどのLEDの自動点滅プログラムを少し改造してみましょう.
(ここの例は,mbedのプログラミングを紹介するwebページ(http://mbed.org/handbook/Programming)に掲載されているものをベースにしています.)
コードは以下のようなものでした.

#include "mbed.h"

DigitalOut myled(LED4);

int main() {
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

これにアナログ入力を加えます.
pin20に入ってくる電圧によってLEDの点灯状態を変化させます.

#include "mbed.h"

AnalogIn myinput(p20);
DigitalOut myled(LED4);

int main() {
    while(1) {
        if( myinput > 0.5 ) {
            myled = 1;
        } else {
            myled = 0;
        }
    }
}

これをコンパイルして実行してみます.
(半導体屋の観点からは,あまりおすすめ出来る方法ではありませんが)pin20を指で触ってみましょう.触れている間,LEDが点灯します.

myledに1や0を代入することでLEDの制御が行えましたが,今度は入力を試してみています.
pin20のアナログ入力として定義されたmyinputからは,代入をを行うとその時のpin20の電圧に応じて0から1.0までの値が得られるようになっています(0=0V〜1.0=3.3V).ここではmyledの値が0.5(つまり1.65V以上)の時にLEDを点灯するプログラムになっています.

5. 次は?

ここまでで基本編は終わりです.ここからはHandbookCookbookページを見ながら探求をされるのがよいとおもいます.

しかし最近はmbedを入手したら,まず基本的な動作の確認,次にネットに接続してTwitterでつぶやくのがお決まりのコースのようになってるので,続編として「Twitterアプリを動かしてみる ("Let's try Twitter" in Japanese)」(http://mbed.org/users/nxpfan/notebook/lets_try_twitter_jp/)のページを用意してみました.よろしければこちらも御覧下さい.

6. おまけ

おまけ編 (http://mbed.org/users/nxpfan/notebook/lets_get_started_jp_omake/)を用意しました.アナログ入力をファイルに記録して,表計算ソフトでグラフを書いてみます.


14 comments

25 May 2010

凄く丁寧な解説ありがとうございました。

凄く参考になりました。

アナログ入力まで迷わずに出来ました。

25 May 2010

そう言っていただけるととても励みになります.ありがとうございます.

この続編も企画中です.またこのほか解説にはこのようなページも存在しています.

http://mbed.org/users/okano/notebook/langja-personal-memo-usb%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E5%85%A5%E5%87%BA%E5%8A%9B/

11 Aug 2010

届いてから本サイトを見て5分でここのチュートリアルが終わりました。

わかり易い解説ありがとうございます。それにしても面白い仕組みですね。電子工作系って環境構築がしんどいってイメージがありましたが、

完全に払拭されました。Macで何も考えずに使えるのが幸せっす。

11 Aug 2010

ありがとうございます.コメントを頂けて,この上なくうれしいです!<br>このページを長々と書いたのですが,実作業は確かに,あっという間に済んでしまいます.逆にちょっと呆気ないです.

Macはprintfなどを使ったターミナル入出力に,別のドライバやソフトを入れなくてすむので便利です.
(二つ上のコメント(2010/05/25のNXP fanのもの)にシリアルについてのリンクもあるのでご覧ください)

03 Feb 2011
初歩的な質問です. MBEDにとっての標準入出力はどれになるのですか. つまり,printfやscanfはどこへ出力,あるいはどこから入力することになるのでしょう. お教え下さい..
03 Feb 2011 . Edited: 03 Feb 2011
mbedのUSBはストレージだけでなく「仮想シリアルポート」としての機能も有しています.PC上のターミナルをprintfやscanfの入出力対象として使えます. 次のURLを参考にしていただけるかと思います
http://mbed.org/users/okano/notebook/langja-personal-memo-usb%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E5%85%A5%E5%87%BA%E5%8A%9B/
30 Mar 2011

ソフトを書き換えた後にリセットボタンを押して新しいプログラムをリロードしますが、これをプログラムから実行する方法をご存知の方がいらっしゃいましたら、コメント願います。 「仮想シリアルポート」を使用して作業していますが、TerminalからのコマンドでRestartする方法を探してます。

 

30 Mar 2011 . Edited: 30 Mar 2011
ソフトウェア内だけでmbed全体をリセットする方法は不明ですが,pin4のリセットピンを自分で叩くという方法も考えられます. あらかじめpin4(/Rest)とpin5を接続しておき,下のコードを実行すると約5秒後にリセットがかかります. http://mbed.org/users/okano/programs/_sample_self_reset/louraw
30 Mar 2011 . Edited: 30 Mar 2011
(erased)
30 Mar 2011

コメントありがとうございました。 なるほど "nR"がリセットでポートで叩けば良いということでした。 ソースまでアップして頂き、ありがとうございました。

今、フォーラムで検索したら以下の方法が見つかりました。 

http://mbed.org/forum/mbed/topic/318/?page=1#comment-1609

「仮想シリアルポート」からは"ALT+B"で、プログラムからは"mbed_reset();"でリセット出来ます。 両方試しましたが、うまくいきました。

30 Mar 2011
了解です.仮想ポートやプログラムからリセットの方法があるのは知りませんでした(私が見た限りでは見つけられませんでした).ありがとうございます.
12 Aug 2011 . Edited: 12 Aug 2011

こんにちは。

mBEDは、技術の進化を実感できるインパクトのある製品(プロトタイピングツール?)でした。

いろいろと試した後、マルチタスクOS(mBos)をいれて、SPIインターフェースをつかった多チャンネル・データアクイジッション基板の簡易デバッグツール

を作ってみましたが、制約無くCやC++でプログラムが記述できるので、非常に楽でした。また、開発環境をPCにインストールしなくても良く、またPC

と基板があれば、クラウドで作業がどこでも続行できるのは(開発ツールへの不満はあるにしても)とても新鮮で、ある意味感動しました。

一つ質問なのですが(どこかで回答を見たような気がするのですが、確認できなかったので)、mBedのクラウドの環境で作ったコードを、そのままプロセッサ

本体だけをのせたカスタム基板で実行させる事は可能でしょうか(むろん、USBストレージとしてコードを格納できないので、プロセッサ内部に書き込むとして)。

mBedのDIP40の各ピンと同じようにI/Oの配線を引き出して、同じようにクロックをつけたLPC1768本体の基板をつくったとしての話です。JTAGのプログラマ等

を含んだ開発環境で、mBedのコードや実行モジュールをロードしてできるかぎりそのまま(なくなった機能は当然使用しないとして)、再利用したいという趣旨です。

プロトタイプツールとすると、可能だと思うのですが可否の情報が見つかりません。

 

13 Aug 2011

自己レスになりましたが、複数情報が見つかりました。

http://mbed.org/users/chris/notebook/prototype-to-hardware/

ISP の場合は、このリンクが参考になりました。JTAGとあわせて試してみる予定です。

mBed内にランタイムのコードが含まれているのかと思いましたが、USBインターフェースのチップがコンパイラの作ったコードをそのままプロセッサ

に書き込んでいるようです。このあたり、notebook の最初の目次に一章設けて整理して情報が提供されていると良いと思います。

 

15 Aug 2011 . Edited: 15 Aug 2011

返事が遅くなってしまいました.スミマセン
その通り,http://mbed.org/users/chris/notebook/prototype-to-hardware/が最も良い情報だと思います.
この他,NXPのLPCXpressoを用いてmbedコードを実行する例が次のページに用意されています
http://mbed.org/users/nxpfan/notebook/mbed-led-blink-code-on-lpcxpresso-lpc1768/#japanese

情報の提示方法についても提案いただきありがとうございます.このnoteページは初めての方向けなので,提供の仕方を考えてみます.

Please log in to post a comment.