mbed講座-第1回 DigitalOut-デジタル出力


概要

ピンを出力に設定し、HighまたはLowを出力します。

主にLEDなどに用いられます。

初期化

今後もそうですが、ピンを実際に使用するにはそのピンをどのように使うのか宣言をする必要があり、これを初期化と言います。これは通常書き方が決まっており、mbedでは

用途 名前(使用するピン名)

という形で書きます。

DigitalOut name(pin);

name: 名前(自由に決めて良い)
pin: ピン名(p5~p30、LED1~LED4)

mbed基板上のLEDを点灯させる場合はLED1~LED4を指定します。

出力

name = 0;

name = 1;

0:Low(0V)、1:High(3.3V)を出力します。

注意する点は、マイコンによって3.3vのものと5vのものがあります。

例を挙げればArduino Unoは5v駆動です。

ここで、3.3v用の回路に5vの入力を与えると壊れてしまう可能性があります。

使用する前にマイコンの電圧と制御する対象の電圧が一致している確認しましょう。

実際に使ってみよう

#include "mbed.h"

DigitalOut myled(LED1);

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

このコードをオンラインコンパイラ(またはオフラインコンパイラ)に貼り付けてコンパイルしてみましょう。

オンラインコンパイラの場合、エラーがなければ***.binというファイルがダウンロードされます。このファイルをUSBにつないだmbedにドラッグ&ドロップしましょう。

ここでもう一つ注意点です。mbedはファイルをコピーするだけでは動いてくれません。コピーした後に一回リセットする必要があります。リセットするにはmbedの中央にあるボタンを押しましょう。

さて、リセットするとどのような動作をするでしょうか?

おそらく左端のLEDが点滅するはずです。

課題

LEDの点滅周期を1秒にするにはどのようにすればいいでしょうか?