Need to Learn Touch Screen Programming....Can You Suggest?

Go To Last Post
24 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am needing to develop small and quite simple touchscreen programs. Small applications where you have a very simple GUI where you touch things like "motor ON"/"motor OFF" icons for input/output through an AVR chip. Oh, should add I can't leave the touch screen in the "development board"...it has to be part of a final solution I leave with my hardware for my customers. I'm pretty good with AVR programs, but I only use assembly code...nothing higher, so I know that will have to most likely change with whatever route you all suggest.

I haven't the faintest how to start learning this stuff and which development tool to buy? I have read about Mikroelektronika, but not sure if this EasyAVR6 is worth it?

I'm not a VB or Visual Studio programmer, so I was hoping for something that can help me get quick and not too dirty touch apps out there for some of my easier projects. I know I would need to buy some sort of development kit.
Can anyone out there that knows how to program touch screens help me out? Thanks in advance for your input! I really appreciate it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who designs the user interface? You? Your boss? Your customer? Is the design complete? Usually a touch screen is over a graphics display. What resolution is the graphics? (Hint... if its color and bigger than about 320x240, its going to need an ARM). Seems easy to have a push button with a silk screen label that says "MOTOR ON". Quick, easy, reliable.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Usually a touch screen is over a graphics display.

Not necesarily. If were just talking "capacitive buttons" then Atmel's Qtouch technology with a silk-screened legend would work just fine.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks so much for the quick replies!

I design the circuits and program the chips to control motors and other customer demos in various industries. Car shows, interactive displays for lobbies, etc. The problem is people have asked for simple TFT touch screens with basic text on them even. Monochrome without any logos is cool. Just a touch screen I can divide up into squares that activate outputs or look for data on input pins.

Can be a small screen and can even be a bit grainy if it has to be.
Example:

- - - - - - - - - - - - - - - - - - - - -
- MOTOR ON - - MOTOR OFF -
- - - - - - - - - - - - - - - - - - - - -

Of course it doesn't look right after previewing, but you get the idea I think.
Where you touch either box and the motor goes on/off. I would like a nicer look, but something basically pixelated or dot-matrix looking is fine without any nice graphics. I need something that looks like the really simple LCD screens that you find on bicycle speedometer/odometers - not sure if you have checked one of those out. They are more like a watch crystal looking - monochrome and very basic.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Also, doesn't even have to be a touch screen I guess. Just a TFT with buttons below it is cool too. Just need a way to interact with a touch screen i/0 - wise and learn how to make text show up on one and make it able to be interacted with. I need to learn to crawl I am sure first before walking, so just wanting to know what direction to crawl in first so I don't waste time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I see newhavendisplays has small TFTs with touch screens. I think you read the touch screen using 4 a/d inputs... pair in x, pair in y. Make one x an output, set it hi, read the other x.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Quote:

Usually a touch screen is over a graphics display.

Not necesarily. If were just talking "capacitive buttons" then Atmel's Qtouch technology with a silk-screened legend would work just fine.

well the OP did say touch screen, so I'd say that's a pretty big hint that it is over a display of some sort.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I have read about Mikroelektronika, but not sure if this EasyAVR6 is worth it?
I do 90% of my development on one of these, especially before the hardware design is finished. Thoroughly recommended!
All the hardware is there for touch screen support. Obviously you are doing a commercial development and the cost of the EasyAVR6 will be insignificant in the greater scheme of things.
For commercial development, I can't imagine, not using C for development.

Charles Darwin, Lord Kelvin & Murphy are always lurking about!
Lee -.-
Riddle me this...How did the serpent move around before the fall?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So, Mikroelektronika EasyAVR6 is a good one then? How rough is the learning curve for this? When you say insignificant, I imagine you are talking under $1,000 USD and hopefully no more than $500.

So, I guess I wonder know how long would it take someone relatively new at this to divide the screen into 4 sections of equal size and make each area a text "icon" that pulled a pin high or low when tapped? That's most of what I need to do.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have a good idea, but if you are determined to become the programmer on this project, you should get an avr and a c compiler and start writing little single purpose programs to get up on the learning curve. If you had a backyard gazebo plan jump into your head, and you were determined to build it, but you didnt have any power tools, you might get it done with hand tools. If the job was just slightly bigger, you would certainly need power tools. If you asked the Freaks to write this prog for you (you pick the lcd, avr and touch screen), I bet you'd get responses like 40 hours at $50 an hour, and they would ALL be in c. You don't want to pay a guy to type the program in assembler. Like is just too short.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
So, Mikroelektronika EasyAVR6 is a good one then?

