Touch Screen Overlay med Arduino



nyligen min vän Johan köpt några Nintendo DS ersätter Touch skärmar och breakout styrelser för ett "Arduino motorcykel RGB ledde" projekt han arbetar på. Efter att ha lite framgång med Touch skärmen bibliotek och andra Självstudiekurser online beslutade vi att skriva koden oss själva.

Koden nedan är utformad att fungera med RBG led's. Eftersom det ger utmärkt samordna avläsningar och är mycket lätt att ställa in, kan det användas för mycket mer än bara lysdioder. Koden här emellertid är utformad att använda X-axeln för att styra nyans och Y-axeln att styra ljusstyrkan för ledde så småningom är placerad under Johans motorcykel.

När du arbetar med dessa pekskärmar som det visade sig snabbt att de inte är samma. Varje beröring skärm ger ut olika högsta och lägsta värden för både X- och Y-axeln så vissa justeringar för att koden behövs för kalibrering. Några har även vänt X och Y behandlingen som kan fästas i koden, eller helt enkelt genom att vrida din pekskärm.

Vad behövs för att justera de tryckkänsliga skärmarna?
-Hitta din minsta/högsta värdena för X och Y. (använda xPos / yPos)
-Beräkna ditt utbud
och det är i princip det!

Nintendo DS pekskärm:
http://www.Amazon.com/eForCity-touch-screen-Nintendo-DS-lite/DP/B0010LXJYC
https://www.Sparkfun.com/products/8977
Touch skärmen Breakout
https://www.Sparkfun.com/products/9170

<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
/*
* Skapade av: Johan Verma & Cory Malantonio
* Kushy04
* cgmalantonio
*
* Y - analoga 0
* X + analog 1
* Y + analog 2
* X - analog 3
*
*/

int xVal = 0;
int yVal = 0;
int touchX;
int lättstött;
int xPos;
int yPos;

int redPin = 11;
int greenPin = 9;
int bluePin = 10;

int rL = 0;
int bL = 0;
int gL = 0;

void setup()
{
pinMode (redPin, produktionen);
pinMode (bluePin, produktionen);
pinMode (greenPin, produktionen);
Serial.BEGIN(38400);
}

void loop()
{
Ställ in analoga stiften i förberedelse för läsning av värdet för Y
pinMode (A1, indata); Analog pinne 1
pinMode (A3, indata); Analoga stift 3
pinMode (A0, OUTPUT); Analoga pin 0
digitalWrite (A0, låg); Analoga pin 0 som GND anslutning
pinMode (A2, OUTPUT); Analoga stift 2
digitalWrite (A2, hög); Analoga stift 2 som + 5V anslutning
yVal = analogRead (1). Läs Y-värde

Ställ in analoga stiften i förberedelse för läsning av värdet för Y
från pekskärmen
pinMode (A0, indata); Analoga pin 0
pinMode (A2, indata); Analoga stift 2
pinMode (A1, utgång); Analog pinne 1
digitalWrite (A1, låg); Analog pinne 1 som GND anslutning
pinMode (A3, OUTPUT); Analoga stift 3
digitalWrite (A3, hög); Analoga stift 3 som + 5V anslutning
xVal = analogRead (0); Läs x-värde

När touchscreen inte trycks vilar på vissa koordinater
Detta gör att koordinaterna i vila inte få beräknas
touchX = xVal;
om (touchX > 20 & & touchX < 900) {

Här är där du behöver din minst X värde och utbud av X
(touchX, minsta x, antal x, konverterar till 0-1024)
xPos = karta (touchX, 108.0, 899.0, 0, 1024);

xPos = begränsa (xPos, 0, 1024);
}
lättstött = yVal;
om (lättstött > 20 & & lättstött < 900) {

Här är där du behöver din minsta Y värde och utbud av Y
(lättstött, lägsta y, utbud av y, konverterar till 0-1024)
yPos = karta (lättstött, 145.0, 892.0, 0, 1024);

yPos = begränsa (yPos, 0, 1024);
}

float ljusstyrka;
ljusstyrka = int (yPos) / 1024.0;
denna härliga bit omvandlar 0-1024, till tre 255 värden
int värde = int (xPos);
flyta RGBslider = (float) värde/1024.0;
flyta redLevel = 128.0 * (2 * cos (2 * PI * (RGBslider + 0,125)));
flyta greenLevel = 128.0 * (2 * cos (2 * PI * (RGBslider + 0.375)));
flyta blueLevel = 128.0 * (2 * cos (PI * RGBslider));

gör att värden av färg påverkas av värde för ljusstyrka
redLevel = redLevel * (ljusstyrka);
greenLevel = greenLevel * (ljusstyrka);
blueLevel = blueLevel * (ljusstyrka);

/*
om (redLevel > 255) redLevel = 255;
om (redLevel < 0) redLevel = 0;
om (greenLevel > 255) greenLevel = 255;
om (greenLevel < 0) greenLevel = 0;
om (blueLevel > 255) blueLevel = 255;
om (blueLevel < 0) blueLevel = 0;
*/
gör samma sak som avsnitt kommenteras ut ovanför
redLevel = begränsa (redLevel, 0, 255);
greenLevel = begränsa (greenLevel, 0, 255);
blueLevel = begränsa (blueLevel, 0, 255);

RGB led är att vara används arbete bakåt
0 = på || 255 = av
Detta vänder normalvärden
rL = 255 - int(redLevel);
bL = 255 - int(blueLevel);
gL = 255 - int(greenLevel);

analogWrite (redPin, rL);
analogWrite (greenPin, gL);
analogWrite (bluePin, bL);

Serial.Print(Brightness);
Serial.Print(":");
Serial.Print(rL);
Serial.Print(".");
Serial.Print(gL);
Serial.Print(".");
Serial.println(bl);

Serial.Print(xPos);
Serial.println(yPos);

Delay(10);
}

