PDA

View Full Version : [Question(s)] Small touch screen to use with mini-itx on robot?



Pi Robot
11-13-2010, 09:09 PM
I have a really basic question: suppose I want to add a small touch screen to the mini-ITX on my robot (running Ubuntu 10.04) so that I can click around GNOME and change things like the wifi network I need to connect to while doing a demonstration? Would something like this Chumby screen work?

http://www.sparkfun.com/commerce/product_info.php?products_id=9777

And if so, how would I connect it to the mini-itx? I have a Zotac IONITX-F-E as shown here:

http://www.newegg.com/Product/Product.aspx?Item=N82E16813500036&cm_re=zotac_ion-_-13-500-036-_-Product

Thanks!
patrick

jes1510
11-14-2010, 12:12 AM
I don't know for sure what that touch panel is but I'm going to assume it's resistive with no controller. You need something that has a controller built in and does mouse emulation.

Also note that you will probably be frustrated with a small touch panel running Ubuntu. You need an OS that was built for touch rather than a mouse to be satisfied with the experience.

tician
11-14-2010, 12:56 AM
Using the touch screen is not too difficult: http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=139.

But using the LCD would not be possible without quite a bit of work. The LCD you listed uses a 24 bit parallel data interface with several other pins for control and timing. To use the LCD would require building or buying a display controller that converts the VGA/DVI/HDMI output of the Mini-ITX motherboard to what is needed for the LCD. If you are looking for a complete out of the box solution, it will likely cost a bit. EarthLCD has many options, but their site is not the most easily navigable and you likely won't find anything suitable for less than $300. A small, mostly portable system with a touch screen that might work is: http://www.thinkgeek.com/computing/usb-gadgets/bfa3/, but I am not sure about Linux compatibility. Another option without the touchscreen is the http://www.newegg.com/Product/Product.aspx?Item=N82E16824185014, but again I'm not sure about the Linux compatibility.

If you are looking for excessively minimalist, a USB to serial converter and a serial-enabled alphanumeric LCD could give you a terminal output with a cheapo usb keyboard for input.

Pi Robot
11-14-2010, 09:05 AM
Thanks for all the info. All I really need is a way to get the robot to connect to the local wifi router when I first turn the robot on in a new place. Then I remote login to the robot from my laptop using ssh or VNC and take it from there. So I thought some form of small and light touch screen might be the way to go. I saw someone at our local robotics club running a robot using a Chumby for the brain and he was running Linux on it (but not Ubuntu) and interacting with the screen using a touch pen. So I was hoping I could use just the Chumby screen with my mini-ITX. Sounds like I might just forget the screen and figure out a Linux script that ensures that the robot connects to the strongest local signal on startup. I've also played with an adhoc setup between robot and laptop but then I lose the Internet connection through the local wifi. Which just gave me an idea: I could use an adhoc connection over an ethernet patch cable just to get the robot on the local wifi and then disconnect the cable.

--patrick

Pi Robot
11-14-2010, 10:53 AM
OK, I now have a direct cable ethernet connection working between my laptop and the robot but since it wasn't as trivial as I had hoped, I'll post the steps here in case anyone else is interested. The biggest trick was to use a made up network number for the direct connection so it wouldn't in any way conflict with my wireless network. I also had to add a route on each machine back to the other or ssh and VNC connections would take a long time to come up if the wireless adapter on either machine was also activated. In any event, these are the steps that got me going:



On the laptop, click on System->Preferences->Network Connections
Click on the Wired tab
Click the Add button
Give your connection a name such as "Direct Laptop to Robot"
Click on the Ipv4 Settings tab.
Make sure the checkbox beside "Connect automatically" is checked.
Select "Manual" for the Method.
Click the Add button.
Enter the following IP information:

Address: 10.0.1.100
Netmask: 255.255.255.0
Gateway: 10.0.1.100


Click on the Routes button.
Click the Add button.
Enter the following routing information:

Address: 10.0.1.101
Netmask: 255.255.255.0
Gateway: 10.0.1.100
Metric: 1


Click the checkbox beside "Use this connection only for resources on its network."
Click the OK button.
Check the checkbox beside "Available to all users".
Click the Apply button.
Authenticate if prompted.



Now log into the robot anyway you can and repeat the above steps with the following exceptions:


When entering the manual IP address use 10.0.1.101 but leave the Gateway set at 10.0.1.100
When entering the Routing information, set the address to 10.0.1.100

--patrick

tician
11-15-2010, 09:06 PM
Nice solution. I've never had much luck with direct connections over ethernet.

In the slim possibilty that anyone cares...
The Chumby is an ARM based system with an onboard LCD controller and a few other pins to use the touch screen. The parallel interface for a direct connection to smaller LCDs is quite common on ARM processors (see just about any mobile phone).

Although being full blown x86-compatible computers makes them oh so much easier to get running than an ARM system, an ATOM system just seems a bit overkill for a robot unless you are making a larger bot and need the GPU for vision processing. Then again, I am a control freak/minimalist (such as: "If I can't use VGA/DVI/HDMI, Gigabit ethernet, etc. on a bot, why should I pay for it and have it waste space/power/payload?").

RobotAtlas
11-15-2010, 09:19 PM
I know you already solved it, but I thought iPod touch would be agood solution for < $200.
you also get sensors such as accelerometer, gyro, mike. Do they have compas?

lnxfergy
11-15-2010, 09:48 PM
Although being full blown x86-compatible computers makes them oh so much easier to get running than an ARM system, an ATOM system just seems a bit overkill for a robot unless you are making a larger bot and need the GPU for vision processing. Then again, I am a control freak/minimalist (such as: "If I can't use VGA/DVI/HDMI, Gigabit ethernet, etc. on a bot, why should I pay for it and have it waste space/power/payload?").

It's a different paradigm of thinking -- and a different level of robotics. There's a big difference in development time and capabilities of a PC-based robot and one based on an ARM (especially with the aubundance of code available under PC-based systems like ROS). With the low cost of Atom-based systems, I don't even look at ARM-based systems anymore for the kind of robots I'm building.

-Fergs