LED "Neon" glöd tänds för Automotives (4 / 5 steg)
Steg 4: kod
Innan du kan använda pekskärmen, måste du sätta selector färgkarta bakom den. Få bilden (nedan), skala upp det till rätt storlek (det bör omfatta alla kanter på pekskärmen) och skriva ut. Limma eller tejpa fast den bakom glas beröring skärm panel.
Arduino IDE
För att ladda kod till Arduino, måste du hämta Arduino IDE. Instruktioner på länken
Här är koden (klistra in i Arduino IDE):
---(BEGIN Code) -----------
/ *---LED varselljus---
=======================================
Bob Rudolph
sentryGun53
V02 12/29/11
*/
CONST float yMin = 170;
CONST float yMax = 870;
CONST float xMin = 68.
CONST float xMax = 920;
CONST int LEDr = 9.
CONST int resk.trans.buff = 10;
CONST int LEDb = 11;
CONST int STRIPr = 6;
CONST int STRIPg = 5;
CONST int STRIPb = 3;
CONST int botten = 14.
CONST int topp = 15.
CONST int vänster = 16.
CONST int höger = 17;
CONST int knappen = 2;
int rValues [264];
int gValues [264];
int bValues [264];
int r = 0;
int g = 0;
int b = 0;
int x = 198;
int y = 30.
void setup() {
Serial.BEGIN(9600);
int rVal = 255;
int gVal = 255;
int bVal = 25;
för (int jag = 0; jag < 44; i ++) {
gVal = gVal - 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 255;
gVal = 25;
bVal = 25;
för (int jag = 44; jag < 88; i ++) {
bVal = bVal + 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 255;
gVal = 25;
bVal = 255;
för (int jag = 88; jag < 132; i ++) {
rVal = rVal - 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 25;
bVal = 255;
för (int jag = 132; jag < 176; i ++) {
gVal = gVal + 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 255;
bVal = 255;
för (int jag = 176; jag < 220; i ++) {
bVal = bVal - 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 255;
bVal = 25;
för (int jag = 220; jag < 264; i ++) {
rVal = rVal + 5.
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
pinMode (LEDr, OUTPUT);
pinMode (resk.trans.buff, OUTPUT);
pinMode (LEDb, OUTPUT);
pinMode (knapp, indata);
digitalWrite (knappen, hög);
}
void loop() {
IF(digitalRead(Button) == låg) {
få x-position
pinMode (botten, indata);
pinMode (topp, indata);
pinMode (vänster, utdata).
pinMode (höger, OUTPUT);
digitalWrite (vänster, hög).
digitalWrite (höger, låg);
int x_unscaled = analogRead(bottom);
x_unscaled = 1024 - x_unscaled;
x = int(map(float(x_unscaled), xMin, xMax, 0, 264));
IF(x < 0) {
x = 0;
}
IF(x > 264) {
x = 264;
}
få y-position
pinMode (botten, OUTPUT);
pinMode (topp, OUTPUT);
pinMode (vänster, ingång).
pinMode (höger, ingång);
digitalWrite (topp, hög);
digitalWrite (längst ner, låg);
int y_unscaled = analogRead(left);
y = int(map(float(y_unscaled), yMin, yMax, 0, 200));
om (y < 0) {
y = 0;
}
om (y > 200) {
y = 200.
}
y = 200-y;
}
om (x < 100 & & y < 60) {/ / vit
r = 255;
g = 255;
b = 255;
}
annars om (x > = 100 & & y < 60) {/ / svart
r = 0;
g = 0;
b = 0;
}
annars om (y > = 60) {/ / multicolor
r = int(map(float(rValues[x]), 25, 255, 0, 255));
g = int(map(float(gValues[x]), 25, 255, 0, 255));
b = int(map(float(bValues[x]), 25, 255, 0, 255));
}
analogWrite (LEDr, 255-r);
analogWrite (resk.trans.buff, 255-g);
analogWrite (LEDb, 255-b);
analogWrite (STRIPr, r);
analogWrite (STRIPg, g);
analogWrite (STRIPb, b);
Serial.Print(x);
Serial.Print("");
Serial.println(y);
}
----------- (slutet kod) ----------- Ladda kod till Arduino
Tryck på "Kompilera". Vänta på IDE att säga "Gjort sammanställningen", då plugg i din Arduino, markerar du den i Verktyg > Serial Port-menyn och tryck på "Ladda upp". Vänta på IDE att säga "Gjort upp". Då du är klar laddar koden.
Kodfunktion
Om du vill ange en färg, tryck den färgen på pekskärmen och håll ner, sedan Tryck på knappen. Du kan även hålla in knappen och flytta ditt finger för att välja en färg. Färgen är inställd när du släpper knappen.
Den enda lampan ger dig lite feedback på vilken färg du väljer, så du behöver inte titta på marken för att lista ut.