RGB LED kleur Selector (2 / 2 stap)

Stap 2: Code


De onderstaande code is wat ik gebruikt om te testen van de Raad van bestuur. De bovenste lijn toont de huidige R, G en B-waarden (0-255) met een ster aan de linkerkant van het huidige proces. De tweede rij ziet u de stap-grootte voor de +/-knoppen. De opdrachten zijn:

  • Ingedrukt: Vermindering van de geselecteerde kleur (R, G of B) door de huidige stap-grootte
  • De geselecteerde kleur (R, G of B) met de huidige stap-grootte omhoog knop: Toenemen
  • Linkerknop: verplaatsen naar de vorige kleur
  • Rechterknop: verplaatsen naar de volgende kleur
  • Knop selecteren: de stap-grootte van 1 tot en met 5 tot 10 tot en met 20 tot 50 in-/ uitschakelen, dan terug naar 1...

De code gebruikt de Adafruit LCD Shield en Neopixel bibliotheken. De voorbeeldcode is hieronder.

U kan ook een verbindingslijn toevoegt en macht een volledige string met deze aanpak.

De code die ik gebruikt:

 //*********************// RGB_LCD - use the Adafruit LCD shield to set the RGB values on a single WS2812b LED// Based on the Adafruit Neopixel and LCD Shield Libraries and examples// December, 2013 Carl Sutter//*********************// LCD Shield Library#include <Wire.h>#include <Adafruit_MCP23017.h>#include <Adafruit_RGBLCDShield.h>// The shield uses the I2C SCL and SDA pins. On classic Arduinos// this is Analog 4 and 5 so you can't use those for analogRead() anymore// However, you can connect other I2C sensors to the I2C bus and share// the I2C bus. Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); // Neopixel Library#include <Adafruit_NeoPixel.h>#define PIN 6// Parameter 1 = number of pixels in strip// Parameter 2 = pin number (most are valid)// Parameter 3 = pixel type flags, add together as needed:// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800); // These #defines make it easy to set the backlight color - use if you have an RGB shield//#define RED 0x1//#define YELLOW 0x3//#define GREEN 0x2//#define TEAL 0x6//#define BLUE 0x4//#define VIOLET 0x5#define WHITE 0x7#define ARROW 0x7E#define LARROW 0x7F#define DELAY_QUICK 40 // the shortes delay between presses so you can scroll quickly, but still get to a specific button press / value#define DELAY_SLOW 100 // slower delay for buttons thatare changing modes etc.uint8_t curCols[] = {127, 127, 127}; // array of current RGB valuesuint8_t curCol =0; // index of the current color being worked on - 0=R, 1-G, 2=Buint8_t step_size =1; // the amount to move in each button pressvoidsetup() { lcd.begin(16, 2); strip.begin(); strip.show(); // Initialize all pixels to 'off' lcd.setBacklight(WHITE); // leave the "Step Size:" label on the display so it does not flicker lcd.setCursor(2,1); lcd.print("Step Size: "); // display the startup data display(); } // display - print the RGB values and set the LEDvoiddisplay() { uint8_t i; strip.setPixelColor(0, curCols[0], curCols[1], curCols[2]); strip.show(); lcd.setCursor(0,0); for (i=0; i<3; i++) { if (curCol == i) { lcd.print(char('*')); } else { lcd.print(' '); } if (i ==0) lcd.print('R'); if (i ==1) lcd.print('G'); if (i ==2) lcd.print('B'); if (curCols[i]<100) lcd.print(' '); if (curCols[i]<10) lcd.print(' '); lcd.print(curCols[i]); } //lcd.setCursor(2,1);//lcd.print("Step Size: "); lcd.setCursor(13,1); lcd.print(step_size); lcd.print(' '); // hack to have one digit #s print over old 2 digit #s } // print_valvoidloop() { uint8_t buttons = lcd.readButtons(); if (buttons) { if (buttons & BUTTON_UP) { curCols[curCol] += step_size; display(); delay(DELAY_QUICK); } if (buttons & BUTTON_DOWN) { curCols[curCol] -= step_size; display(); delay(DELAY_QUICK); } if (buttons & BUTTON_LEFT) { if (curCol ==0) { curCol =2; } else { curCol--; } display(); delay(DELAY_SLOW); } if (buttons & BUTTON_RIGHT) { if (curCol ==2) { curCol =0; } else { curCol++; } display(); delay(DELAY_SLOW); } if (buttons & BUTTON_SELECT) { switch (step_size) { case1: step_size =5; break; case5: step_size =10; break; case10: step_size =20; break; case20: step_size =50; break; default: step_size =1; } display(); delay(DELAY_SLOW); } } // buttons != 0 } // loop 

Gerelateerde Artikelen

Het maken van een RGB-LED kleur Slider met blote Paint

Het maken van een RGB-LED kleur Slider met blote Paint

