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
Próxima revisión
Revisión previa
proyectos:vestuario_aqa [2019/12/06 06:04] – [Leds con plantower] kzproyectos:vestuario_aqa [2021/10/30 23:38] (actual) kz
Línea 641: Línea 641:
   }   }
 } }
 +</code>
 +
 +===== mostrar texto en matrix led 8 x 8 una pantalla =====
 +
 +<code c++>
 +
 +//Adafruit_NeoMatrix example for single NeoPixel Shield.
 +//Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.
 +#include <Arduino.h>
 +#include <Adafruit_GFX.h>
 +#include <Adafruit_NeoMatrix.h>
 +#include <Adafruit_NeoPixel.h>
 +#ifndef PSTR
 + #define PSTR // Make Arduino Due happy
 +#endif
 +
 +#define PIN D3
 +
 +// MATRIX DECLARATION:
 +// Parameter 1 = width of NeoPixel matrix
 +// Parameter 2 = height of matrix
 +// Parameter 3 = pin number (most are valid)
 +// Parameter 4 = matrix layout flags, add together as needed:
 +//   NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
 +//     Position of the FIRST LED in the matrix; pick two, e.g.
 +//     NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
 +//   NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
 +//     rows or in vertical columns, respectively; pick one or the other.
 +//   NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
 +//     in the same order, or alternate lines reverse direction; pick one.
 +//   See example below for these values in action.
 +// Parameter 5 = 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_GRBW    Pixels are wired for GRBW bitstream (RGB+W NeoPixel products)
 +//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
 +
 +
 +// Example for NeoPixel Shield.  In this application we'd like to use it
 +// as a 5x8 tall matrix, with the USB port positioned at the top of the
 +// Arduino.  When held that way, the first pixel is at the top right, and
 +// lines are arranged in columns, progressive order.  The shield uses
 +// 800 KHz (v2) pixels that expect GRB color data.
 +// Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(16, 8, PIN,
 +//   NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
 +//   NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
 +//   NEO_GRB            + NEO_KHZ800);
 +
 +Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, PIN,
 +  NEO_MATRIX_TOP     + NEO_MATRIX_RIGHT +
 +  NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
 +  NEO_GRB            + NEO_KHZ800
 +);
 +
 +const uint16_t colors[] = {
 +  matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(0, 0, 255) 
 +};
 +
 +String Word = "Golondrinas, llanaditas, un/loquer, 2021";
 +
 +void setup() {
 +  matrix.begin();
 +  matrix.setTextWrap(false);
 +  matrix.setBrightness(40);
 +  matrix.setTextColor(colors[0]);
 +}
 +
 +int x    = matrix.width();
 +int pass = 0;
 +int pixelsInText = (Word.length() * 7)+8;
 +
 +void loop() {
 +  matrix.fillScreen(0);
 +  matrix.setCursor(x, 0);
 +  matrix.print(Word);
 +  if(--x < -pixelsInText) {
 +    x = matrix.width();
 +    if(++pass >= 3) pass = 0;
 +    matrix.setTextColor(colors[pass]);
 +  }
 +  matrix.show();
 +  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++;
 +}
 +
 </code> </code>
  
  
proyectos/vestuario_aqa.1575612256.txt.gz · Última modificación: 2019/12/06 06:04 por kz