Pages: 1 2 [3] 4   Go Down
Author Topic: TellyMate Shield - TV output for Arduino  (Read 24646 times)
0 Members and 1 Guest are viewing this topic.
New Zealand
Offline Offline
God Member
*****
Karma: 0
Posts: 999
Arduino pebbles
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
if not cant u do that via the command line with the tools arduino IDE comes with?
You can. The IDE uses avrdude to upload a hex file itself. You can look at the verbose build output to see how it does it.

--Phil.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
The 'transmit' functionality is very simple. <ESC>| causes the TellyMate to send back the ascii value of the character at the cursor.

It doesn't sound like much, but it means that the contents of the TellyMate screen can be 'read'. This could be a simple way for games to detect walls, other players etc. without having the overhead of storing a copy of the game-screen data on the Arduino.

Having bought my TellyMate shield prior to this latest upgrade, I went ahead to see if I could 'upgrade' to this latest feature. I down loaded the latest firmware zip file and using my USBtiny programmer was able to burn the new hex file as well as fuse settings into a blank mega8 AVR chip.

The board worked as before but didn't seem to be able to utilize the send character feature that the example programs used in the zip file.

The latest user manual mentioned that there was a need for a 'hardware enabled' board to utilize this feature but there is no schematic available yet showing what has changed to enable it.

So I ran one of the example programs and verified with a scope that the new firmware was sending data via the mega8's pin 3 and that pin had no trace going anywhere. So I soldered a short jumper between that pin and pin D0 on the shield's Arduino connector.

Now the example programs work as stated in their comment lines and so that seems like a pretty easy to implement upgrade. If anyone knows if there is more involved with the 'hardware enabled' feature please let us know.

Lefty
« Last Edit: June 19, 2009, 06:52:30 pm by retrolefty » Logged

Oxford (England)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 58
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yup! You've got it spot on.

I can confirm that the only schematic difference between the original TellyMate and the TellyMate 1.1 is a trace between pin 3 of the TellyMate's Mega8 and Arduino pin D0.

Soldering this wire in place gives an original TellyMate the abiilty to transmit (obviously subject to the later firmware).

I'll put this information into the TellyMate User Guide's FAQ later today.
There'll also be a new firmware release this weekend. (Nothing too exciting - I'm squeezing in a couple more 'read' functions to transmit things like firmware revision, output format, cursor position etc. back. The release will also include .hex files for M168 and M328p's, should anyone be building their own and only have those chips available [?!]).
Logged

Norway
Offline Offline
Sr. Member
****
Karma: 0
Posts: 370
R-Doo-Inoo in the making :3
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

awesome thats great news smiley
Logged

B-dui in creation.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

They cost alot *wah*. :'(
Logged

London, England
Offline Offline
Edison Member
*
Karma: 4
Posts: 1026
Go! Go! Arduinoooo !!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You call that a lot? I say it's a bargain!
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
They cost alot *wah*.

Not sure I understand your statement without more context. However the developer of this product has published the hardware and firmware and all the documentation required so that one is free to build their own or buy at a very fair price.

Now if only I could find a small video LCD display at a comparable hobbyist price  smiley-wink

Lefty
Logged

London, England
Offline Offline
Edison Member
*
Karma: 4
Posts: 1026
Go! Go! Arduinoooo !!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You know what I was thinking yesterday? You can get these LCD Photo Frames dirt cheap nowadays. I wonder if the screens inside them could be hacked for use as a display, either using the TellyMate or some other kind of interface? I am sure they could be.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I wonder if the screens inside them could be hacked for use as a display,

Yea, I looked at quite a few listings on E-bay awhile back but couldn't find any that said they included an A/V (composite video) input, just memory cards or usb interfaces.

Lefty

Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1411
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

How about the pocket TVs, like this one?
http://www.amazon.com/Casio-TV-880-Portable-Handheld-Color/dp/B00005EBGN/ref=sr_1_6?ie=UTF8&s=electronics&qid=1245776085&sr=8-6
US$25 on ebay.

Also, some video cameras (my old Sony, for example) have A/V inputs.

« Last Edit: June 23, 2009, 12:04:05 pm by florinc » Logged

London, England
Offline Offline
Edison Member
*
Karma: 4
Posts: 1026
Go! Go! Arduinoooo !!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You have just reminded me that at the bottom of a cupboard drawer I have an old Casio 970D Pocket TV with an AV input!! Cool.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 7
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For one I would like to have an overlay board.

I searched the 'net a found some others that have simple designs. They don't use the LM1881 or LMH1980 sync separator.

This one uses a microchip PIC.

(Scroll down to the bottom to see the You tube video for a quick demo)

http://www.micro-examples.com/public/microex-navig/doc/081-pic-osd-superimposer.html