It suits my requirements. There maybe better development kits that do the job better.

Quote:
How rough is the learning curve for this?

That depends upon you. I gather you have an aversion to learning.
Quote:
When you say insignificant, I imagine you are talking under $1,000 USD and hopefully no more than $500.

Or you could stop imagining by looking up their website for yourself and find that they are about $140 + $100 for various peripherals you might want. Chicken shit in the overall scheme of things.
Quote:
So, I guess I wonder know how long would it take someone relatively new at this to divide the screen into 4 sections of equal size and make each area a text "icon" that pulled a pin high or low when tapped?

No need to guess that!
The design time will be about the same for ASM or C
Writing, debugging & testing will be much faster in C
It will take a inexperienced person much longer than it would take an experienced person. That is why you need to pay $100/hr or $25/line of C code for fully designed, documented & debugged code, if you can't do it yourself.
Quote:
Can anyone out there that knows how to program touch screens help me out?

Once you have a full specification, you can come to Bob or I(or plenty of others). (Must have a talk to you about your rates Bob!)

Charles Darwin, Lord Kelvin & Murphy are always lurking about!
Lee -.-
Riddle me this...How did the serpent move around before the fall?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks LDEVRIES and BobG.
No aversion to learning here. The whole point is to learn somethign new, but I do have limited time to invest, so I just wanted to know if this was something that would take me months on end to get a grasp of, as is the case with Visual Studio for non-experienced folks. Sounds like I can get up to speed fairly quickly if I get rolling fast on something. I like Bob's analogy....that's why i am here...to get my tool checklist ready so I have the power tools necessary and don't get to the job site and get a bad surprise.

I just visited the Mikroelektronika website and saw the price for the EasyAVR6 board is nil as you said.

I was mainly trying to get an idea of what you AVR Freaks people had strong sentiment towards in the way of pretty basic TFT display / touch display development environment and what was involved.

I will check out newhavendisplays and read up more on Mikroelektronika.
Thanks everyone! I appreciate the input.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You might want to look at a Nintendo (DS?) touch panels... they're very cheap, simple to interface (but small) and nicely transparent. If a static background is needed, and a small display area, they are great. For anything bigger, well, I'm out of here :)

--greg
Still learning, don't shout at me, educate me.
Starting the fire is easy; the hardest part is learning how to keep the flame!

Last Edited: Tue. Feb 1, 2011 - 10:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

http://www.lcd-module.com/start.... (press the ENGLISH button on the top row of buttons)

More graphic displays with touchscreens and relatively simple serial (RS232, SPI, I2C) interfaces than you can shake a stick at...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Martin,
Just hopped on their site for that product and it looks really fast and intuitive. Not sure about some of the limitations in the end, but for getting something done fast, beats anything I've seen yet from frist glance anyway.

I am putting this one in the hopper of ideas to check out and leaning heavily toward this one since it seems like a rapid deployment option. I wouldn't choose this if I were selling hundreds of products, but my solutions are very integrated and customized for high dollar clients, so they can pay without complaining.

Now off to get the snowblower engine installed ready for the great 15" coming my way!
Stay warm and definitely I am grateful for your ideas that the FreakSquad is sending me! You guys are the best!

Freak, Out

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AVR341 is an A.N. on touchscreenin', with code. There are also touchscreen I/F chips that will just send the X/Y to the MCU ( easiest / quickest thing 4 U ), besides a dev. brd.

OP, you only do things in asm, huh ?! You got "issues", you're NOT going to find ANYBODY doin' this in ass., considering they'd be using a GLCD, W_T_H. Dude, learn C ! C => LESS app. dev. time => MO' money, MO' money, MO' money !!

1) Studio 4.18 build 716 (SP3)
2) WinAvr 20100110
3) PN, all on Doze XP... For Now
A) Avr Dragon ver. 1
B) Avr MKII ISP, 2009 model
C) MKII JTAGICE ver. 1

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you actual experience with the product link you sent me? (MartinM57)

http://www.lcd-module.com/start....
(I put it here again for reference)

Anyone on here ever use their products?
Looks interesting, but also I am sure limited in capabilities. Not a lot of info on the site.
Do you have the ability to make custom graphics? Or did you have to choose an icon from a preset library?
For a quick project where the graphics are not dictated it wouldn't matter too much I suppose.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, the
http://www.lcd-module.com/filead...

