10 years, 9 months ago.

ADJD-S371カラーセンサについて教えてください。

私はmbedの初心者ですが、今I2CでADJD-S371カラーセンサを使い、LCDと音声合成ICで色の名前を出力させようと思っています。

http://mbed.org/users/MichaelW/code/ADJD-S371_ColourSens/docs/47465be3223d/classADJDColourSensor.html このライブラリを使ってカラーセンサを作ろうと思いました。 しかし、コンパイルエラーとなってしまうのでmbedのQuestionを頼りに質問をしました。

以下が質問をしたページのURLです。 http://mbed.org/questions/2355/Asking-for-using-ADJD-S371_ColourSens-li/

LCDに色の名前を出力したいのですが上手くいきません。 URL先の質問の回答によるとcolour.readColors();の関数からred,blue,greenの値を持って来るようですが、colour.readColors();という関数はヘッダーにも存在していません。 red,blue,greenの値を持って来ようと自分なりに関数を作ってみたりもしましたがコンパイルエラーが発生していまいます。 URL先の質問への返信が遅くなってしまったためか、回答をいただけなくて困っています。 red,blue,greenの値を出力するためにはどうすれば良いでしょうか? 稚拙な文章で申し訳ないですが、お力添えの方願います。

1 Answer

10 years, 9 months ago.

こんにちは。 該当ライブラリのヘッダファイルを読んで、コンパイルエラーを潰してみました。 これでご希望の処理が出来るのかは不明ですが、お試し下さい。

#include "mbed.h"
#include "ADJDColourSensor.h"
DigitalOut myled(LED1);
Serial pc(USBTX, USBRX);
 
ADJDColourSensor colour(p28, p27, LED2);
 
int main() {
    
    pc.baud(115200);
    
    colour.read();
    
    printf("Red: %f\r\n",colour.red);
    printf("Blue: %f\r\n",colour.blue);
    printf("Green: %f\r\n",colour.green);
    
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

Accepted Answer

お礼が遅くなってしまい申し訳ございません。 コンパイルエラーも解消され、teratermと通信でき、無事LCDにも表示することができました。 迅速な回答ありがとうございました。とても助かりました。

posted by chiaki kubo 12 Feb 2014