Stap 4: Code
Voordat u het touchscreen gebruiken kan, moet u zetten de selector Kleurenoverzicht achter het. Krijgen van de afbeelding (hieronder), schaal het aan de juiste afmetingen (het moet worden uitgebreid tot alle randen van het scherm van de aanraking) en print het uit. Lijm of tape achter het glas touch screen paneel.
Arduino IDE
Om de code naar de Arduino te laden, moet u downloaden van de Arduino IDE. Instructies bij de verbinding
Hier is de code (kopiëren/plakken in de Arduino IDE):
---(begin code) -----------
/ *---Running ledverlichting---
=======================================
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 LEDg = 10;
Const int LEDb = 11;
Const int STRIPr = 6;
Const int STRIPg = 5;
Const int STRIPb = 3;
Const int bodem = 14;
Const int top = 15;
Const int links = 16;
Const int rechts = 17;
Const int knop = 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;
for (int i = 0; ik < 44; i ++) {}
gVal = gVal - 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 255;
gVal = 25;
bVal = 25;
for (int i = 44; ik < 88; i ++) {}
bVal = bVal + 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 255;
gVal = 25;
bVal = 255;
for (int i = 88; ik < 132; i ++) {}
rVal = rVal - 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 25;
bVal = 255;
for (int i = 132; ik < 176; i ++) {}
gVal = gVal + 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 255;
bVal = 255;
for (int i = 176; ik < 220; i ++) {}
bVal = bVal - 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
rVal = 25;
gVal = 255;
bVal = 25;
for (int i = 220; ik < 264; i ++) {}
rVal = rVal + 5;
rValues [i] = rVal;
gValues [i] = gVal;
bValues [i] = bVal;
}
pinMode (LEDr, uitvoer);
pinMode (LEDg, uitvoer);
pinMode (LEDb, uitvoer);
pinMode (button, INPUT);
digitalWrite (knop, hoge);
}
void loop {}
if(digitalRead(button) == LOW) {}
krijgen x positie
pinMode (beneden, INPUT);
pinMode (boven, INPUT);
pinMode (links, uitvoer);
pinMode (rechts, uitvoer);
digitalWrite (links, hoog);
digitalWrite (rechts, laag);
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;
}
y-positie krijgen
pinMode (beneden, uitvoer);
pinMode (boven, uitvoer);
pinMode (links, INPUT);
pinMode (rechts, INPUT);
digitalWrite (boven, hoge);
digitalWrite (onder, laag);
int y_unscaled = analogRead(left);
y = int(map(float(y_unscaled), yMin, yMax, 0, 200));
Als (y < 0) {}
y = 0;
}
Als (y > 200) {}
y = 200;
}
y = 200-y;
}
Als (x < 100 & & y < 60) {/ / wit
r = 255;
g = 255;
b = 255;
}
anders als (x > = 100 & & y < 60) {/ / zwart
r = 0;
g = 0;
b = 0;
}
anders als (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 (LEDg, 255-g);
analogWrite (LEDb, 255-b);
analogWrite (STRIPr, r);
analogWrite (STRIPg, g);
analogWrite (STRIPb, b);
Serial.Print(x);
Serial.Print("");
Serial.println(y);
}
----------- (einde code) ----------- Belasting Code aan Arduino
Druk op 'Compile'. Wachten op de IDE te zeggen "Gedaan compileren", dan steek je Arduino, selecteert u deze in de Tools > seriële poort menu, en druk op "Upload". Wachten op de IDE te zeggen "Gedaan uploaden". Vervolgens, u klaar bent voor het laden van de code.
Functie
Als u wilt instellen een kleur, druk op die kleur op het aanraakscherm en houd deze ingedrukt, dan druk op de knop. U kunt ook houd de knop ingedrukt en beweeg uw vinger om een kleur te selecteren. De kleur wordt ingesteld wanneer u de knop loslaat.
De interne LED geeft je wat feedback op welke kleur die u selecteert, zodat u niet hoeft te kijken neer op de grond te achterhalen.