2010年12月アーカイブ

STM32バリュー・ライン用のサンプル・プログラムGPIOToggleを動かす
GPIOToggleのワークスペースを開く

  IAR Embedded Workbench IDEを起動し、前回確認したGPIOToggle.ewwを開きます。その後、オンラインデバッグするために、STM32 VL Discoveryのマイコン・ボードをUSBケーブルで接続します。その後、次に示すように
   プロジェクト>ダウンロードしてデバッグ
を選択してオンライン・デバッグを開始します。デバッグ開始時はmain.cの関数の最初が緑色の強調表示となっています。

IAR5000010.jpg
 ビュートローバーにはフローチャートを描く感覚でプログラミングできる”ビュートビルダー2”が付属しています。さっそく使ってみましょう。

ビュートビルダーの起動
 付属CD-ROM =>ソフトウェア =>インストール不要版 =>BeautoBuilder2_004 =>cl_edit2起動 

1_br_builder1.GIF
 システム一式は完成しましたか? 必要なプログラムを用意しましょう。

mbedプログラミング
 mbed用サーバ・プログラムは前回と同じものが使用できます。こちらよりダウンロードできます。=>
  2ak1030_solar_http_server.lzh

 ダウンロード=>解凍=>mbedドライブに転送してください。

・2ak1016_web_HTTPServer_LPC1786.bin・・・mbed用サーバ・プログラム
・mbedRPC.js・・・mbed <=> Javascriptインターフェース・プログラム
・sindex.htm・・・HTMLファイル

mbed-1.jpg
4 温度データをMicroSDに書き込んでみよう

 次に、センサから得たデータをMicroSDに書き込むプログラムを作成します。
 ここでは、mbedで初めてのマイコン開発 LCDを極める <3/5>の回路(図8)を使って作成していきます。また、MicroSDに記録したデータには日付や時刻も同時に記録します。日付や時刻の設定はNTPを使ってインターネット経由で行っています。

 それでは、プログラムを作成していきましょう。
 今回はライブラリを四つ使います。まず最初に、以下のライブラリをプログラムに追加してください。
  • [TextLCD] 16×2の液晶用ライブラリ
  • [EthernetNetIf] ネットワーク用ライブラリ
  • [NTPClient] NTP用ライブラリ(ネットワークを使った時刻合わせ)
  • [SDFileSystem ]SDカード用ライブラリ
 写真を参考にして、アルミ・シートを貼り付けます。

46_BRover1.jpg

STM32バリュー・ライン用のサンプル・プログラムGPIOToggleを動かす
   前々回にダウンロードしインストールしたIAR Embedded Workbench IDE(EWARM)を起動します。起動時の初期画面は次のようになります。

IAR4900010.jpg
開発環境の使い方
 パソコンに評価ボードを接続します。
  =>μVison4を起動 =>

21_keil_start.GIF
 両シャフトを穴に入れながら組み合わせます。

31_BRover1.jpg 3mm×18mmタッピング・ビスを3本用意します。
3 音符データをMicroSDから読み込み、音楽を鳴らしてみよう

 それでは、MicroSDに保存された楽譜データを読み込み音楽を鳴らすプログラムを作成してみましょう。
 楽譜データは、もうすぐクリスマスということで「きよしこの夜」(music.txt)を準備しました。録音したデータ(music.mp3)が聞けますので、どのような感じか聞いてみてください。若干遅めですが、きよしこの夜をmbedで再生することができました。

 まず最初に楽譜データについてですが、楽譜データはオリジナルの書式で三つのデータで一つの音符を表しています。
 データの一つめは、ドレミファソラシドで表される音名データです。今回は ABCDで表していて、ラがA, シがB, … ファがF , ソがGとなっています。小文字のa, b, d, e, gはそれぞれフラットの音名を表しています。 そしてRが休符になります。

 二つつめが音高データで、今回作成するプログラムは音の高さが2か6の5段階で、数字が大きくなるほど高い音になり、標準は4になっています。音高が一つ上がると周波数が2倍、一つ下がると1/2倍になります。
 ギアボックスの製作を続けます。
 丸シャフトに黄色のブッシュを挿入します。

16_BRover1.jpg 黄色ブッシュは長いほうです。向きがあります。
 今回はStarBoard Orangeが内蔵しているSDカード・スロットを使ってデータを読み書きをするプログラムを作成します。

 最初にデータを読み込むプログラムを作成します。このプログラムはSDカードに記録した楽譜データを読み込み、音楽を鳴らします。続いてデータを書き込むプログラムを作成します。このプログラムは、前回のLCDを極める<3/5>で作った温度をLCDに表示する際に使用した回路を使って、温度をLCDに表示しながらSDカードにもデータを記録します。
 東芝製Cortex-M3を搭載したKEIL MCBTMPM360の開発環境を入手しましょう。MDK-ARM
V4.12というパッケージ名(2010年11月現在)です。主に実行するのはμVison4というアプリケーションです。
  URL:http://www.keil.com
より評価版を入手することができます。
 ”Ethernetでネットワーク”に接続し、mbedはサーバとして機能するようになりました。今回は”太陽光発電にmbed 電力計測編”で完成したユニットとネットワークを組み合わせます。さらに無線LAN対応にすることで太陽光発電パネルの発電電力を部屋の中から見ることができるようにしましょう。