In deze tutorial zullen we een fysieke RGB (rood, groen en blauw) LED (light emitting diode) kleur mixer met Blote geleidende Paintbouwen. Elke RGB LED heeft drie interne light emitting diodes (LED's) voor elk van de kleuren - rood, groen en blauw. V
RGB-LED-kleur Sequencer - zonder een Microprocessor

RGB-LED-kleur Sequencer - zonder een Microprocessor

'De kleurencombinaties van kleur LEDs zonder gebruik te maken van een microprocessor weergevenMet behulp van een interne logica-chip die onder de 50-cent kost, kun je een eenvoudige kleur cyclus display voor RGB LED's. De meerdere kranen langs de bov
RGB LED kleur fietsen Circuit

RGB LED kleur fietsen Circuit

hoe re doel een de RGB LED color fietsen circuits van een luchtverfrisser Glade lichtshow.Ik was bezig een rode, groene, blauwe kleur fietsen circuit gebaseerd op een PIC-microcontroller toen ik de Glade lichtshow luchtverfrisser gevlekte.Ik wilde we
Kleur kalibreren RGB LEDs met een Arduino

Kleur kalibreren RGB LEDs met een Arduino

De meeste mensen denken LEDs en Arduino van betrekkingen eindigen met het knipperen schets. Daarna moet u gaan naar motoren, intelligente huizen en andere 'serieuze' dingen. Nou, misschien ik ben langzaam of misschien is het gewoon dat ik een grafisc
RGB LED goedkope en makkelijke kleur veranderende nachtlampje

RGB LED goedkope en makkelijke kleur veranderende nachtlampje

dit project was vrij eenvoudig zodra ik rond speelde en dacht het dat uit, die een tijdje duurde.Het idee is om de kleur met een schakeloptie wijzigen, en hebben een led dimmen opties ook te kunnen.  Dit zijn de items die u nodig hebt om dit project
RGB-kleur selector

RGB-kleur selector

RGB led kleurenkiezer is een makkelijk te gebruiken visuele kleurenmixer gemaakt op de verwerking van de ontwikkelomgeving. Het is een gemakkelijke manier om te begrijpen van de kleurencombinatie en de communicatie tussen de arduino en processing leu
Kleur detectie met behulp van RGB LED

Kleur detectie met behulp van RGB LED

heb je ooit wilde een geautomatiseerde manier om te ontdekken de kleur van een object? Door stralend licht van een bepaalde kleur op het object en kijken hoeveel licht wordt teruggekaatst, u welke kleur het object vertellen kan is. Bijvoorbeeld, als
ARDUINO UNO - kleinhandelsfase Anode RGB LED 3-kleur Blink met behulp van eenvoudige Code

ARDUINO UNO - kleinhandelsfase Anode RGB LED 3-kleur Blink met behulp van eenvoudige Code

Terwijl het krijgen van een knipoogje 3-kleur van een gemeenschappelijke kathode RGB LED eenvoudig is vond ik het een beetje vervelend om hetzelfde resultaat van een gemeenschappelijk anode een als gevolg van mijn zeer elementaire kennis van de ARDUI
RGB LED STRIP kleur orgel (zonder MICROCONTROLLER)

RGB LED STRIP kleur orgel (zonder MICROCONTROLLER)

het is een RGB LED STRIP orgaan en een microcontroller niet gebruikt. zijn gebaseerd N-kanaal mosfet.Stap 1: onderdelen HalloHaar een RGB LED STRIP kleur orgel zonder MICROCONTROLLERen hier is de lijst.1) 3,5 mm audio-aansluiting-1ps2) 12V, 2AMP powe
UFO project - kleur veranderende Glowing Radio gecontroleerd vliegtuig - RGB LED's zijn geweldig!

UFO project - kleur veranderende Glowing Radio gecontroleerd vliegtuig - RGB LED's zijn geweldig!

I love R/C Airplanes.Ik hou van dingen die oplichten.Ik hou van fotografie.zet ze samen en kun je 's nachts!WAARSCHUWING *** mensen zal freak out, als u dit project en het vliegen met succes. Politie en lucht luchtverkeersleiders zal daarover horen a
ARDUINO UNO - kleinhandelsfase Cathode RGB LED 3-kleur Blink met behulp van eenvoudige Code

ARDUINO UNO - kleinhandelsfase Cathode RGB LED 3-kleur Blink met behulp van eenvoudige Code

Hier is een eenvoudige schakeling met nog eenvoudiger code een gemeenschappelijke kathode RGB LED knipperen. Alles wat u nodig hebt is de basisinformatie over Arduino UNO en begrip van eenvoudige Arduino Code zoals 'Blink' voorbeeldcode in de Arduino
Met behulp van een RGB-LED te detecteren kleuren

Met behulp van een RGB-LED te detecteren kleuren

I 'm gonna Toon u hoe u kunt een RGB LED en een fotocel cd's als de sensor van een kleur voor een micro-controller. Ik zal illustreren de methode om op te halen van een kleur met behulp van Arduino, en ik zal u tonen hoe u kunt controleren of de kleu
4 x 4 x 4 RGB LED Cube

4 x 4 x 4 RGB LED Cube

een tijdje geleden, toen ik voor het eerst begonnen met behulp van Arduino, mijn eerste project was een 4 x 4 x 4 LED kubus, bouwde ik het uit een gids vond ik hier in Instructables, ik wist niets over programmeren, en weinig over elektronica, maar i
ANDROID + ARDUINOADK + RGB led

ANDROID + ARDUINOADK + RGB led

dit is een project waardoor een android app, vervolgens configureren om het te gebruiken met android debug bridge of android accessoire development kit.voor het maken van de android app gebruiken we android wijze van verwerking.Ik Kies altijd voor ha