Ultieme nacht fiets (4 / 30 stap)

Stap 4: Aan de slag met de FastLED bibliotheek en uploaden van de schets van de Arduino


Ik werk vooral met de FastLED.io bibliotheek voor het programmeren van de LED, het is vrij moeiteloos als het gaat om RGB-programmering, en ze geweldige documentatie voor hun code hebben.

Hier is een instructable detaillering van de installatie van de bibliotheek FastLED.

Dit is de Code die nodig hebt om te uploaden naar de Arduino:

 // // // // // // // ultimate night bike by AUDREY LOVE // a project for Arduino, Radioshack LED Tricolor Light Strip, and a bicycle. // // // // // with great support from the FastLED.io Library // download it here: https://github.com/FastLED // // // #include "FastLED.h" #define NUM_LEDS 10 #define DATA_PIN 6 CRGB leds[NUM_LEDS]; //__________pin designations int programIndicator = 13; //Pin Number for the LED program indicator int buttonPin = 2; // the number of the pushbutton pin // Variables will change: int ledState = LOW; // ledState used to set the LED long previousMillis = 0; // will store last time LED was updated long intervalOne = 1500; // interval at which to blink (milliseconds) long intervalTwo = 500; // interval at which to blink (milliseconds) long intervalThree = 300; // interval at which to blink (milliseconds) long intervalFour = 200; // interval at which to blink (milliseconds) long intervalFive = 100; // interval at which to blink (milliseconds) long intervalSix = 50; // interval at which to blink (milliseconds) int brightValue = 0; int satValue = 0; int hueValue = 0; //button boolean buttonValue = true; // variable for reading the button status boolean buttonState = true; // variable to hold the button state //pattern int patternProgram = 0; // which button program is in use void setup() { // declare signal pins pinMode(programIndicator, OUTPUT); pinMode(buttonPin,INPUT_PULLUP); // sanity check delay - allows reprogramming if accidently blowing power w/leds delay(2000); FastLED.addLeds<TM1803, DATA_PIN, GBR>(leds, NUM_LEDS); Serial.begin(9600); // initialize serial communication at 9600 bits per second: } void loop() { // Serial.println(buttonValue); Serial.println(patternProgram); // button presses cycle through modes buttonValue = !digitalRead(buttonPin); // read input value and store it in val if (buttonValue != buttonState) { // the button state has changed! if (buttonValue == 0) { // check if the button is pressed if (patternProgram == 0) { // if set to smooth logarithmic mapping patternProgram = 1; // switch to stepped chromatic mapping } else { if (patternProgram == 1) { // patternProgram = 2; // switch to next mode } else { if (patternProgram == 2) { // patternProgram = 3; // switch to next mode } else { if (patternProgram == 3) { // patternProgram = 4; //switch to next mode } else { if (patternProgram == 4) { // patternProgram = 5; //switch to next mode } else { if (patternProgram == 5) { // patternProgram = 0; // switch to next mode } } } } } } } buttonState = buttonValue; // save the new state in our variable } brightValue = analogRead(A2); satValue = analogRead(A3); hueValue = analogRead(A4); Serial.println(hueValue); switch(patternProgram){ case 0: leds[0] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[1] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[2] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[3] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[4] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[5] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[6] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[7] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[8] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); leds[9] = CHSV((hueValue/4)+1, (satValue/4)+1, (brightValue/4)+1); FastLED.show(); // delay(40); break; case 1: { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intervalTwo) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; // set the LED with the ledState of the variable: digitalWrite(programIndicator, ledState); } } leds[0] = CRGB::Red; leds[1] = CRGB::Orange; leds[2] = CRGB::Yellow; leds[3] = CRGB::Green; leds[4] = CRGB::Aqua; leds[5] = CRGB::Blue; leds[6] = CRGB::Purple; leds[7] = CRGB::Magenta; leds[8] = CRGB::Red; leds[9] = CRGB::Orange; FastLED.show(); delay(60); leds[0] = CRGB::Magenta; leds[1] = CRGB::Red; leds[2] = CRGB::Orange; leds[3] = CRGB::Yellow; leds[4] = CRGB::Green; leds[5] = CRGB::Aqua; leds[6] = CRGB::Blue; leds[7] = CRGB::Purple; leds[8] = CRGB::Magenta; leds[9] = CRGB::Red; FastLED.show(); delay(60); leds[0] = CRGB::Purple; leds[1] = CRGB::Magenta; leds[2] = CRGB::Red; leds[3] = CRGB::Orange; leds[4] = CRGB::Yellow; leds[5] = CRGB::Green; leds[6] = CRGB::Aqua; leds[7] = CRGB::Blue; leds[8] = CRGB::Purple; leds[9] = CRGB::Magenta; FastLED.show(); delay(60); leds[0] = CRGB::Blue; leds[1] = CRGB::Purple; leds[2] = CRGB::Magenta; leds[3] = CRGB::Red; leds[4] = CRGB::Orange; leds[5] = CRGB::Yellow; leds[6] = CRGB::Green; leds[7] = CRGB::Aqua; leds[8] = CRGB::Blue; leds[9] = CRGB::Purple; FastLED.show(); delay(60); leds[0] = CRGB::Aqua; leds[1] = CRGB::Blue; leds[2] = CRGB::Purple; leds[3] = CRGB::Magenta; leds[4] = CRGB::Red; leds[5] = CRGB::Orange; leds[6] = CRGB::Yellow; leds[7] = CRGB::Green; leds[8] = CRGB::Aqua; leds[9] = CRGB::Blue; FastLED.show(); delay(60); leds[0] = CRGB::Green; leds[1] = CRGB::Aqua; leds[2] = CRGB::Blue; leds[3] = CRGB::Purple; leds[4] = CRGB::Magenta; leds[5] = CRGB::Red; leds[6] = CRGB::Orange; leds[7] = CRGB::Yellow; leds[8] = CRGB::Green; leds[9] = CRGB::Aqua; FastLED.show(); delay(60); leds[0] = CRGB::Yellow; leds[1] = CRGB::Green; leds[2] = CRGB::Aqua; leds[3] = CRGB::Blue; leds[4] = CRGB::Purple; leds[5] = CRGB::Magenta; leds[6] = CRGB::Red; leds[7] = CRGB::Orange; leds[8] = CRGB::Yellow; leds[9] = CRGB::Green; FastLED.show(); delay(60); leds[0] = CRGB::Orange; leds[1] = CRGB::Yellow; leds[2] = CRGB::Green; leds[3] = CRGB::Aqua; leds[4] = CRGB::Blue; leds[5] = CRGB::Purple; leds[6] = CRGB::Magenta; leds[7] = CRGB::Red; leds[8] = CRGB::Orange; leds[9 ] = CRGB::Yellow; FastLED.show(); delay(60); // delay(100); // wait for a second break; case 2: { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intervalThree) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; // set the LED with the ledState of the variable: digitalWrite(programIndicator, ledState); } } Serial.println(hueValue); Serial.println(satValue); leds[0] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[1] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[2] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[3] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[4] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[5] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[6] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[7] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[8] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[9] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); FastLED.show(); delay(100); leds[0] = CHSV( (hueValue +4)/4, (satValue+8)/4, 175); leds[1] = CHSV( (hueValue +8)/4, (satValue+4)/4, 200); leds[2] = CHSV( (hueValue +4)/4, (satValue+8)/4, 175); leds[3] = CHSV( (hueValue +8)/4, (satValue+4)/4, 200); leds[4] = CHSV( (hueValue +4)/4, (satValue+8)/4, 175); leds[5] = CHSV( (hueValue +8)/4, (satValue+4)/4, 200); leds[6] = CHSV( (hueValue +4)/4, (satValue+8)/4, 175); leds[7] = CHSV( (hueValue +8)/4, (satValue+4)/4, 200); leds[8] = CHSV( (hueValue +4)/4, (satValue+8)/4, 175); leds[9] = CHSV( (hueValue +8)/4, (satValue+4)/4, 200); FastLED.show(); delay(100); break; case 3: { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intervalFour) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; // set the LED with the ledState of the variable: digitalWrite(programIndicator, ledState); } } leds[0] = CRGB::Black; leds[1] = CRGB::Black; leds[2] = CRGB::Black; leds[3] = CRGB::Black; leds[4] = CRGB::Black; leds[5] = CRGB::Black; leds[6] = CRGB::Black; leds[7] = CRGB::Black; leds[8] = CRGB::Black; leds[9] = CRGB::Black; FastLED.show(); delay(60); leds[0] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[1] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[2] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[3] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[4] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[5] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[6] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[7] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); leds[8] = CHSV( ((hueValue +8)/4), ((satValue+4)/4), 200); leds[9] = CHSV( ((hueValue +4)/4), ((satValue+8)/4), 175); delay(100); // wait for a second break; case 4: { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intervalFive) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; // set the LED with the ledState of the variable: digitalWrite(programIndicator, ledState); } } leds[0] = CRGB::Black; leds[1] = CRGB::Black; leds[2] = CRGB::Black; leds[3] = CRGB::Black; leds[4] = CRGB::Black; leds[5] = CRGB::Black; leds[6] = CRGB::Black; leds[7] = CRGB::Black; leds[8] = CRGB::Black; leds[9] = CRGB::Black; FastLED.show(); delay(30); leds[0] = CRGB::Gold; leds[1] = CRGB::Gold; leds[2] = CRGB::Gold; leds[3] = CRGB::Gold; leds[4] = CRGB::Gold; leds[5] = CRGB::Gold; leds[6] = CRGB::Gold; leds[7] = CRGB::Gold; leds[8] = CRGB::Gold; leds[9] = CRGB::Gold; delay(30); // wait for a second // delay(100); break; case 5: { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intervalSix) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; // set the LED with the ledState of the variable: digitalWrite(programIndicator, ledState); } } leds[0] = CRGB::Black; leds[1] = CRGB::Black; leds[2] = CRGB::Black; leds[3] = CRGB::Black; leds[4] = CRGB::Black; leds[5] = CRGB::Black; leds[6] = CRGB::Black; leds[7] = CRGB::Black; leds[8] = CRGB::Black; leds[9] = CRGB::Black; FastLED.show(); delay(30); leds[0] = CRGB::Red; leds[1] = CRGB::Orange; leds[2] = CRGB::Yellow; leds[3] = CRGB::Green; leds[4] = CRGB::Cyan; leds[5] = CRGB::Blue; leds[6] = CRGB::Purple; leds[7] = CRGB::Violet; leds[8] = CRGB::Magenta; leds[9] = CRGB::Gold; delay(30); // delay(100); break; } } 

