Hardware:
- Intel Edison
- Statische Mat
- Computer
- 2 mini USB kabels
- 2 Jumper Cables
- 3 LED lampen (1 blauw, 1 groene en 1 rode)
- 3 1000 OHM weerstand brood Board
- 4 pin kabels
- Seeed RGB Backlight LCD
- Seeed Rotary hoek Sensor
Setup:
- Sluit de basis schild Grove in uw Edison (hoeft niet te worden een Intel Edison, kan het een Arduino board)
- Jumper kabel aansluiten op poort I2C (maakt niet uit welke). Sluit het andere uiteinde aan RGB Backlight LCD.
- 1 van de jumper kabels aansluiten op de 5V-poort op de Edison. Verbinding maken met het brood bord. (Zie afbeelding voor referentie. Het is het dichtst bij de 12 C blauwe kabel snoer u net ingestopt.)
- Andere jumper kabel aansluiten op poort A0. Sluit het andere uiteinde aan Rotary hoek Sensor.
- Andere 3 jumper-kabels aangesloten op poorten ~ 3 ~ 5 en 6 ~. We zullen deze aan de rode, groene en blauwe lichten respectievelijk te verbinden.
- Zie telpatroon van brood bestuur voor meer informatie over welke draden waar gaan.
- Code aan het einde van de pagina downloaden.
- Upload de code naar de Arduino IDE.
- Upload de code naar Edison.
- Spelen met de roterende hoek Sensor. Geniet van de mooie lichten!
Software:
Open de Edison Arduino IDE en gebruik de volgende code:
#include #include #include rgb_lcd lcd;
int bluePinNum = 6; int greenPinNum = 5; int redPinNum = 3;
int potentiometer = 0;
int minPotValue = 0; int maxPotValue = 1024;
//NOTES: PINS PRECEDED WITH A TILDE ARE ANALOG, AND OTHERS ARE DIGITAL. //OUTPUTS ARE INVERTED IN OUR SETUP. I.E. 0 IS FULL BRIGHTNESS, 255 IS LOW.
void setup() { lcd.begin(16, 2); lcd.setRGB(255, 255, 255); pinMode(potentiometer, INPUT); }
void loop() { lcd.setCursor(0,0); //lcd.print(analogRead(potentiometer)); //lcd.setCursor(0,1); double read = analogRead(potentiometer); double fraction = (read - minPotValue)/(maxPotValue - minPotValue); fraction = fraction - floor(fraction); //lcd.print(fraction); double sixth = 1.0/6.0; int r = 0; int g = 0; int b = 0; if(fraction < sixth){ r = 255; g = (int)((fraction)/sixth * 255); } else if(fraction < 2 * sixth){ r = (int)((2 * sixth - fraction)/sixth * 255); g = 255; } else if(fraction < 3 * sixth){ g = 255; b = (int)((fraction-2*sixth)/sixth * 255); } else if(fraction < 4 * sixth){ g = (int)((4 * sixth - fraction)/sixth * 255); b = 255; } else if(fraction < 5 * sixth){ b = 255; r = (int)((fraction-4*sixth)/sixth * 255); } else { r = 255; b = (int)((6 * sixth - fraction)/sixth * 255); } analogWrite(redPinNum, 255 - r); //because of inverted values analogWrite(greenPinNum, 255-g); analogWrite(bluePinNum, 255-b); lcd.setRGB(r,g,b); }
Controleren en uploaden van de Code.
Resultaat:
Uw eindproduct is een "partij Lights". Verandert de kleur van het LCD-scherm. Dit dezelfde technologie kan worden gebruikt door mensen met een handicap om te signaleren voor hulp, of het kan worden gebruikt op de werkplek als een signaal tussen werknemers of in een lijn van de fabriek.
Ervaring:
Er zijn een aantal valkuilen te vermijden bij het doen van dit project.
- Gebruik altijd de statische mat, zoals kosten kunnen zich ophopen op de elektronica of uw lichaam zo niet correct geaard, en dit aan de elektronica schade kan.
- Zorg ervoor dat de poorten op de Grove Starter Kit Plus Base schild zijn dezelfde als degene die gebruikt zijn in de afbeelding. Als dat niet het geval is, wordt het adres gebruikt in de code zal niet zitten kundig voor toegang tot de knop.
- Controleer de aansluitingen op de onderdelen om mislukking is niet te wijten aan een probleem met de hardware.