カラーセンサでRGBを判定する

Dependencies:   TCS3472_I2C mbed

Committer:
kagari
Date:
Thu Oct 05 15:30:09 2017 +0000
Revision:
0:2c40d2bf0863
????????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kagari 0:2c40d2bf0863 1 #include "mbed.h"
kagari 0:2c40d2bf0863 2 #include "TCS3472_I2C.h"
kagari 0:2c40d2bf0863 3
kagari 0:2c40d2bf0863 4 TCS3472_I2C rgb_sensor( D4, D5 );//pins for I2C communication (SDA, SCL)
kagari 0:2c40d2bf0863 5
kagari 0:2c40d2bf0863 6 int main() {
kagari 0:2c40d2bf0863 7 rgb_sensor.enablePowerAndRGBC();
kagari 0:2c40d2bf0863 8 rgb_sensor.setIntegrationTime( 240 );
kagari 0:2c40d2bf0863 9 int rgb_readings[4];
kagari 0:2c40d2bf0863 10 while(1) {
kagari 0:2c40d2bf0863 11 rgb_sensor.getAllColors( rgb_readings );
kagari 0:2c40d2bf0863 12 //
kagari 0:2c40d2bf0863 13 // int R = (red_value / (float)clear_value) * 255;
kagari 0:2c40d2bf0863 14 // int G = (green_value / (float)clear_value) * 255;
kagari 0:2c40d2bf0863 15 // int B = (blue_value / (float)clear_value) * 255;
kagari 0:2c40d2bf0863 16 //
kagari 0:2c40d2bf0863 17 // pc.printf("AClear (%d), Red (%d), Green (%d), Blue (%d)\r\n", clear_value, R, G, B);
kagari 0:2c40d2bf0863 18
kagari 0:2c40d2bf0863 19 int r = rgb_readings[1];
kagari 0:2c40d2bf0863 20 int g = rgb_readings[2];
kagari 0:2c40d2bf0863 21 int b = rgb_readings[3];
kagari 0:2c40d2bf0863 22
kagari 0:2c40d2bf0863 23 if( r > g && r > b){
kagari 0:2c40d2bf0863 24 printf("赤");
kagari 0:2c40d2bf0863 25 }else if(g > r && g > b){
kagari 0:2c40d2bf0863 26 printf("緑");
kagari 0:2c40d2bf0863 27 }else{
kagari 0:2c40d2bf0863 28 printf("青");
kagari 0:2c40d2bf0863 29 }
kagari 0:2c40d2bf0863 30
kagari 0:2c40d2bf0863 31 printf( "red: %d, green: %d, blue: %d, clear: %d \r\n", rgb_readings[1], rgb_readings[2], rgb_readings[3], rgb_readings[0] );
kagari 0:2c40d2bf0863 32 wait_ms( 100 );
kagari 0:2c40d2bf0863 33 }
kagari 0:2c40d2bf0863 34 }