The Alpha Geek – Geeking Out

Project #2 – Lens – LED – Mk4

LensLEDMk4

1 X Panel Mount 10K potentiometer (Breadboard Friendly) – 10K Linear

3 X Jumper Wires Premium 6″ M/M

1 X Project #2 – Lens – LED – Mk3

LensLEDMk4.3.ino

// ***** Don Luc *****
// Software Version Information
// 4.1 - 4.2 - 4.3
// sensorNumber

#include 
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 6
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Panel Mount 1K potentiometer Brightneed
const int sensorPin = A0;
// Panel Mount 1K potentiometer
const int sensorDelay = A1;
// Panel Mount 1K potentiometer
const int sensorNumber = A2;
// variables:
int sensorValue = 0;         // the sensor value
int sensorMin = 1023;        // minimum sensor value
int sensorMax = 0;           // maximum sensor value
int red = 0;
int green = 0;
int blue = 0;
int x = 0;
long delayVal = 0;
long xp = 0;
int y = 0;
int z = 0;

void loop() {
 
  z = analogRead(sensorNumber);
  y = (z / 127);
  
  // range value:
  switch (y) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      neopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      neopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      neopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      neopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      neopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      neopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      neopix();
      break;     
    case 7:
        xp = analogRead(sensorDelay);
        delayVal = (1000 * xp);
        // range value:
        switch (x) {
          case 0:
            // Blue
            red = 0;
            green = 102;
            blue = 204;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 1;
            break;
          case 1:
            // Yellow
            red = 255;
            green = 255;
            blue = 0;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 2;
            break;
          case 2:
            // Pink
            red = 255;
            green = 153;
            blue = 203;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 3;
            break;
          case 3:
            // White
            red = 255;
            green = 255;
            blue = 255;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 4;
            break;  
          case 4:
            // Green
            red = 0;
            green = 255;
            blue = 0;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 5;
            break;
          case 5:
            // Orange
            red = 255;
            green = 102;
            blue = 0;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 6;
            break;
          case 6:
            // Violet
            red = 204;
            green = 102;
            blue = 204;        
            neopix();
            delay(delayVal); // Delay for a period of time (in milliseconds).
            x = 0;
            break;      
          }
          break; 
  }

}

neopin.ino

void neopix() {
  
  for(int i=0; i<NUMPIXELS; i++){
 
     // read the sensor:
    sensorValue = analogRead(sensorPin);

    // apply the calibration to the sensor reading
    sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);

    // in case the sensor value is outside the range seen during calibration
    sensorValue = constrain(sensorValue, 0, 255); 
    
    // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setBrightness( sensorValue );
    pixels.setPixelColor(i, pixels.Color(red,green,blue)); 
    pixels.show(); // This sends the updated pixel color to the hardware.

    delay(50); // Delay for a period of time (in milliseconds).
    
  }
  
}

setup.ino

void setup() {
  pixels.begin(); // This initializes the NeoPixel library.
}

Don Luc

Leave a Reply

Your email address will not be published. Required fields are marked *

Categories
Archives