Ingo Lohs
Published © LGPL

When an exposure unit of a scanner became a nice RGB light

The built-in electronic components from an old Canon scanner/printer result in real maker delights.

IntermediateProtip3 hours2,109

Things used in this project

Hardware components

QK1-6841
a built in componenten from a multifunctional device
×1
Arduino Nano R3
Arduino Nano R3
use whatever you want
×1
Jumper wires (generic)
Jumper wires (generic)
8 pieces
×1
Breadboard (generic)
Breadboard (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Code

Lightning-Example - QK1-6841

C/C++
/*
 Ingo Lohs, 11.02.2020 - Lightning-Example - QK1-6841
*/

int ledPin_red =    9; // PWM-Port Arduino Nano
int ledPin_green = 10; // PWM-Port  
int ledPin_blue =  11; // PWM-Port   

void setup() {
  // nothing happens in setup
}

void loop() { // color are REVERSE: GND (=0) put it on!!
 //  white:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 0);
    delay(2000);
 //  green:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(2000);
 //  light-green:
    analogWrite(ledPin_red, 127);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(2000);
 //  red:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 255);
    delay(2000);
 // light-red:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(2000);
 //  blue:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(2000);
 //  light-blue:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 0);
    delay(2000);
 //  dark-blue:
    analogWrite(ledPin_red, 255);
    analogWrite(ledPin_green, 127);
    analogWrite(ledPin_blue, 0);
    delay(2000);
 //  yellow:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 0);
    analogWrite(ledPin_blue, 255);
    delay(2000);
//   violett:
    analogWrite(ledPin_red, 0);
    analogWrite(ledPin_green, 255);
    analogWrite(ledPin_blue, 0);
    delay(2000);
//   white fading:
 for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    analogWrite(ledPin_red, fadeValue);
    analogWrite(ledPin_green, fadeValue);
    analogWrite(ledPin_blue, fadeValue);
    delay(30);
 }
 for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    analogWrite(ledPin_red, fadeValue);
    analogWrite(ledPin_green, fadeValue);
    analogWrite(ledPin_blue, fadeValue);
    delay(30);
 }
     
}

Credits

Ingo Lohs

Ingo Lohs

182 projects • 194 followers
I am well over 50 years and come from the middle of Germany.
Thanks to arkfusion.

Comments