Relaterade Ämnen

TFT Touch baserade UI med Arduino UNO

Jag är mycket förtjust i TFT LCD uppvisning. Så jag bestämde mig att lära sig det. Det var redan bibliotek tillgängliga för detta arbete. Men jag hittade de flesta av dem var för olika styrenheter. Det var en kille på intructables som gjort dessa bib...

Reparera en kapacitiv touch screen stylus med ledande tråd

Detta är ett relativt enkelt reparation projekt, så jag ska mest bara låta bilderna göra arbetet här. Jag hade en skadad stylus huvud för en kapacitiv pekskärm och ville fixa det upp. Det fungerade fortfarande även om det delades, men delad på mitten...

Mugg musik: Förvandla vatten till ett Instrument med Arduino och ChucK

Vad händer om du slå alla ledande yta till ett instrument? Gillar, säga... en mugg vatten? Bäst av allt, är det billigt; du behöver bara $1 värt extra elektriska komponenter (inte inklusive Arduino).För detta projekt, min vän skörd och jag kombinerad...

Sjungande växt. Gör din anläggning sjunga med Arduino, touche och en gameduino

projektet är en del av experiment gjort medan du gör en konstnär i bostad på Instructables. Du kan se de andra projekten här.Att göra en växt sjunga har ett trick sedan Theremin uppfanns. Här kommer jag att lära dig hur man gör detta med och arduino...

TFT Touch Screen Animation motor och 8 x 8 RGB ledde matrisen Controller

Denna inbäddade ansökan har högar av kreativa potential för alla blivande Arduino fanatiker! En TFT Touch Screen Animation motor och tillbehör 8 x 8 RGB LED Matrix styrenhet. Titta på introduktionsvideo för mer information:Vad du behöver:TFT pekskärm...

IoT vägguttag med Arduino och ESP8266

I detta instructable, jag visa dig hur du lägger till förbättrad tillgänglighet, intelligens och anslutning till ett vanligt vägguttag. Detta görs med en kombination av mikrokontroller, Arduino, olika sensorer, ESP8266 och en blandning av programvaru...

$1 touch Screen Stylus

Hatar att använda fingrarna för att rita på din telefon/tablett? Har du någonsin velat använda en penna på din iPhone eller annan enhet med en pekskärm? Väl här är ett billigt effektiva sätt att bygga en touch screen stylus com. Detta DIY visar dig e...

