proyectos:vestuario_aqa
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
proyectos:vestuario_aqa [2019/12/06 06:04] – [Leds con plantower] kz | proyectos:vestuario_aqa [2021/10/30 23:38] (actual) – kz | ||
---|---|---|---|
Línea 641: | Línea 641: | ||
} | } | ||
} | } | ||
+ | </ | ||
+ | |||
+ | ===== mostrar texto en matrix led 8 x 8 una pantalla ===== | ||
+ | |||
+ | <code c++> | ||
+ | |||
+ | // | ||
+ | //Scrolls ' | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #ifndef PSTR | ||
+ | # | ||
+ | #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: | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // rows or in vertical columns, respectively; | ||
+ | // | ||
+ | // 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: | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | |||
+ | |||
+ | // Example for NeoPixel Shield. | ||
+ | // as a 5x8 tall matrix, with the USB port positioned at the top of the | ||
+ | // Arduino. | ||
+ | // lines are arranged in columns, progressive order. | ||
+ | // 800 KHz (v2) pixels that expect GRB color data. | ||
+ | // Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(16, | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | |||
+ | Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, | ||
+ | NEO_MATRIX_TOP | ||
+ | NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE, | ||
+ | NEO_GRB | ||
+ | ); | ||
+ | |||
+ | const uint16_t colors[] = { | ||
+ | matrix.Color(255, | ||
+ | }; | ||
+ | |||
+ | String Word = " | ||
+ | |||
+ | 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, | ||
+ | matrix.print(Word); | ||
+ | if(--x < -pixelsInText) { | ||
+ | x = matrix.width(); | ||
+ | if(++pass >= 3) pass = 0; | ||
+ | matrix.setTextColor(colors[pass]); | ||
+ | } | ||
+ | matrix.show(); | ||
+ | delay(100); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== código para manipular con microfono la intensidad de la matriz de led ==== | ||
+ | |||
+ | <code c++> | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #define LED_PIN | ||
+ | #define LED_TYPE | ||
+ | #define COLOR_ORDER GRB | ||
+ | #define f false | ||
+ | #define t true | ||
+ | |||
+ | const uint8_t kMatrixWidth | ||
+ | const uint8_t kMatrixHeight = 8; | ||
+ | #define NUM_LEDS (kMatrixWidth * kMatrixHeight) | ||
+ | |||
+ | int BRIGHTNESS = 60; // this is half brightness | ||
+ | CRGB leds[kMatrixWidth * kMatrixHeight]; | ||
+ | |||
+ | #define amarillo CRGB:: | ||
+ | #define black CRGB:: | ||
+ | #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< | ||
+ | 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; | ||
+ | for(int j = 0; j< kMatrixWidth; | ||
+ | leds[i*kMatrixWidth + j] = matrix[loop_cnt%ESCENAS][i][j]; | ||
+ | } | ||
+ | } | ||
+ | unsigned long startMillis= millis(); | ||
+ | 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; | ||
+ | } | ||
+ | else if (sample < signalMin) | ||
+ | { | ||
+ | signalMin = sample; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | | ||
+ | |||
+ | int cambiarBrillo = map(volts, 0, 5, 0, 100); | ||
+ | Serial.println(cambiarBrillo); | ||
+ | FastLED.show(); | ||
+ | FastLED.setBrightness(cambiarBrillo); | ||
+ | loop_cnt++; | ||
+ | } | ||
+ | |||
</ | </ | ||
proyectos/vestuario_aqa.txt · Última modificación: 2021/10/30 23:38 por kz