システム構成図
 mbed 無線LAN対応MPPT太陽光発電システム構成図を下記に示します。
  • 太陽光発電パネルはネクストエナジー社で購入したGL-144Nです。
  • MPPTユニットは秋月電子で販売しているスイッチング電源キットと組み合わせて購入します。
  • mbedはRJ45モジュラ・ジャックを接続し、LAN対応にします。
  • 5V電源ユニットは100均DC-DCコンバータを使用します。
  • 過電圧保護ユニットは小型のものを新規に設計製作します。


1_mbed_LAN_solar.GIF

STM32バリュー・ライン用のサンプル・プログラムをダウンロード
   今まで国内で販売されていなかったSTM32 VL Discoveryが、秋月電子通商で1セット1,100円の価格で販売開始されました。無償の評価版の開発システムを利用できますので、極めて低予算でARM Cortex M3の評価ができるようになりました。ぜひ購入して32ビット・マイコンを試してみてください。

サンプル・プログラムのダウンロード
 IARの開発システムは用意しましたから、次はSTM32のサンプル・プログラムをダウンロードします。サンプル・プログラムは、キットに添付されているカードに示される次のアドレスにアクセスして表示されるSTM32VLDISCOVERYのホームページからダウンロードします。
  http://www.st.com/stm32-discovery

 Vstone社より販売中のビュート ローバー・シリーズにARM版が加わりました。その名も”ビュート ローバーARM”です。

 2モータ、2赤外線センサを搭載した組み立てやすいライントレース・ロボットを基本とした車体に、NXPセミコンダクターズ社製のARM/LPC1343マイコンを搭載したCPUボードVS-WRC103LVにより制御します。
 制御するプログラムは、通常のC言語と制御ブロックを並べてフローチャートを描くようにプログラミングできるビュートビルダー2に対応しています。

1_BRover1.jpg キットの内容です。小さな箱に部品が詰まっています。
KEIL MCBTMPM360の紹介
 東芝製Cortex-M3を搭載したKEIL製評価ボード MCBTMPM360を動かしましょう。

1_keil_start.jpg
 評価ボード本体、ULINK基板、接続ケーブル、USBケーブル(ULINK用、USB B)が同梱されています。
6 文字が流れるプログラムを製作する
 最後は文字が左から右に流れるプログラムを製作します。文字が移動するプログラムはいろいろな実現方法があると思いますが、その一例として紹介します。

 プログラムの流れですが、
(0) ループは大きく分けて前半のループと後半のループの二つあります。
    前半のループは、最初の文字列がLCDの15列の位置に表示されてから、
    0-15列のすべてに文字が表示されるまでの処理をしています。
    後半のループは、最初の文字列が左端から消えて、15列の位置に空白を表示してから、
  すべての文字が空白になるまでの処理を しています。
(1) LCDの15列の位置(locate(15,0))に、文字列の最初の文字(msg[0])を表示します。
(2) 次に14列の位置に文字列の最初の文字(msg[0])を、15列の位置に文字列の2番目の文字(msg[1])を表示します。
(3) 前半のループが終了するとLCDの0-15列の位置に、msg[0]-msg[15]が表示されます。
    for(j)のループは、文字を左にシフトする回数分ループします。
    for(k)のループはLCDの0-15列に文字を表示するためのループです。
    後半のループも似たような処理をしています。

2010年12月1日(水)~3日(金) パシフィコ横浜

  
  12月3日、目が覚めると豪雨で近くの川は氾濫し、消防団の召集の防災無線があり、出かけられるか心配しましたが、急速に天気も回復し、雨具なしで出ることができました。電車のダイヤは乱れていましたが、それほど遅れずに会場に到着することができました。

ARMが目に付いてしまう
 ARMがデバイス・メーカ、開発ツールのベンダを20社以上集めて大きなブースを作って人があふれていました。デバイスからRTOS、開発ツールについて一か所で見ることができました。

emb201020010.jpg
2010年12月1日(水)~3日(金) パシフィコ横浜

11月の警官に埋まったパシフィコが以前の姿に戻っていました
 
「APEC横浜」が開催されたため例年より少し遅れて、警官の姿も見かけない静かなパシフィコ横浜で組込み総合技術展2010が開催されました。街は静かでしたがパシフィコ横浜の内部は人が一杯で熱気にあふれていました。
 APECの首脳会議の行われたボールルームでのレセプションで、組込みシステム技術協会長が、日本の元気を取り戻す要になるのが、物作りの原動力になるこの業界のがんばりだと言っていました。いろんなものが大きく変わっていました。

emb201010010.jpg
 システム・スタート時の表示です。

9_solar_watt.jpg

 前回は、『1 mbed内部の電源回路』および『2 ☆Boardの基本電源回路)について、解説を行いました。今回は、LCD周りの電源回路について解説します。

sbo0_S.jpg
        
3 ☆BoardのLCD周りの電源回路

 ☆Board完成品に搭載しているTEXT-LCDは、秋月電子などで販売されている、超ハイコントラストLCDモジュールSC1602BS-B-SO-GB-K(16文字×2行表示)を用いています。
           
        P-00040.jpg
超ハイコントラストLCDモジュールSC1602BS-B-SO-GB-K


LPCXpresso と USB シリアル変換モジュール PCでLEDを制御しよう

 NXPセミコンダクタ社LPCXpresso 基板を使って,UARTを通じたデータの送受信を行うプログラムができました.UARTを使えば,PCからコマンドを送って,マイコン側のハードウェアを操作することだって,できちゃいます.





カテゴリ


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