VU Arduino Nov 21

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

//VU Arduino Nov 21, 2022

#include <Adafruit_NeoPixel.h>

#define PIN 2 // input pin Neopixel is attached to

#define NUMPIXELS 11 // number of neopixels in strip

// NEOPIXEL BEST PRACTICES for most reliable operation:


// - Add 1000 uF CAPACITOR between NeoPixel strip's + and - connections.
// - MINIMIZE WIRING LENGTH between microcontroller board and first pixel.
// - NeoPixel strip's DATA-IN should pass through a 300-500 OHM RESISTOR.
// - AVOID connecting NeoPixels on a LIVE CIRCUIT. If you must, ALWAYS
// connect GROUND (-) first, then +, then data.
// - When using a 3.3V microcontroller with a 5V-powered NeoPixel strip,
// a LOGIC-LEVEL CONVERTER on the data line is STRONGLY RECOMMENDED.
// (Skipping these may work OK on your workbench but can fail in the field)

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_RGBW + NEO_KHZ800);


// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int maxVal = 700;


int initval = 0;
int neoPinVal = 0;

int zeroingValue = 0;
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
int delayval = 10; // timing delay in milliseconds
int oldneoPinVal = 0;
int fromoffsetVal = 0;
int redColor = 0;
int greenColor = 0;
int blueColor = 0;

void setup() {
pinMode(neoPinVal, OUTPUT);
pinMode(analogOutPin, OUTPUT);
// Initialize the NeoPixel library.
pixels.begin();
Serial.begin(9600);
delay(500);
initval = analogRead(A0);
delay(500);

void loop() {
// read the analog in value:

sensorValue = analogRead(analogInPin) - zeroingValue;//-zeroingValue;


Serial.print("inital read = ");
Serial.print(initval);
Serial.print(" sensor = ");
Serial.print(sensorValue);
Serial.print(" From Offset = ");
fromoffsetVal = abs(sensorValue - initval);
Serial.print(fromoffsetVal);

//int maxVal =max(sensorValue,700);

//sensorValue = sensorValue - 300;


//if(sensorValue < 0) sensorValue = 0;

// map it to the range of the analog out:


// if(sensorValue - oldsensorValue > 3) sensorValue = oldsensorValue +1;
// if(oldsensorValue - sensorValue < 3) sensorValue = oldsensorValue -1;
// outputValue = log(sensorValue+1)/log(maxVal)*255;//can't log 0
// neoPinVal = log(sensorValue+1)/log(maxVal)*12;

outputValue = map(fromoffsetVal, 0, maxVal, 0, 255);


neoPinVal = map(fromoffsetVal, 0, maxVal, 0, 12);
//neoPinVal = (oldneoPinVal + neoPinVal)/2;
if(neoPinVal < 0) neoPinVal = -1*neoPinVal;
//neoPinVal = 12 * log(neoPinVal+1)/log(12);
neoPinVal = 20 * log(neoPinVal+1)/log(20);

//neoPinVal = 10*log(neoPinVal);
// if(neoPinVal - oldneoPinVal > 3) neoPinVal = oldneoPinVal +1;
// if(oldneoPinVal - neoPinVal > 3) neoPinVal = oldneoPinVal -1;
// change the analog out value:
analogWrite(analogOutPin, outputValue);
// print the results to the Serial Monitor:

Serial.print("\t output = ");


Serial.print(outputValue);
Serial.print("\t neopin = ");
Serial.println(neoPinVal);

//setColor();

// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255


//pixels.setPixelColor(outputValue, pixels.Color(redColor, greenColor, blueColor));

for(int i=0; i<neoPinVal; i++) { // For each pixel in strip...


pixels.setPixelColor(i, pixels.Color(0, 0, 255,0)); // Set pixel's color (in RAM)
pixels.show(); // Update strip to match
delay(1);
}
for(int i=neoPinVal; i<NUMPIXELS; i++) { // For each pixel in strip...
pixels.setPixelColor(i, pixels.Color(0, 0, 0,255)); // Set pixel's color (in RAM)
pixels.show(); // Update strip to match
delay(1);
}
/*
switch (neoPinVal) {
case 0:
//pixels.setPixelColor(outputValue, pixels.Color(redColor, greenColor, blueColor));
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 0, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 0));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 1:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 0));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 2:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 0));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 3:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 4:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 5:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 6:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 7:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 8:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 255, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 9:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 255, 0));
pixels.setPixelColor(9, pixels.Color(255, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 10:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 255, 0));
pixels.setPixelColor(9, pixels.Color(255, 0, 0));
pixels.setPixelColor(10, pixels.Color(255, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 11:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 255, 0));
pixels.setPixelColor(9, pixels.Color(255, 0, 0));
pixels.setPixelColor(10, pixels.Color(255, 0, 0));
pixels.setPixelColor(11, pixels.Color(255, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();
break;
case 12:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 255));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
pixels.setPixelColor(3, pixels.Color(0, 0, 255));
pixels.setPixelColor(4, pixels.Color(0, 0, 255));
pixels.setPixelColor(5, pixels.Color(0, 255, 0));
pixels.setPixelColor(6, pixels.Color(0, 255, 0));
pixels.setPixelColor(7, pixels.Color(0, 255, 0));
pixels.setPixelColor(8, pixels.Color(0, 255, 0));
pixels.setPixelColor(9, pixels.Color(255, 0, 0));
pixels.setPixelColor(10, pixels.Color(255, 0, 0));
pixels.setPixelColor(11, pixels.Color(255, 0, 0));
pixels.setPixelColor(12, pixels.Color(255, 0, 0));
pixels.show();
break;
default:
pixels.setPixelColor(0, pixels.Color(0, 0, 255));
pixels.setPixelColor(1, pixels.Color(0, 0, 0));
pixels.setPixelColor(2, pixels.Color(0, 0, 0));
pixels.setPixelColor(3, pixels.Color(0, 0, 0));
pixels.setPixelColor(4, pixels.Color(0, 0, 0));
pixels.setPixelColor(5, pixels.Color(0, 0, 0));
pixels.setPixelColor(6, pixels.Color(0, 0, 0));
pixels.setPixelColor(7, pixels.Color(0, 0, 0));
pixels.setPixelColor(8, pixels.Color(0, 0, 0));
pixels.setPixelColor(9, pixels.Color(0, 0, 0));
pixels.setPixelColor(10, pixels.Color(0, 0, 0));
pixels.setPixelColor(11, pixels.Color(0, 0, 0));
pixels.setPixelColor(12, pixels.Color(0, 0, 0));
pixels.show();

}
// This sends the updated pixel color to the hardware.

// Delay for a period of time (in milliseconds).


delay(delayval);
// turn all the LEDs off:
for (int i = 0; i < 12; i++) {
pixels.setPixelColor(i, pixels.Color(0, 0, 0));
pixels.show();
}
*/

You might also like