Gerelateerde Artikelen

Nacht fiets 2.0 met LED's

Nacht fiets 2.0 met LED's

Potato chips en projecten zijn zeer vergelijkbaar. Je bent nooit tevreden met slechts een. En zelfs als je zoveel chips eten of zo veel projecten te die doen je voelt een beetje zwak in de knieën en onrustig in de maag, het duurt niet te lang om te v
Nacht fiets!

Nacht fiets!

Gas is te duur en niet ecovriendelijke, zodoende mij zoals voor de fiets waar ik can... helaas dat betekent een heleboel fietsen terug van het werk 's nachts.  Dit maakt me een beetje zenuwachtig, hoeveel kan je vertrouwen stuurprogramma's gaan 45 mi
Hoe maak je een nacht fiets

Hoe maak je een nacht fiets

Gas is te duur en niet ecovriendelijke, zodoende mij zoals voor de fiets waar ik can... helaas dat betekent een heleboel fietsen terug van het werk 's nachts.  Dit maakt me een beetje zenuwachtig, hoeveel kan je vertrouwen stuurprogramma's gaan 45 mi
Veiligheid ledverlichting voor nacht fiets rijden

Veiligheid ledverlichting voor nacht fiets rijden

dit is een manier om mensen tot ziens op afstand tijdens het rijden uw fiets 's nachts te laten. Eenvoudig te maken, te installeren en te gebruiken.Stap 1: Dingen die je zal nodig Altoids vak 12 volt schakelaar, multi tool, 2 9 volt batterij conector
Deano de ultieme nacht in biefstuk sandwich

