2010年9月アーカイブ

==== お願い!! 過電圧保護回路は回路図に記載があっても、撮影の都合により写真では搭載されていない場合があります。必ず搭載し、mbedを過電圧より保護するようにしてください ====

mbed A-Dコンバータ練習課題
 前回装備したボリュームの値をA-Dコンバータで読み出し、0~1.0Vの値をそのままLEDの点滅間隔(単位:秒)とするプログラムを製作しましょう。
 それではプログラムを作成していきます。まず最初に、新しいプログラム(UDPTest)を追加します。
 今回は標準で利用できるmbedライブラリのほかにEthernetNetIfライブラリも使用します。このライブラリは最初は登録されていないので、自分でライブラリを追加します。
 開発環境のメニューにあるImport(Newの右横)をクリックしてください。
 すると図15が表示されるので、Import As の Libraryにチェックを付けます(赤枠)。

s図15_ライブラリの追加1.jpg
図15 ライブラリの追加1

==== お願い!! 過電圧保護回路は回路図に記載があっても、撮影の都合により写真では搭載されていない場合があります。必ず搭載し、mbedを過電圧より保護するようにしてください 第1回参照。====

ボリュームの追加
 調整データ入力用ボリュームを追加します。このボリュームはmbedに装備されている3.3V安定化電源出力を利用するので、安定した可変データを取り出すことができます。そのために調整用ボリュームとして使うのに最適です。mbedのA-Dコンバータはピン:p19を使います。

124_adc.GIF

 NXPARM/mbedは、mbed LPC1768コンテスト「NXP mbed Design Challenge」をスタートさせた。mbed NXP LPC1768プロトタイピング・ボードとmbed オンライン「クラウド」コンパイラを使用し、革新的なハードウェアまたはソフトウェアによるアプリケーション開発を競うもの。総額1万ドルの賞金が用意されている。締め切りは2011年2月28日。

LPC1114のテスト・ボードでテストする(2)
  Jtagモジュールは、次に示す日新テクニカのARM USB Open Link(4,980円)で購入したものを使用しました。IAR、ADS、KEILなどの開発環境で使える、となっています。
 USBでPCと接続し、10ピン、20ピンのケーブルが付属しています。10ピンのケーブルのコネクタは2mmピッチなので、2.5mmピッチで扱いやすい20ピン・ケーブルを使用することにします。このARM USB Open Linkは、電源の供給機能はもっていないようです。

IAR3600010.jpg
 前回ブレッドボードに組み立てたA-Dコンバータ用プログラムを準備します。

mbedプログラミング

■■Publish
 mbedプログラムは下記でPubulishしています。
  http://mbed.org/users/takeuchi/programs/2ak0829_ADC1/5zrhl

■■注目のmbed命令
 mbedのA-Dコンバータ=アナログ入力は0~3.3Vを入力し、0~1.0に変換します。次の命令や定義を使います。

AnalogIn adc_in(p20); ・・・p20ピンをアナログ入力端子”adc_in”と定義
adc_in.read()*15・・・adc_inから読み取り、15倍する=>15V最大に変換する
2 mbedとRJ45モジュラ・ジャックの接続
 mbedとRJ45の接続ですが、RJ45はメーカによってピン配置が異なるようです。しっかりデータシートを確認してから接続するようにしてください。
 接続に使用する端子は TD+, TD-, RD+, RD- の4本だけです。mbedのこれらの端子からRJ45のTD+, TD-, RD+, RD- にそれぞれjジャンパ線を使って接続します。mbedの基板面にはTD+, TD- など端子名がシルク印刷されています。そこで、mbedのTD+ とRJ45のTD+, mbedのTD-とRJ45のTD- というふうに4個の端子間をジャンパ線で接続していきます(図12)。
 これでようやく、mbedとRJ45を接続することができました。準備が長くなりましたが、いよいよプログラムの制作に取りかかりたいと思います。

zu12.jpg
図12 mbedとRJ45モジュラ・ジャックの接続


LPC1114のテスト・ボードでテストする(1)
 今まで使用している、IARの評価ボードで開発して独自のシステムを組む場合、別にマイコン・ボードを用意する必要があります。また、ユーザー登録してコード・サイズ制限版を利用してテストを行う場合にも適当なマイコン・ボードが必要になります。
 これらの目的のため、同じNXPのLPC Xpressoのターゲット・ボードが利用できそうなので、これから数回にわたって検討してみます。

