Herramientas de usuario

Herramientas del sitio


proyectos:vestuario_aqa

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
proyectos:vestuario_aqa [2021/05/18 00:18] kzproyectos:vestuario_aqa [2021/10/30 23:38] (actual) kz
Línea 724: Línea 724:
   matrix.show();   matrix.show();
   delay(100);   delay(100);
 +}
 +
 +</code>
 +
 +==== código para manipular con microfono la intensidad de la matriz de led ====
 +
 +<code c++>
 +
 +#include <Arduino.h>
 +#include <FastLED.h>
 +#define LED_PIN     D2
 +#define LED_TYPE    WS2812B
 +#define COLOR_ORDER GRB
 +#define f false
 +#define t true
 + 
 +const uint8_t kMatrixWidth  = 8;
 +const uint8_t kMatrixHeight = 8;
 +#define NUM_LEDS (kMatrixWidth * kMatrixHeight)
 + 
 +int BRIGHTNESS = 60;   // this is half brightness
 +CRGB leds[kMatrixWidth * kMatrixHeight];
 + 
 +#define amarillo CRGB::Yellow 
 +#define black CRGB::Black 
 +#define rojo CRGB::Red
 +#define blue CRGB::Blue
 + 
 +int loop_cnt = 0;
 +
 +const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
 +unsigned int sample;
 +
 +uint8_t noise[kMatrixWidth][kMatrixHeight];
 + 
 +void setup() {
 +  Serial.begin(115200);
 +  LEDS.addLeds<LED_TYPE,LED_PIN,COLOR_ORDER>(leds,NUM_LEDS);
 +  FastLED.setBrightness(BRIGHTNESS);
 +}
 + 
 +#define ESCENAS 1
 + 
 +CRGB matrix[ESCENAS][8][8] = {
 +  {
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +    {blue, blue, blue,blue, blue, blue, blue,blue},
 +  },
 +};
 + 
 +void loop() {
 +  for(int i = 0; i< kMatrixHeight; i++) {
 +    for(int j = 0; j< kMatrixWidth; j++) {
 +      leds[i*kMatrixWidth + j] = matrix[loop_cnt%ESCENAS][i][j];
 +    }
 +  }
 +  unsigned long startMillis= millis();  // Start of sample window
 +  unsigned int peakToPeak = 0;   // peak-to-peak level
 +
 +  unsigned int signalMax = 0;
 +  unsigned int signalMin = 1024;
 +
 +  // collect data for 50 mS
 +  while (millis() - startMillis < sampleWindow)
 +   {
 +      sample = analogRead(0);
 +      if (sample < 1024)  // toss out spurious readings
 +      {
 +         if (sample > signalMax)
 +         {
 +            signalMax = sample;  // save just the max levels
 +         }
 +         else if (sample < signalMin)
 +         {
 +            signalMin = sample;  // save just the min levels
 +         }
 +      }
 +   }
 +   peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
 +   double volts = (peakToPeak * 5.0) / 1024;  // convert to volts
 +
 +  int cambiarBrillo = map(volts, 0, 5, 0, 100);
 +  Serial.println(cambiarBrillo);
 +  FastLED.show();
 +  FastLED.setBrightness(cambiarBrillo);
 +  loop_cnt++;
 } }
  
proyectos/vestuario_aqa.1621297085.txt.gz · Última modificación: 2021/05/18 00:18 por kz