mbed(3) LPC1768ボードで、LCDとブザーを試す


 インタフェース誌 2014-10月号で純正mbedと紹介されている LPC1768 のテスト回路を作り、キャラクタLCDと圧電ブザーを試しました。圧電ブザーは、PWM方式でドレミファソラシドを鳴らしました。

●テスト回路の構成

 LPC1768を中心に、SDカード、Bluetooth,スイッチ、USBコネクタ、キャラクタLCD、圧電ブザーを実装しました。
但し、Bluetoothは、未実装です。

 mbedは、5Vトレラントなのでレベル変換無しで5V系のICが使えるので配線がすっきりしています。













●キャラクタLCDで「Hello World!」

 mbedOrg で液晶のプログラムを検索したら、「Hello World! for the TextLCD」が見つかりましたので使わせて頂きます。

 コードと結果を、次に示します。

// Hello World! for the TextLCD

#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p30, p29, p25, p26, p27, p28); // rs, e, d4-d7

int main() {
lcd.printf("Hello World!\n");
}






●PWMによる矩形波で、ドレミファソラシド

 mbedOrg で、PWMを使用した圧電ブザーを検索しても適当な物が無かったので、Googleで検索したら見つかりましたので、使わせて頂きます。
 

 コードを、次に示します。

#define mC 261.626
#define mD 293.665
#define mE 329.628
#define mF 349.228
#define mG 391.995
#define mA 440.000
#define mB 493.883

#include "mbed.h"

PwmOut sp1(p24);

int main() {
float mm[]={mC,mD,mE,mF,mG,mA,mB,mC*2};
int i;

for (i=0;i<sizeof(mm);i++) {
sp1.period(1.0/mm[i]);
sp1.write(0.5f);
wait(0.5f);
sp1.write(0.0f);
}
while (1);
}


実行結果は、問題なく動作しました。





ホームへ戻る