LPC Xpresso NXP LPC1114評価ボード
 LPCXpresso は今まで評価してきた、LPC1114のマイコン・ボードのほかにCortexM3のLPC1343のマイコン・ボードが用意されています。
 LPC Xpresso LPC1114の評価ボードを次に示します。下にあるのが購入時のLPC-LinkボードとLPC1114マイコン・ボードが一体になっているものです。
 図の上のほうに示してあるようにLPC-Linkボードとマイコン・ボードを切り離し、このマイコン・ボードとIAR Embedded Workbench IDEを接続してテストします。

IAR3500010.jpg
 mbedにはアナログ信号を読み取ることができるA-Dコンバータが6チャネル装備されています。

ピン:p15~p20(6ch)
入力電圧:0~3.3V
出力:0~1.0

 入力電圧0~3.0Vをfloat 0~1.0に変換してmbedに取り込んでくれるのがA-Dコンバータです。この便利なA-Dコンバータを使いましょう。

100_adc.jpg
 前回はmbedに内蔵しているLED4個を制御しました。今回はネットワークを使ってmbedからパソコンにデータ(メッセージ)を送信してみたいと思います。
 少し難しいですが、mbedをネットワークに接続することができれば、mbedが収集したデータをネットワーク経由でパソコンに送信したり、パソコンを操作してmbedを制御する遠隔制御などmbedの活用の幅も広がります。プログラムのすべてが理解できなくても、今回の記事がネットワークを使ったプログラムを製作する際の参考になればと思います。

クロック・タイマについて(3)
 前回に引き続いてSystemInit()関数の中で、システム・クロックの設定状況を確認していきます。今回はMain_PLL_Setup()関数の確認を行います。

 最初のステップで、ClockSourceが4000000から基板上の水晶発振子の発振周波数12000000の値に変わりました。4000000は、ソース・プログラムでは内蔵のIRC発振回路の発振周波数に割り当てられています。

IAR3400010.jpg

クロック・タイマについて(2)
 SystemInit()関数で、システム・クロックの設定を行っています。その内容を今回追いかけてみます。
 デバッグのステップ動作でプログラムを追うと、ソース・リストでプログラムの動作を追うより大変わかりわすいものになっています。

ステップインでプログラムの動作確認
 最初の状態では、ClockSource、SystemAHBFrequency、SystemFrequencyがいずれも4MHzと表示されています。

IAR3300010.jpg
 16文字×2行 超ハイコントラスト大文字LCDモジュール 型番:SC1602BS*B-SO-GB-K バックライトなし(以後、SC1602)への表示は成功しましたか?

 このLCDモジュールは16文字×2行表示対応です。せっかくなので、2行表示させましょう。
 ファームウエアは次のURLでPublish=公開しています。

http://mbed.org/users/takeuchi/programs/2ak0723_LCD_Iiko_Oide/60183
 それでは、前回紹介したプログラムは少し長いので、もう少し短くしてみたいと思います。先ほどはLEDごとに変数を割り当てましたが、今度はBusOutライブラリを使ってLEDを四つまとめて制御してみたいと思います(図5)。

zu5_LED右シフト2.jpg
図5 LED右シフト2

 皆さん突然ですが、mbedをもうご存知ですか?
 もしかすると、皆さんもう知っている方ばかりでしょうか。筆者は1カ月ほど前に初めて知りました。mbedはARM社が開発した組込み用のCPUを使ったマイクロコンピュータ(マイコン)です。マイコンと聞くとなんだか小難しそうなイメージがありますが、マイコンを自由に使えるようになるとセンサやデバイスを組合わせることで、自分のアイデア次第でいろいろな物が作れるようになります。しかも、一度マイコンを使った開発をマスタしてしまえば、Arduinoなどほかのマイコンを使う際にもその違いだけを理解すればよいので、どのようなマイコンでも使えるようになります。その取っ掛かりとしては、開発環境が手軽に利用できるmbedは学習用に最適だと思います。
 筆者もmbedを使い始めてまだ1週間ほどしか経っていないのですが、すぐにmbedを使った簡単なプログラムを作ることができるようになりました。ただし、開発にはC言語を使うため、C言語についての基本的な知識が必要になります。もし、C言語の知識がまったくないという方は、書籍などを準備されるほうがよいと思います。それでは、これから皆さんと一緒にmbedの勉強をしながら何かおもしろいものを作ってみたいと思いますので、お付き合いください。
使い方
 現在のTwitterのライブラリは、事前に自分のアカウントの登録を行わなければmbedから投稿を行うことができないというようになっています。まずはhttp://blog.fkoji.com/2010/05250022.htmllこちらのサイトを参考に登録を行ってください。
 その後はmbedにカードIDを登録して、そのカードをかざすことで利用できます。
 以下にその方法を示しました。





カテゴリ


Copyright (C) 2006-2015 CQ Publishing Co.,Ltd. All Rights Reserved.