RGB LED Tutorial (med en Arduino) (RGBL) (4 / 6 steg)
Steg 4: Digital Arduino kod
Men inte ta vårt ord för det hämta koden nedan och få spela. Att göra detta helt enkelt...
- Kopiera koden nedan och klistra in den i en en tom Arduino skiss.
- Kompilera och ladda upp skissen till din Arduino ombord.
- Njut av som din tre lysdioder lyser röd, grön och blå.
- Om du gå till avsnittet loop() i koden enligt exempel 1 du kan se där du kan ändra färgerna. Prova några andra varianter
- För att se hur vi kontrollera varje LED titt på funktionen setColor().
- Nästa kommentar ut (lägga till / /) till de tre raderna i exempel 1.
- O-kommentera (ta bort / /) från varje rad i avsnittet exempel 2 i loop() koden
- Belasta upp den här till din styrelse och titta på när dina tre lamporna ändrar färg slumpmässigt.
- Leka med koden för att se hur det fungerar och gör din egen kul färg funktioner.
(En snabb video Digital exempel på en och Digital exempel 2)
Tillägg 1: _RGBL_Digital.pde
---bof RGBL - RGB Digital ingressen / / RGB LED pinsint ledDigitalOne [] = {14, 15, 16}; de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePinint ledDigitalTwo [] = {9, 10, 11}; de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePinint ledDigitalThree [] = {3, 5, 6}; de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePinconst boolean ON = låg; Definiera på så lågt (detta beror på att vi använder en gemensam anod RGB LED (gemensamma pin är ansluten till + 5 volt) const booleska OFF = hög; //Define av så hög / / fördefinierade Colorsconst boolean [röd] = {ON, OFF, OFF}; const boolean [grön] = {OFF, på OFF}; const boolean [blå] = {OFF, OFF ON}; const boolean [gul] = {ON, ON, OFF}; const booleska CYAN [] = {ON, ON OFF}; const booleska MAGENTA [] = {ON AV, PÅ}; CONST boolean [vit] = {ON, ON, ON}; CONST boolean [svart] = {OFF, OFF, OFF}; En matris som lagrar de fördefinierade färgerna (tillåter oss att senare slumpmässigt Visa en färg) const boolean * färger [] = {röd, grön, blå, gul, CYAN, MAGENTA, vit, svart}; / /---eof RGBL - RGB Digital Preamblevoid setup() {för (int jag = 0; jag < 3; i ++) {pinMode (ledDigitalOne [i], produktionen); //Set tre LED stift som utgångar pinMode (ledDigitalTwo [i], produktionen); //Set tre LED stift som utgångar pinMode (ledDigitalThree [i] OUTPUT); Ange tre LED stift som resultat}} void loop() {/ * exempel - 1 Set a färg Set tre lysdioderna till några fördefinierade färg * / setColor (ledDigitalOne, röd); //Set färgen på LED en setColor (ledDigitalTwo, grön); //Set färgen på LED två setColor (ledDigitalThree, blå); //Set färgen på LED tre / * Exampe - 2 gå genom slumpmässiga färger satt lysdioder till en slumpmässig färg * / //int rand = random (0 sizeof(COLORS) / 2); få ett slumptal inom spänna av färger / / setColor (ledDigitalOne, COLORS[rand]); Ange färg för ledde en att en slumpmässig färg //rand = random (0, sizeof(COLORS)/2); Ange färg för LED 2 till en slumpmässig färg / / setColor (ledDigitalTwo, COLORS[rand]); rand = random (0, sizeof(COLORS)/2); Ange färg för LED 3 till en slumpmässig färg / / setColor (ledDigitalThree, COLORS[rand]); Delay(1000); } / * Uppsättningar en ledde till någon färg led - en matris med tre element definierar tre färg stiften (ledde [0] = redPin, ledde [1] = greenPin, ledde [2] = bluePin) färg - en boolesk matris med tre element (färg [0] = röd värde (= låg på, hög = off), färg [1] = grön värde, färg [2] = blå värde) * / annullera setColor (int * ledde, boolean * färg) {för (int jag = 0; jag < 3; i ++) {digitalWrite (ledde [i] , color[i]); {}} / * En version av setColor som gör för att använda const booleska färger * / annullera setColor (int * ledde, const boolean * färg) {boolean tempColor [] = {färg [0], [1], färg [2]}; setColor (led, tempColor);}