Web Sacosta
Código Vumetro sin LCD
Código Vumetro sin Pantalla LCD
#include <Adafruit_NeoPixel.h>
#define N_PIXELS 30 // Number of pixels in strand
#define MIC_PIN A3 // Microphone is attached to this analog pin
#define LED_PIN 6 // NeoPixel LED strand is connected to this pin
int lect_max=512;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(N_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
int n;
int height;
int periodo = 10;
unsigned long TiempoAhora=0;
int brightness = 100;
int minim;
int maxim;
int t1=(N_PIXELS/7);
int t2=(N_PIXELS/7)*2;
int t3=(N_PIXELS/7)*3;
int t4=(N_PIXELS/7)*4;
int t5=(N_PIXELS/7)*5;
int t6=(N_PIXELS/7)*6;
const int analogPinMin = A0;
const int analogPinMax = A1;
void setup() {
pixels.setBrightness(brightness);
pixels.begin();
Serial.begin(9600);
}
void loop() {
set_limits();
n= analogRead(MIC_PIN); // Raw reading from mic
//delay(100);
Serial.println(n);
Serial.print("minim = ");
Serial.println(minim);
Serial.print("maxim = ");
Serial.println(maxim);
height=map(n, minim, maxim, 0, N_PIXELS);
if (height<0){
height=0;}
for(int i=0; i<N_PIXELS; i++) {
if(0<=i && i<t1){
pixels.setPixelColor(i, pixels.Color(148, 0, 211));//violeta
}
else if(t1<=i&&i<t2){
pixels.setPixelColor(i, pixels.Color(0, 0, 255));//blau
}
else if(t2<=i&&i<t3){
pixels.setPixelColor(i, pixels.Color(0, 255, 0));//cian
}
else if(t3<=i&&i<t4){
pixels.setPixelColor(i, pixels.Color(255, 0, 0));//verd
}
else if(t4<=i&&i<t5){
pixels.setPixelColor(i, pixels.Color(255, 255, 0));//groc
}
else if(t5<=i&&i<t6){
pixels.setPixelColor(i, pixels.Color(255, 165, 0));//taronja
}
else if(t6<=i&&i<N_PIXELS){
pixels.setPixelColor(i, pixels.Color(255, 0, 0));//vermell
}
if(i >= height) {
pixels.setPixelColor(i, pixels.Color(0, 0, 0));
}
pixels.show();
}
TiempoAhora = millis();
while(millis() < TiempoAhora+periodo){
}
}
void set_limits(){
minim= analogRead(analogPinMin) / 2;
maxim = analogRead(analogPinMax) / 2;
}
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0