Deano de ultieme nacht in biefstuk sandwich

mijn eigen versie van een biefstuk-sandwich die vettig afhaalmaaltijden zal verslaan voor een welverdiende nacht in.. .enkele met een paar biertjes en uw keuze van kant en werpen op uw lievelingsfilm en ontspannen :)Stap 1: ingrediëntendus om te begi
Zonne energie Disco fiets aanhangwagen

Zonne energie Disco fiets aanhangwagen

Deze Solar Power fiets Trailer gebouw was waarschijnlijk de leukste die ik ooit heb gehad tijdens een bouw. (Echt overal krijg ik een licht-donkerscheiding wiel gebruiken op een Haakse slijper, ik ben blij.) Verder ben ik enthousiast voor het jarenla
Daglicht zichtbaar fiets licht - voorzijde/achterzijde Combo - 100 Lumen op 2 AA's

Daglicht zichtbaar fiets licht - voorzijde/achterzijde Combo - 100 Lumen op 2 AA's

de ultieme Combo fiets Veiligheidslicht - het is een licht combo voor/achter met twee 3 watt high-power LED is, alle aangedreven door slechts twee oplaadbare AA's. Niet zwaarder zijn dan de instellingen van uw oude maar 10 x helderder! Allemaal voor
Party Bike

Party Bike

