diff --git a/example/advanced/Power_Measurements/IR_LED/IR_LED.ino b/example/advanced/Power_Measurements/IR_LED/IR_LED.ino index 3bffc84..cc19a12 100644 --- a/example/advanced/Power_Measurements/IR_LED/IR_LED.ino +++ b/example/advanced/Power_Measurements/IR_LED/IR_LED.ino @@ -9,15 +9,26 @@ void setup() { dezibot.infraredLight.begin(); } +void blink_times(int times) { + constexpr int ioPin = 17; + pinMode(ioPin, OUTPUT); + for(int i = 0; i + +/* +╔══════════════════════════════════════════════════════════════════════════════╗ +║ WARNING: This example controls the RGB-LEDs directly, bypassing the ║ +║ MultiColorLight component. This is not recommended for normal use, as it ║ +║ bypasses the safety checks and color normalization. This is only intended ║ +║ for diagnostic purposes. ║ +╚══════════════════════════════════════════════════════════════════════════════╝ +*/ + +Adafruit_NeoPixel rgbLeds(3, 48); + +void setup() { rgbLeds.begin(); } + +void loop() { + // Ramp up the brightness of each color channel + // Allows for the PWM behaviour to quickly be observed on an oscilloscope + // Red + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(bri, 0, 0)); + rgbLeds.show(); + delay(10); + } + // Red + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(0, bri, 0)); + rgbLeds.show(); + delay(10); + } + // Blue + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(0, 0, bri)); + rgbLeds.show(); + delay(10); + } + // Combinations of the color channels + // Yellow (Red + Green) + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(bri, bri, 0)); + rgbLeds.show(); + delay(10); + } + // Purple (Red + Blue) + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(bri, 0, bri)); + rgbLeds.show(); + delay(10); + } + // Cyan (Green + Blue) + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(0, bri, bri)); + rgbLeds.show(); + delay(10); + } + // White (Red + Green + Blue) + for (int bri = 0; bri < 0xFF; bri += 0x1) { + rgbLeds.setPixelColor(0, rgbLeds.Color(bri, bri, bri)); + rgbLeds.show(); + delay(10); + } + + // Now some constant states for comparable measurements + // Full brightness R+G+B + rgbLeds.setPixelColor(0, rgbLeds.Color(255, 255, 255)); + rgbLeds.show(); + sleep(5); + // Half brightness R+G+B + rgbLeds.setPixelColor(0, rgbLeds.Color(127, 127, 127)); + rgbLeds.show(); + sleep(5); + // Minimum brightness R+G+B + rgbLeds.setPixelColor(0, rgbLeds.Color(1, 1, 1)); + rgbLeds.show(); + sleep(5); + // Off (baseline) + rgbLeds.setPixelColor(0, rgbLeds.Color(0, 0, 0)); + rgbLeds.show(); + sleep(5); +} diff --git a/example/advanced/Power_Measurements/VEML6040/VEML6040.ino b/example/advanced/Power_Measurements/VEML6040/VEML6040.ino index 6c821be..07a87e1 100644 --- a/example/advanced/Power_Measurements/VEML6040/VEML6040.ino +++ b/example/advanced/Power_Measurements/VEML6040/VEML6040.ino @@ -3,7 +3,7 @@ Dezibot dezibot; void setup() { - dezibot.lightDetection.begin(); + dezibot.colorDetection.begin(); //dezibot.motion.detection.end(); // put your setup code here, to run once: Serial.begin(115200); @@ -13,7 +13,7 @@ void setup() { } delay(1000); // Test if VEML6040 is working correctly - char light_value = dezibot.lightDetection.getValue(DL_FRONT); + char light_value = dezibot.colorDetection.getColorValue(VEML_WHITE); if (light_value != UINT16_MAX) { Serial.printf("Light detection seems to be working (detected value: %d). Starting measurements...\r\n", light_value); } else { @@ -29,6 +29,6 @@ void setup() { void loop() { // put your main code here, to run repeatedly: - dezibot.lightDetection.getValue(DL_FRONT); + dezibot.colorDetection.getColorValue(VEML_WHITE); delay(10); } \ No newline at end of file diff --git a/example/advanced/Power_Measurements/WLAN/WLAN.ino b/example/advanced/Power_Measurements/WLAN/WLAN.ino index a4cfcd3..0bc695a 100644 --- a/example/advanced/Power_Measurements/WLAN/WLAN.ino +++ b/example/advanced/Power_Measurements/WLAN/WLAN.ino @@ -3,6 +3,17 @@ Dezibot dezibot = Dezibot(); +void blip_io(int times) { + constexpr int ioPin = 17; + pinMode(ioPin, OUTPUT); + for(int i = 0; i