“检测颜色的RGB”的版本间的差异
(创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #4F4E4E;font-size:220%">'''检测颜色的RGB示例'''</p> <br> 检测要识别的颜色的RGB值,以及环境光的…”) |
|||
(未显示同一用户的5个中间版本) | |||
第10行: | 第10行: | ||
*[[mCookie-Core]] | *[[mCookie-Core]] | ||
*[[mCookie-Battery]] | *[[mCookie-Battery]] | ||
− | *[[ | + | *[[mCookie-Hub/zh|mCookie-Hub]] |
− | * | + | *[[Sensor-Gen&RGB/zh|Sensor-Gen&RGB]] |
<br> | <br> | ||
<p style="color: #E87E05;font-size:155%">电路搭建</p> | <p style="color: #E87E05;font-size:155%">电路搭建</p> | ||
− | + | 将Battery、Core、Hub堆叠在一起,使用4pin传感器线连接传感器与Hub扩展板的IIC接口,通过MicroUSB数据线接入电脑。 | |
<br> | <br> | ||
<p style="color: #E87E05;font-size:155%">代码</p> | <p style="color: #E87E05;font-size:155%">代码</p> | ||
<source lang="cpp"> | <source lang="cpp"> | ||
+ | #include <Microduino_Gesture.h> | ||
+ | // Global Variables | ||
+ | Gesture gestureSensor; | ||
− | |||
− | |||
− | + | void setup() { | |
− | + | // Initialize Serial port | |
− | // | ||
Serial.begin(9600); | Serial.begin(9600); | ||
− | |||
− | |||
− | |||
− | + | // Initialize Gesture (configure I2C and initial values) | |
− | + | if ( gestureSensor.begin() ) { | |
− | + | Serial.println(F("Gesture initialization complete")); | |
− | + | } else { | |
− | if ( | + | Serial.println(F("Something went wrong during Gesture init!")); |
− | Serial.println("initialization | ||
− | |||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | // | + | // Start running the Gesture light sensor (no interrupts) |
− | if ( | + | if ( gestureSensor.enableLightSensor(false) ) { |
− | + | Serial.println(F("Light sensor is now running")); | |
− | |||
− | |||
− | |||
− | Serial.println(" | ||
} else { | } else { | ||
− | + | Serial.println(F("Something went wrong during light sensor init!")); | |
− | Serial.println(" | ||
} | } | ||
− | // | + | // Wait for initialization and calibration to finish |
− | + | delay(500); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
void loop() { | void loop() { | ||
− | // | + | // Read the light levels (ambient, red, green, blue) |
+ | |||
+ | Serial.print("Ambient: "); | ||
+ | Serial.print(gestureSensor.readAmbientLight()); | ||
+ | Serial.print(" Red: "); | ||
+ | Serial.print(gestureSensor.readRedLight()); | ||
+ | Serial.print(" Green: "); | ||
+ | Serial.print(gestureSensor.readGreenLight()); | ||
+ | Serial.print(" Blue: "); | ||
+ | Serial.println(gestureSensor.readBlueLight()); | ||
+ | |||
+ | // Wait 1 second before next reading | ||
+ | delay(1000); | ||
} | } | ||
+ | </source> | ||
− | < | + | *该例程效果为:下载程序后,保持USB线连接,打开串口(波特率设置为9600),观察返回值。 |
+ | *用Sensor-Gen&RGB识别不同颜色的RGB值 | ||
+ | *推荐距离:被测颜色与Sensor-Gen&RGB垂直距离3cm左右为最佳,并根据实际情况进行调整 | ||
+ | *注:外界环境光对识别到的RGB值会有影响 | ||
+ | *在室内白色灯光且无阳光直射的环境下测试得到颜色RGB返回值为: | ||
+ | [[file:Microduino-Sensor-Gen&RGB_1.JPG|600px|center|颜色RGB返回值]] | ||
+ | <br> | ||
− | |||
<br> | <br> | ||
|} | |} | ||
− | [[ | + | [[Sensor-Gen&RGB Reference | 返回Sensor-Gen&RGB库语法手册]] |
2018年5月16日 (三) 10:15的最新版本
检测颜色的RGB示例
所需硬件
电路搭建 将Battery、Core、Hub堆叠在一起,使用4pin传感器线连接传感器与Hub扩展板的IIC接口,通过MicroUSB数据线接入电脑。
代码 #include <Microduino_Gesture.h>
// Global Variables
Gesture gestureSensor;
void setup() {
// Initialize Serial port
Serial.begin(9600);
// Initialize Gesture (configure I2C and initial values)
if ( gestureSensor.begin() ) {
Serial.println(F("Gesture initialization complete"));
} else {
Serial.println(F("Something went wrong during Gesture init!"));
}
// Start running the Gesture light sensor (no interrupts)
if ( gestureSensor.enableLightSensor(false) ) {
Serial.println(F("Light sensor is now running"));
} else {
Serial.println(F("Something went wrong during light sensor init!"));
}
// Wait for initialization and calibration to finish
delay(500);
}
void loop() {
// Read the light levels (ambient, red, green, blue)
Serial.print("Ambient: ");
Serial.print(gestureSensor.readAmbientLight());
Serial.print(" Red: ");
Serial.print(gestureSensor.readRedLight());
Serial.print(" Green: ");
Serial.print(gestureSensor.readGreenLight());
Serial.print(" Blue: ");
Serial.println(gestureSensor.readBlueLight());
// Wait 1 second before next reading
delay(1000);
}
|