Winter altijd gooit me volledig op ambachtelijke wijze, dus ik kreeg een voorsprong op de zomer om mijn fiets van normale cruiser naar ultieme feest fiets! Ik wilde om te vermijden dat een aanhangwagen of extra ondersteunt voor luidsprekers, dus deze
Gloeiende Tool behandelt

Gloeiende Tool behandelt

een tijdje terug zag ik de nacht fiets Instructable door Adobi waaruit bleek hoe gloed verf Maak een fietsframe gloed. Ik pakte een gloed verf sampler van gloed, Inc. en testte het uit. Wat ik vond was de resultaten waren niet zoals ik had verwacht. D
Ultieme fiets Computer uit een oude Smartphone

Ultieme fiets Computer uit een oude Smartphone

zet uw oude android-smartphone in de ultieme fietscomputer.Stap 1: materialen 1. android-smartphone.2. een manier voor rijpaard op om uw rit.WiFi-verbinding setup en kaart downloadensoftware nodig.digihub snelheidsmeter (beschikbaar in Google play-wi
Ultieme 10 Watt USB fiets Generator

Ultieme 10 Watt USB fiets Generator

Dit Instructable is over het maken van een ultieme 10 Watt USB fiets generator systeem combineren dynamo en zonne-energie! Het combineert mijn vorige Instructables voor Solar USB Charger en fiets Solar/Dynamo USB lader + achterlichten met een nieuwe
Hoe te verbeteren uw veiligheid met een fiets 's nachts.

Hoe te verbeteren uw veiligheid met een fiets 's nachts.

Laten we eerlijk zijn: een fiets rijden 's nachts is gevaarlijk. Wordt gezien is zo belangrijk als het zien van waar u rijdt. Dit instructable toont een zeer snelle, gemakkelijke en goedkope manier om uw passieve veiligheid te verbeteren.Stap 1: Beho
Laser fiets en nacht rijden

Laser fiets en nacht rijden

onlangs ontdekt ik E L draad"Electroluminescent draad (vaak afgekort tot EL wire) is een dun koperdraad omhuld met een fosfor die gloeit bij een AC-huidige is toegepast. Het kan worden gebruikt in een breed scala aan toepassingen-voertuig en/of struc
Maak uw fiets '' slimme en groene '' voor een ultieme rit

Maak uw fiets '' slimme en groene '' voor een ultieme rit

In dit instructable ik zal u tonen hoe te maken van sommige nuttige elektronische gadgets voor uw fiets. De instructable bevat een zonne-energie-bank met een zeer hoge 7000mAh capaciteit die kan worden opgeladen met een ingebouwde 5v zonnepaneel of m