【質問】赤外線リモコンを使用して、LCD表示を切り替えたい

20 May 2012

こんにちは、はじめまして。

4行の文章を16桁×2行LCDに対して2行ずつ切替表示をさせたく、切替スイッチとして赤外線リモコンを使用したい、と考えています。

そのため、赤外線リモコン受光部としてCookbook「IR」を使用することにし、ソースコードからはリモコンキーに対するデータは配列bufに格納されそれらをLCD表示をさせている、と理解しました。

/**
 *【display_data()関数】
 * Display a data.
 *
 * @param buf Pointer to a buffer.
 * @param bitlength Bit length of a data.
 */
void display_data(uint8_t *buf, int bitlength) {
    lcd.locate(0, 1); //LCD2行目先頭
    const int n = bitlength / 8 + (((bitlength % 8) != 0) ? 1 : 0);
    for (int i = 0; i < n; i++) {   //i == 0からnになるまでiをインクリメント
        lcd.printf("%02X", buf[i]); //配列bufからのデータ書き出し
    				    //%02X→2桁幅で16進表示 A-Fで表示 1桁の場合'0'で埋める
    }
    for (int i = 0; i < 8 - n; i++) {
        lcd.printf("--");

しかし、配列bufに格納されているリモコンキーに対するデータをLCD表示ではなく実際の切替スイッチとして使用するようにするためには、 どのようなコードを記載したら良いでしょうか。

私は、配列buf内のデータを読み出し何らかの変数に代入できれば、あとはif文やcase文で冒頭のLCD表示の切替が出来る、 と思い参考書などにも当たってみたのですが、どうしても良い方法が見当たりません。

リモコンキーに対するデータにて機器制御するために、どのように受け渡してあげれば良いのか?、 どなたかご教示頂ければ助かります。

以上です。よろしくお願い致します。

#使用機器

・mbed NXP LPC1768

・☆board Orange