Arduino part ljus (4 / 10 steg)
Steg 4: Testa och kodning
Anslutningarna är ganska enkel.
Sätta ett motstånd mellan GND och A0 göra den analoga 0 som standard. Detta hjälper Arduino att äkta känsla och inte bara vissa störningar av radiosignaler etc.
Marken marken från kontakten att göra det en del av Arduino.
Placera vänster eller höger kanal från kontakten till Arduino A0
Sätta den lysdiodsrand + 5 till VCC och GND till GND. Data kabel går till Arduino stift 6.
Om du har några frågor, fråga bara.
Observera att du behöver NeoPixel.h bibliotek. Hitta det från GitHub.
#include < Adafruit_NeoPixel.h >
#include < avr/power.h >
#define stift 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel (30, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.BEGIN(9600);
Strip.BEGIN();
Strip.show(); Initiera alla pixlar till "off"
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println (sensorValue), //Just för calipration
IF(sensorValue > 10)
{
rainbowCycle(0);
}
IF(sensorValue >30) {
theaterChase (remsa. Color(255,0,0),10);
theaterChase (remsa. Color(255,0,0),10);
theaterChase (remsa. Color(0,0,255),10);
}
IF(sensorValue >40) {
colorWipe (remsa. Color(255,0,0),10);
colorWipe (remsa. Color(0,255,0),10);
colorWipe (remsa. Color(0,0,255),10);
}
}
Detta gör regnbågen jämnt fördelat i hela
void rainbowCycle (uint8_t vänta) {
uint16_t i, j.
för (j = 0; j < 256 * 1; j ++) {/ / 1 cykel av alla färger på hjul
för (jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, hjulet (((i * 256/strip.numPixels()) + j) & 255));
}
Strip.show();
Delay(Wait);
}
}
Biosittning krypande lampor.
void theaterChase (uint32_t c, uint8_t vänta) {
för (int j = 0; j < 5; j ++) {//do 5 cykler för att jaga
för (int q = 0; d < 3; q ++) {
för (int jag = 0; jag < strip.numPixels(); i = i + 3) {
strip.setPixelColor (jag + q, c); aktivera varje tredje pixel
}
Strip.show();
Delay(Wait);
för (int jag = 0; jag < strip.numPixels(); i = i + 3) {
strip.setPixelColor (jag + q, 0); Inaktivera alla bildpunkter på tredje
}
}
}
}
Fylla prickar en efter den andra med en färg
void colorWipe (uint32_t c, uint8_t vänta) {
för (uint16_t jag = 0; jag