PAL version with no inputs (demo code only)

Quote from the article
------------------
To superimpose text to a PAL video signal, we need to control timing with precision to get a stable picture.
We have to deal with vertical synchronization, which tell us when a new frame starts, and with horizontal synchronization, which tell us when a new line starts.

Usually, and external circuit is used to extract both vertical and horizontal synchronization pulses from the PAL video signal, the LM1881 integrated circuit does it very well for example.

Since I wanted to have a very simple circuit, I had to find a way to make the PIC do this job.

First, we must be able to know when a video line starts : we will use the PIC internal comparator module to do it. The internal voltage reference module will be programmed with a voltage clip level, the comparator will then trigger an interrupt each time the input voltage will become lower or higher than the clip level. This will be our horizontal sync separator.

Second, we must be able to know when a frame starts do get vertical sync : PAL signal uses special sync pulses to announce a new frame. We have to detect a 28 µs low level pulse, there are five of them in the vertical sync and none elsewhere. The internal timer module of the PIC will be used to count time of low level pulses.

This done, we must be able to know what to superimpose to the video signal. A bitmap representation of the text to be displayed is built in RAM from a 5x7 fonts table. On each new line interrupt, we check if we are in display time window for adding pixels or not.

To add a pixel to the video signal, we change output pin from high Z state to output, the output then imposes +Vcc or 0V to display either a white or a black pixel. The result is a superimposed text on transparent background .
---------------------------------------------------

NTSC version using the Mega8 and a couple of parts

http://www.viennawireless.org/balloon/hardware/overlay/index.php

Note: NMEA is just a serial standard used on boats for communication between GPS, Radar, Chartplotter etc.

-----------------------------------

Non overlay PAL PIC library:
http://www.micro-examples.com/public/microex-navig/doc/089-pic-pal-tv


Guy who used this library and added a serial input with non overlay (aka tele mate)
http://elec.tkjweb.dk/blog/pic-projects/serial-tv/
------------------------------------

So I have given you
1) PAL design
2) NTSC design on a Mega8
3) PAL library with serial input option.

Note these use the same connector for video in and out. So the existing board could be used with the cable split in two for two leads. (Of couse the extra components would need to be fitted, but this could be done with stripboard or breadband to start)

So I challenge someone to use this to make an arduino version of a text overlay unit.
If you do let me know.

I'll be expecting the next version of telemate to have a jumper J7 for text overlay on/off!

Dan
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Has anyone had a problem with the output from the Tellymate doing a continual vertical roll?  

I've got this with one particular miniature LCD display with an AV input.
It's one of the "2 AV Input 3.5" Reversing Color LCD Car Backup DVR VCR" that are all over eBay for around $30-35.

However, when used with the Tellymate, the display "rolls" vertically.

I tested the LCD with the composite-video output from my Popcorn Hour network media player - and it works fine with no rolling.

I tested the Tellymate with the 32" LCD TV in my living room.  It works fine as expected.

I tried both a Duemilanove w/mega328, and a Seeduino w/mega168.  Same result on both (using the "Hello World" and random-characters examples).

Am I out of luck, or is there any way to adjust/tweak the NTSC video timing that's being output?
Logged

Spokane, Washington
Offline Offline
God Member
*****
Karma: 1
Posts: 686
My name is Bob, and I'm an addict.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks alot for the work on this! I wouldn't have had any idea where to start... even after reading about the shield on your website.. still wasn't really sure where to start! smiley-grin

I got it working on a bread board.. took 15 minutes of setup.. and a day of debugging.. (turns out, I uploaded the wrong .hex.. and I had the diode 1 pin space off on the breadboard) But now it works great! I've got an old CRT TV, was going to use it for a "debug station" if you will, but good lord! Even sitting about 8 feet away, the TV is still giving me a headache.

How did we ever stand sitting near this... old contraption we used to call a "television"?  ;D


But yeah, I just used one of my old Atmega8 chips, with crystal, diodes and the resistors (I was extremely lucky.. I've never purchased those diodes in particular, but they came with a Electronics Startup Kit, woot!:))

Gee-whiz, now I'll be able to plug my Arduino into random TV's and pretend like I'm taking over the world! Muahaha.

Okay, I might have over exaggerated, but this is awesome regardless! It's almost like the Matrix with the Random Characters. Would be a nice "screen-saver" if I could leave my TV on for more than 5 minutes.

Again, thanks for all the hard work, very thankful! I have a few too many Atmega8's that need a home.. I feel like a board-less shelter over here!
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
I have a few too many Atmega8's that need a home

You should really consider running 168 or better chip. There are now alternate character sets that can be uploaded to give more capabilities.

Lefty
Logged

Pages: 1 2 [3] 4   Go Up
Jump to: