Att koppla upp en touch screen

Planering och tankar kring eventuella framtida projekt.
barret
Inlägg: 21
Blev medlem: 14 juni 2007, 20:53:39
Ort: Norrort

Att koppla upp en touch screen

Inlägg av barret »

Hallå, jag har under en tid haft lite idéer om några elektroniska projekt som jag skulle vilja ge mig på. Dock har jag i princip ingen användbar kunskap om elektroniken på denna nivå. Jag har lekt lite med dioder, motstånd, transistorer och lite sånt när jag var yngre, men det är på den nivån jag ligger.

Så nu tänkte jag ta tag i det här och har kommit vad jag vill göra.

Jag kommer att köpa en resistiv touch screen, sanolikt denna och göra en matris av ljusdioder som jag sätter bakom skärmen, där jag sedan kan sätta på och stänga av enskilda dioder genom att röra på skärmen. Det hela fyller ingen annan funktion än att jag skall ha en sak där jag lätt kan se resultat på mina programmeringsexperiment.

Så, jag hoppas att jag med hjälp av er mer kunniga skall kunna ro det här i hamn och lära mig en del på vägen.

Projektets olika steg:

1. Koppla upp touch screen'en till en programmerbar krets.
2. Programmera kretsen.
3. Fixa och koppla in en diodmatris och bygga ihop själva mojängen i en låda a'la iphone.

Så, om jag börjar med punkt 1:
Jag vet inte mer än att victor_passe tipsade mig (tack) om att jag behöver "...minst 2adc ingångar, 1 digital utgång och 0V för att mäta." Jag tror mig veta att adc betyder analog till digital-konverterare, och digital utgång är väl inga konstigheter, vad 0V innebär är jag dock osäker på.

Så, min tanke är att jag hittar ett lämpligt massproducerat chip som innehåller alla funktioner jag behöver för att koppla in touch screen'en, där jag kommer åt alla ingångar och utgångar i en programmeringsmiljö, i t.ex. c eller c++(?). Jag har inte kodat c/c++ tidigare, och sannerligen inga chip, men känner mig väl förtrogen med högnivåspråk som c#, php, java och liknande så jag hoppas att tröskeln till c/c++ inte blir alltför hög. Mellan c och c++ så föredrar jag nog c++ pga. klassimplementationen, men vet inte hur hårdvarustödet ser ut.

Ligger jag i rätt spår?

När jag sedan har kommit så långt att det är läge att börja programmera, hur ser utvecklingsmiljön ut? (Eller kan se ut...) Kan man koppla in chipet till datorn på något sätt så att man kan debugga och läsa av chipet i realtid? Vad krävs för hårdvara för att överhuvudtaget kunna programmera/föra över kod mot ett chip?

Har även haft en tanke på att först fixa ett chip som sköter översättningen av de analoga signalerna ifrån touck screen'en till digitala x/y koordinater som sedan skickas till ett andra chip där jag sedan gör allt tungt arbete med att styra och ställa med saker och ting beroende på vilka koordinater jag får in. Bra idé? Prestandavinst? Onödigt? Enklare? Krångligare?

Alla tips och råd emottages tacksamt!
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46950
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att koppla upp en touch screen

Inlägg av TomasL »

Finns specialkretsar för detta , från bl.a. MAXIM och Texas.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Att koppla upp en touch screen

Inlägg av jesse »

Här är bra info om hur en resistiv touch screen fungerar och hur du kopplar in en AVR till den: AVR application note AVR341.

Du har fyra pinnar som kan fungera både som digitala utgångar och som analoga ingångar.
Först testar du om någon trycker på panelen: sätt LÅG* utgång på ena långsidan. Mät på ena kortsidan med pull-up-motstånd - om du får nära noll volt så trycker någon på panelen. Detta tror jag kan avläsas digitalt. Sedan avgör du positionen:
1) i höjdled: sätt översidan till HÖG och undersidan till LÅG. Läs av en (eller båda) kortsidorna analogt. Spänningen motsvarar placering i höjdled.
2) växla nu så att du gör de båda kortsidorna till utgångar: lägg LÅG på vänster och HÖG på höger anslutning. Läs av analogt på någon eller båda långsidorna - resultatet är en spänning proportionell mot positionen i x-axeln.

Men nu är det inte riktigt så enkelt!
Det är ganska hög kapacitans i touchskärmen - därför kommer dina spänningar inte nå rätt nivå direkt efter att du satt sina utgångar till rätt nivåer. Därför ska du vänta några millisekunder innan du läser av efter att ha ändrat läge. Det kan också vara en fördel att läsa av flera gånger och ta ett medelvärde.

Angående själva panelen:

Jag beställde flera olika modeller från dealextreme , men trots olika utseende på bild osv. så fick jag exakt samma modell med olika ordernummer på. Så exakt vad du får får du se när den kommer fram. Flexikabeln ansluter du enklast genom en 4-polig FFC kontakt (FlatFlexCable), kallas även ZIF-kontakt. (finns t.ex. på ELFA). Det kan finnas olika pitch på kontakten: 1mm, 0.5mm eller ännu mindre.
Bild

Jag har precis byggt ett kretskort till min grafiska display med touchscreen, får se när jag har tid att testa / programmera den.
__________________________________
* HÖG / LÅG syftar på logiska nivåer.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Att koppla upp en touch screen

Inlägg av jesse »

Angående programmeringsmiljö så finns AVRStudio och WinAVR (med AVR-GCC) gratis att ladda ner hos Atmel, om du nu vill lära dig att programmera Atmels 8 bitars AVR kretsar. Det är ganska enkelt att installera och komma igång (I Windows).

