Paso 2: Paso 2: diseño con código
La parte de diseño de este proyecto fue la más frustrante, además del hecho de que tenía que recrear mi Instructables debido a la canceladura accidental de todo el proyecto frente a una página vacía (perdón por la rabia).
He adjuntado una foto de mi tablero de lo que parecía, junto con un diagrama visual de las piezas integradas.
La placa que usé una resistencia 10 de k, condensador de 1000uf (Adafruit recomienda), luz del LED (y luego tira el Neopixel), el sensor de sonido mini, Arduino Uno, software de Arduino, jumpers de la placa hembra/macho, pin header, puentes de tablero masculino y un protoboard.
** Para la tira de Neopixel (mi maestro y yo) tomamos un pin de la cabecera, con tres pernos y había conectado a la regleta de Neopixel con soldadura y un cautín. Entonces utilizamos jumpers de la placa hembra/macho para conectar a los pines de la cabecera, cable de color diferente para cada parte (rojo para la energía 5V, amarillo para la entrada y el negra para la tierra) y una vez que hemos unido utilizamos negro tubo termoencogible para mantenerlos together.* *
** Para el sensor de sonido mini tuvimos que utilizar un destornillador micro ajustar el umbral del sensor **
Lo que hizo este frustrante fue encontrar código que trabajó para el proyecto.
He encontrado y adaptado código de: http://www.danielandrade.net/2011/04/09/arduino-so...
He utilizado este código y adaptado con códigos de color RGB de los colores CMY (cyan, magenta, amarillo) en conjunto con el ejemplo de la biblioteca (https://github.com/adafruit/Adafruit_NeoPixel) de Adafruit en el buttoncycle código de Arduino.
Aquí está el código:
[código]
#include
#define VOLUME_PIN A0
#define PIXEL_PIN 6
#define PIXEL_COUNT 40
umbral de flotador =. 05; Cambiar esto
volumen del flotador;
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
bool oldState = alta;
int showType = 0;
void setup() {}
Serial.Begin(9600); Para la depuración
pinMode (VOLUME_PIN, entrada);
Strip.Begin();
Strip.Show();
}
void loop() {}
volumen = analogRead(A0); Lee el valor en el PIN analógico A0
Modo de depuración
Serial.println(Volume);
Delay(1);
if(Volume>100) {}
theaterChase (de la tira. Color(248,8,53), 5); magenta
}
otra cosa if(volume<80) {}
theaterChase (de la tira. Color(18,240,190), 200); Teal
}
Else {}
theaterChase (de la tira. Color(255,236,146), 80); de blanco
}
}
{} void theaterChase (uint32_t c, uint8_t espera)
para (int j = 0; j < 10; j ++) {//do 10 ciclos de persecución
para (int q = 0 q < 3; q ++) {}
para (int i = 0; i < strip.numPixels(); i = i + 3) {}
strip.setPixelColor (i + q, c); Encienda cada píxel tercera
}
Strip.Show();
Delay(Wait);
para (int i = 0; i < strip.numPixels(); i = i + 3) {}
strip.setPixelColor (i + q, 0); Apagar cada píxel tercera
}
}
}
}
[/ code]