Stap 2: Stap 2: Breadboarding met Code
Het breadboarding deel van dit project was het meest frustrerende, naast het feit dat ik moest opnieuw mijn Instructables toe te schrijven aan toevallige schrapping van het hele project versus een lege pagina (excuseer de woede).
Ik heb een beeld van wat mijn breadboard leek, samen met een visuele diagram van de geïntegreerde stukken bijgevoegd.
Voor het breadboard gebruikte ik een 10 k ohm weerstand, 1000uf condensator (Adafruit aanbevolen), LED zaklamp (en vervolgens de Neopixel strippen), de mini correcte sensor, de Arduino Uno, Arduino software, mannelijke en vrouwelijke breadboard jumpers, kop pin, mannelijke breadboard jumpers en een breadboard.
** Voor de Neopixel strip wij (mijn leraar en mezelf) nam een kop-speld, met drie pinnen, en hen aan de Neopixel strip met soldeer en een soldeerbout. We gebruikten dan mannelijke en vrouwelijke breadboard jumpers te hechten aan de kop pinnen, verschillende gekleurde draad voor elk onderdeel (rood voor 5V voeding, geel voor tekstinvoer en zwart voor grond) en zodra wij hechten wij vroeger zwart krimpen slangen om hen te houden together.* *
** Voor de mini correcte sensor moesten we gebruik maken van een micro schroevendraaier om de drempel van de sensor **
Wat maakte dit frustrerend was zoeken naar code die voor het project werkte.
Ik vond en code uit aangepast: http://www.danielandrade.net/2011/04/09/arduino-so...
Ik gebruikte deze code en het met RGB kleurcodes voor de CMY (cyaan, magenta, geel) kleuren die ik in combinatie met het voorbeeld van Adafruit bibliotheek (https://github.com/adafruit/Adafruit_NeoPixel) onder de buttoncycle Arduino code gebruikt aangepast.
Hier is de code:
[code]
#include
#define VOLUME_PIN A0
#define PIXEL_PIN 6
#define PIXEL_COUNT 40
float drempel =. 05; Dit wijzigen
float volume;
Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
BOOL oldState = hoog;
int showType = 0;
VOID Setup {}
Serial.begin(9600); Voor foutopsporing
pinMode (VOLUME_PIN, INPUT);
strip.begin();
strip.show();
}
void loop {}
volume = analogRead(A0); Leest de waarde van de analoge PIN A0
Debug modus
Serial.println(volume);
delay(1);
if(volume>100) {}
theaterChase (strip. Color(248,8,53), 5); magenta
}
anders if(volume<80) {}
theaterChase (strip. Color(18,240,190), 200); groenblauw
}
else {}
theaterChase (strip. Color(255,236,146), 80); gebroken wit
}
}
VOID theaterChase (uint32_t c, uint8_t wachten) {}
for (int j = 0; j < 10; j ++) {//do 10 cycli van jagen
voor (int q = 0; q < 3; q ++) {}
voor (int i = 0; ik < strip.numPixels(); i = i + 3) {}
strip.setPixelColor (i + q, c); elke derde pixel inschakelen
}
strip.show();
delay(wait);
voor (int i = 0; ik < strip.numPixels(); i = i + 3) {}
strip.setPixelColor (i + q, 0); elke derde pixel uitschakelen
}
}
}
}
[/ code]