Tomas föreslår t.ex. att du köper ett färdigt chip (touch-kontroller) som läser av touchpanelen. Men då behöver du ändå en mikrokontroller för att i sin tur läsa av den kretsen (det blir två kretsar så som du beskrev det i ditt exempel). Själv tänker jag läsa av touchpanelen direkt med min AVR - Det enda som krävs är egentligen en funktion som sköter själva avläsningen. Å andra sidan, har du två kretsar måste du ändå ha en funktion som sköter avläsningen - fast istället för analogt så får du hantera kommunikationsprotokollet för touch-kontrollern istället. Enklare eller svårare? Tja... det beror kanske på vad man är van vid. Gillar man analog elektronik bättre än datakretsar så strunta i separat touch-kontroller, är mitt förslag. Tomas argument för touch-kontrollern (vi har pratat om detta) är att det kan vara svårt att få bra värden och att det kanske krävs lite trixande / moddning innan man får allt på plats.

(bilder på mitt touch-projekt här)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Re: Att koppla upp en touch screen

Inlägg av speakman »

Håller med om att det går fortare att komma fram till bra resultat med en dedikerad touch-krets. Har man ingen erfarenhet av lågnivåprogrammering så lär man ha tillräckligt att stånga sig blodig med utan att dessutom försöka lösa vetenskapen med bra precision från touch med rena AD-omvandlare.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46950
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att koppla upp en touch screen

Inlägg av TomasL »

Dessutom är dessa kontrollers ofta "självkalibrerande" dvs du ställer den i kalibreringsläge, pekar på hörnen, klart.
Ut får du i regel en dataström med x och y koordinater, samt om skärmen och kontrollern klarar det även tryck.
ToPNoTCH
Inlägg: 5146
Blev medlem: 21 december 2009, 17:59:48

Re: Att koppla upp en touch screen

Inlägg av ToPNoTCH »

Skall jag vara ärlig känns detta inte riktigt "rätt" som utbildningsprojekt om du är på nivån som du beskriver.

"Dock har jag i princip ingen användbar kunskap om elektroniken på denna nivå."

Jag anser att du borde sänka ambitionsnivån något, kanske dela upp projektet.
- Tända LED i vald matris
- Läsa av en ADC
- etc.
- etc.

När du har koll på alla "delmoment" så blir slutprojektet att få allt att lira ihop.

Nu kanske det var så du tänkt angripa det.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Att koppla upp en touch screen

Inlägg av jesse »

Ja, det är en väldigt bra idé att få varje del att fungera var för sig först. Om nu allt ska skötas av samma processor så blir väl första experimentet att överhuvudtaget programmera den så att en lysdiod blinkar.
barret
Inlägg: 21
Blev medlem: 14 juni 2007, 20:53:39
Ort: Norrort

Re: Att koppla upp en touch screen

Inlägg av barret »

Tack för svaren, jag förstår att det inte lär bli speciellt enkelt för mig att fixa ihop det här med tanke på min bristande erfarenhet och kunskap, men jag tänkte naturligtvis ta det steg för steg och se det som ett lärande projekt. Har ganska mycket att göra med plugget och extraarbete just nu, men förhoppningsvis får jag möjlighet att pyssla med det i sommar.

En annan fråga som inte är helt orelaterad till ämnet: Finns det någon "internet-krets" på marknaden? Alltså en chip som kan sända och ta emot information över tcp/ip? Jag har sett att det finns små wifi-chip, men vet inte riktigt vilken funktionalitet dessa har.

edit: Hittade den här sidan http://www.beyondlogic.org/etherip/ip.htm , verkar finnas ett utbud iallfall. Och ja, jag vet att jag har vatten en kilometer upp över öronen nu, men man får ju fantisera ;)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Att koppla upp en touch screen

Inlägg av jesse »

Ja, det där med internetkrets är ju en våt dröm.... men när ska man nånsin få tid att sätta sig in i det??? Det förblir nog en dröm för min del några månader till... eller år...
barret
Inlägg: 21
Blev medlem: 14 juni 2007, 20:53:39
Ort: Norrort

Re: Att koppla upp en touch screen

Inlägg av barret »

Okej, nu tänkte jag försöka dra igång med det här så smått... Ska börja med att försöka igång en fungerande kontrollerbar ledmatris.

Hur funkar det här forumet, ska jag fortsätta här eller starta en ny tråd i projekt?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46950
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att koppla upp en touch screen

Inlägg av TomasL »

Beträffande nätverkskretsar så finns det ett par stycken på marknaden som lämpar sig för uControllers.
Det finns också mer eller mindre färdiga moduler.

Har jobbat en del med de rena controllerkretsarna, dvs de som i vanligt tal kallas mör MAC+PHY, dock aldrig med de färdiga modulerna.

Tror nog att du får öva och träna lite mer innan du ger dig på dessa, då TCP/IP stacken mm, inte är helt trivial.
Användarvisningsbild
Klas-Kenny
Inlägg: 11838
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Att koppla upp en touch screen

Inlägg av Klas-Kenny »

Projektdelen fungerar som så att du skriver och berättar om ditt projekt, samt skriver uppdateringar om hur det går osv. samt någon fråga ibland fungerar väl bra, men ifall det handlar om att du bara ska skriva frågor om hur du ska gå till väga känns inte projekt som rätt kategori.
Men, känner du att du har kommit någonstans i ditt projekt som du vill dela med dig av, så skapa gärna en projekttråd :)

Men, har du fler frågor tycker jag du borde hålla dig till denna tråd.
remne
Inlägg: 241
Blev medlem: 11 februari 2007, 14:11:21
Ort: Linköping

Re: Att koppla upp en touch screen

Inlägg av remne »

Skriv svar