IPhone Universal Learing Remote med Arduino

Hej och Välkommen till min första Instructable.Jag vet inte om dig, men jag kan aldrig hitta fjärrkontrollen för TV: N. Det verkar alltid försvinna när jag behöver det och sedan bara upp dagar senare inklämd inuti soffan av en av barnen. En sak jag a...

Enkel Touch Screen handskar

hur man gör enkla, bekväma och varma touch screen handskarSteg 1: Köpa handskar Gå ut en köpa några handskar. De måste 95% akryl och 5% spandex.Jag fick min på jätten.Obs: vissa andra material kan fungera. Kolla kommentarerna!Steg 2: Slicka 'Em Just...

KeyChainino - första spelet nyckelringen programmerbara med Arduino

KeyChainino är en vintage spel nyckelring programmerbara med Arduino där vem som helst kan ladda upp sitt eget spel bara med Arduino IDE.Om du verkligen älskar arkadspel, är KeyChainino för dig!Det har inte någon LCD-skärmar, men endast 30 lysdioder...

Hur man gör en LED 7-segment display med Arduino

Jag ska visa dig hur man gör ett 7 segment visas med lysdioder. Kombinera med Arduino att skapa nedräkningen timers, enkel text och mycket mer. Jag gillar att göra ursprungliga projekt. Jag sökte hela instructables och hitta inte en så här. I själva...

Hur du använder OV7670 kameramodul med Arduino?

Här vi introducerat en OV7670 kameramodul bara köpt online, inklusive kommunikationen av kameramodul och Arduino UNO, använda olika sätt att ta foto via kameramodul, och så vidare. Detta är en Arduino kameramodul, antog övervakning kameror digital bi...

Billiga disponibel Touch Screen Stylus

Har du någonsin behövt en touch screen stylus för en iPad eller din mobila enhet? Då du inte kan hitta din penna och du behov till få något snabbt, men du har inte tid att göra en trevlig som du hittar här. Det är inte en rolig plats för att vara i....

LED Strip maneter kostym med Arduino & LPD8806 ledde remsor

det hela började när jag såg en BBC-dokumentär 2002 om oceanens djupa vatten. Det var en biolimunescent Manet i dokumentären, antagligen av arten "salper" som tog tag i min uppmärksamhet så under senare år bestämde jag mig för att använda den so...

Komma igång med Arduino i 60 minuter

Så du har ett Ardusat utrymme Kit (eller andra Arduino Starter Kit), nu vad?Bra fråga. Den grundläggande kunskap som tillåter elever att skapa experiment i utrymmet börjar med ödmjuka LED. Dessa instruktioner tar dig från att få en enda LED att blink...

Systemövervakaren med Arduino och 7 segment display

Nyligen jag fick en ny dator och började spela TV-spel. Jag gillar att övervaka min system samtidigt ha spel full-skärm: Jag vill se min GPU temperatur och min belopp används ram (Minecraft FTB äter en massa, som 3-6 GB!).Jag hade en bärgade 7-segmen...

PHloat2 DIY surt vatten testning skulptur & kit med arduino

pHloatpHloat är en DIY kit som är gjorda för att användas tillsammans med en pre-ägda / befintliga arduino mikrokontroller. Dess syfte är att testa pH-nivåer i lokala floder, sjöar och vattendrag på grund av inflödet av luft- och vattenföroreningar s...

Grundläggande raden efter Robot med Arduino

09/07/2015Det har varit några år eftersom vi Ursprungligen postat denna grundläggande linje följande Robot med Arduino handledning, och det verkar så många människor tyckte att det bra att vi ska skicka en uppdatering som löper nuvarande Arduino bibl...

AtoZ av RC hobby + DIY radio med ARDUINO

Wikipedia definierar RC-fordon somEn fjärrkontroll fordon är några fordon som kontrolleras distans ett sätt som inte begränsar sin rörelse med ett yttre ursprung till enheten. Detta är ofta en radio kontroll enhet, kabel mellan kontroll och fordon, e...