TFT colour laptop screen image quality and functionality pretty much limited only by your imagination. However the touch screen is only "single touch" - no iPhone like dragging or two fingered expand/contract etc.

Define touch areas via X,Y coordinate pairs and then put anything under them you want - the preset icons, .jpg images, photoshop graphics, whatever.

Has it's own 8-bit input and output ports that can be read/written and 2 analogue input pins.

For simple motor on/off touch buttons that activate output port pins, you wouldn't even need an AVR - the display could be programmed very simply do that by itself.

Expensive though...I've got the EA STARTeDIPTFT4 package as shown in http://www.lcd-module.com/produc...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Martin,

Thanks for the reply.
I was trying to get more info on these from their site but couldn't find what I was looking for.
A few quick questions on the one you have:
1) How many input/output pins are there?
2) You said 2 are analog in/outs - Are they capable of a/d? What are the parameters for them?
3) As far as the LCD driving and being driven from its own inherent built in i/o pins, what about an input pin change causing a preset icon to change...eg. pin on an LCD pulled high means "User Entered Manual Mode".
4) Where is the line between what you can do / can’t do without an external chip?
5) And, this all seems like you can program it entirely without special programming, just using their “programming system”? If so, this would be the ticket for sure. Sounds like I need to buy their burner system and software and I am not sure the different sizes share the same software – might have to buy it all over again.

Also, I have emailed with Germany on this and didn’t get as much input as I wanted, but they did tell me they have a 3.2” (320 X 240) version coming out next month or so and the pricing is better than the 4.3” you bought.

129 Euro w/o Touch
139 Euro with Touch

Again, many thanks for the advice and input. I very much appreciate it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Most answers are in the PDF I referenced. I think you can download the programming editor and the example files to see how things are done before you buy.

1) 8 in, 8 out

2) For analogue measurement 2 inputs with a range of 0..+5V are available. Each input ... DC impedance is 1MΩ. Please make sure that only positive voltages will be supplied. Internal resolution is 10 Bit...Linearity (after adjustment) is around 0.5%.

3)Don't think you can do this - there is no IF-THEN in the programming language. Probably simpler to read an AVR pin and command the display (either via individual commands, or a macro that you program into the display) to do what you want it to

4)Bit tricky to say - depends what you're thinking of doing

5) The programmer does all versions. The demo board can be used for programming (that's what I do, but it means that you have to keep swapping between the target and the programming board). I think the demo boards are part specific. You can also program it via the serial port - I will get round to that one day.

Be aware that the EDIP displays are quite complicated - it took me some time to work out the best way of dividing functionality between the display and the AVR, how the AVR detects that something has happened on the display etc ... as well as the low level stuff of getting the protocol working electrically (I use SPI to free up the AVR UART for something else) as well as logically (command structure, checksums etc etc)

But as a high end device, I'm pretty impressed - if they were 50% of the price they would be fantastic.

I have an app with hi-res splash screen, multiple tabbed pages, bar graphs, slider controlled brightness, lots of counters and timers (several on the same page incrementing every 0.1s - the display keeps up no problem if you do the command sequences properly) etc.

You (will) have a PM also...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ezLCD
Most have touch screen.
MEGAs for some of their older products.
Lua for programming their newer products.

http://www.4dsystems.com.au/
Some OLEDs and LCDs with touch.
Custom MCUs.
Custom language for programming.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For doing touch screen development, you might also want to look at VisualTFT from MikroElektronika. It is fairly new, but will generate code for your touch screen. I haven't personally used it yet, but am looking forward to giving it a try. You can find it here:

http://www.visualtft.com/

HobbyPCB

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I want only add my suggestion for nice

DIS001 : LCD + touch + SD
http://iteadstudio.com/store/ind...

GLCD
http://iteadstudio.com/store/ind...

Prices and modules.
http://iteadstudio.com/store/ind...

I hope price is fine also platform friendly
and libraries are also available

Quote:
The Screen include a controller ILI9325, it’s a support 8/16bit data interface , easy to drive by many MCU like STM32 ,AVR and 8051

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Something to consider as a user interface is one of these:

http://maplesystems.com/graphic-...

The performance and economy is hard to ignore, and they are Nema 4 (Beer-proof)

They talk Modbus (among other things) so you could build a small Modbus slave with an Avr to interface with your motors, etc. for the "learning" part of your adventure.

Tom Pappano
Tulsa, Oklahoma