メモリ・カードを使ったデータの読み書きの最近のブログ記事

4 温度データをMicroSDに書き込んでみよう

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

 それでは、プログラムを作成していきましょう。
 今回はライブラリを四つ使います。まず最初に、以下のライブラリをプログラムに追加してください。
  • [TextLCD] 16×2の液晶用ライブラリ
  • [EthernetNetIf] ネットワーク用ライブラリ
  • [NTPClient] NTP用ライブラリ(ネットワークを使った時刻合わせ)
  • [SDFileSystem ]SDカード用ライブラリ
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倍になります。
 今回はStarBoard Orangeが内蔵しているSDカード・スロットを使ってデータを読み書きをするプログラムを作成します。

 最初にデータを読み込むプログラムを作成します。このプログラムはSDカードに記録した楽譜データを読み込み、音楽を鳴らします。続いてデータを書き込むプログラムを作成します。このプログラムは、前回のLCDを極める<3/5>で作った温度をLCDに表示する際に使用した回路を使って、温度をLCDに表示しながらSDカードにもデータを記録します。





2010年12月: 月別アーカイブ

カテゴリ


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