Using the Propeller Backpack for colour TV-OUT applications.

Grogster

Senior Member
Hello all.

My Propeller Backpack modules arrived yesterday, and I got a chance to tinker with one of them today.
This thread is just my thoughts on the module, as others probably have already experimented with it.

http://www.parallax.com/Store/Sensors/ColorLight/tabid/175/CategoryID/50/List/0/SortField/0/Level/a/ProductID/602/Default.aspx

They certainly are very impressive and easy to use.

At $40 each, they are considerably more expensive then the likes of the TellyMate TV-Out device, but the Telly Mate is only black-and-white, whereas the Propeller Backpack is colour. Probably worth the extra cash for a colour display for your PICAXE project.

The module outputs NTSC composite video by default, but I think there are PAL versions of the code available for download if you really need PAL format. Not that this really matters anymore, because every flat-screen TV in the world these days is multi-zone, and I would be very surprised if you can't find one with NTSC ability on it. The NTSC thing is really only going to be a problem if your standard is PAL, if you try to use the Propeller Backpack with an older CRT(glass screen) TV set, as these generally, will not work unless the video format is correct for the TV set in question.

Even the cheap $50 reversing camera LCD's I have, have auto-switching between NTSC or PAL, and work just fine with this module.

The board interfaces at 9600 baud, standard 8N1 protocol. This appears to be fixed and cannot be changed.

The default screen size is 40 columns by 13 rows, which means that even the default text size is quite large, and makes it ideal for nice easy-to-read text displays and basic graphics. The screen can be resized to make the text larger, but this will result in pixelation of the appearance of the text characters.
 

Attachments

Grogster

Senior Member
The device supports up to 16 different pre-programmed colour schemes, and you can also redefine any colour or any colour scheme, which makes the unit very flexible.

Displaying text is as simple as sending the text to the device at 9600 baud.

serout 0,T9600_8,("Hello World!",CR)

Some sample code:

Code:
#picaxe08M2
#no_data

setfreq m8
high 0 'TTL output pin in correct state
wait 8 '4 second delay to allow LCD and Prop BP module to start

start:
  for b0=0 to 7
    gosub text 'Write the text to the LCD
  next
  wait 10 '5 second delay
  serout 0,T9600,($00) 'Clear the LCD
  for b0=8 to 16
    gosub text 'Write the text to the LCD
  next
  wait 10
  goto start

end

text:
  serout 0,T9600_8,($07, b0, "Hello PICAXE people!!!  :-)",CR)
  return
This code just prints a greeting on the screen in various colours to show off the colour capabilities of the device.

My next post will be on drawing simple line graphics with the unit.
 

Attachments

Grogster

Senior Member
Here is a photo of something a little more interesting then just plain text on the screen.

Multi-coloured menu with buttons and a screen border.

Code:
#picaxe08m2
#no_data

setfreq m8
high 0

wait 10 'Allow LCD to fire up


start:
  serout 0,T9600_8,($00,$07,$02) 'Clear the screen, set line colour to blue
  serout 0,T9600_8,($02,$00,$00,$9F,$02,$27,$00,$9E) 'Top corners
  for b0=1 to 38
    serout 0,T9600_8,($02,b0,$00,$90) 'Draw top line
  next
  for b0=1 to 11
    serout 0,T9600_8,($02,$00,b0,$91,$02,$27,b0,$91) 'Draw borders
  next
  serout 0,T9600_8,($02,$00,$0C,$9D,$02,$27,$0C,$9C) 'Bottom corners
  for b0=1 to 38
    serout 0,T9600_8,($02,b0,$0C,$90) 'Draw bottom line
  next
  
  serout 0,T9600_8,($02,$02,$04,$07,$00,$1F,$0F," - READ PICAXE CODE")
  serout 0,T9600_8,($02,$02,$05,$07,$01,$1F,$0F," - PRINT PICAXE CODE")
  serout 0,T9600_8,($02,$02,$06,$07,$04,$1F,$0F," - The Quick Brown Fox")
  serout 0,T9600_8,($02,$02,$07,$07,$05,$1F,$0F," - Jumps Over The")
  serout 0,T9600_8,($02,$02,$08,$07,$07,$1F,$0F," - Lazy Dog.")
 

Attachments

Grogster

Senior Member
I have more examples(code and photos) to upload over the weekend, with any luck, I just ran out of time to finish my tinkering.
I will post examples of larger text and other stuff if I get the time over the weekend. :)

EDIT: I will try to do the examples and upload some sample code THIS weekend - I did not get a chance last weekend...
 
Last edited:

Grogster

Senior Member
Here is a shot of the display using colour and 20x6 resolution.

This would be ideal for nice big easy to read text output.

Code:
#picaxe08m2
#no_data


setfreq m8
high 0

wait 10 'Allow LCD to fire up


start:
  serout 0,T9600_8,($00,$07,$02) 'Clear the screen, set line colour to blue
  serout 0,T9600_8,($02,$00,$00,$9F,$02,$27,$00,$9E) 'Top corners
  for b0=1 to 38
    serout 0,T9600_8,($02,b0,$00,$90) 'Draw top line
  next
  for b0=1 to 11
    serout 0,T9600_8,($02,$00,b0,$91,$02,$27,b0,$91) 'Draw borders
  next
  serout 0,T9600_8,($02,$00,$0C,$9D,$02,$27,$0C,$9C) 'Bottom corners
  for b0=1 to 38
    serout 0,T9600_8,($02,b0,$0C,$90) 'Draw bottom line
  next
  
  serout 0,T9600_8,($02,$02,$04,$07,$00,$1F,$0F," - READ PICAXE CODE")
  serout 0,T9600_8,($02,$02,$05,$07,$01,$1F,$0F," - PRINT PICAXE CODE")
  serout 0,T9600_8,($02,$02,$06,$07,$04,$1F,$0F," - The Quick Brown Fox")
  serout 0,T9600_8,($02,$02,$07,$07,$05,$1F,$0F," - Jumps Over The")
  serout 0,T9600_8,($02,$02,$08,$07,$07,$1F,$0F," - Lazy Dog.")
  
  wait 10
  
  serout 0,T9600_8,($00) 'Clear screen
  serout 0,T9600_8,($1D,$14,$06) 'Set 20x6 screen size
  
  serout 0,T9600_8,($07,$00,"P",$07,$01,"I",$07,$02,"C",$07,$03,"A",$07,$04,"X",$07,$05,"E",$0D)
  serout 0,T9600_8,($07,$06," P",$07,$07,"I",$07,$00,"C",$07,$02,"A",$07,$03,"X",$07,$04,"E",$0D)
  serout 0,T9600_8,($07,$05,"  P",$07,$06,"I",$07,$07,"C",$07,$00,"A",$07,$01,"X",$07,$02,"E",$0D)
  serout 0,T9600_8,($07,$03,"   P",$07,$04,"I",$07,$05,"C",$07,$06,"A",$07,$07,"X",$07,$00,"E",$0D)
  serout 0,T9600_8,($07,$01,"    P",$07,$02,"I",$07,$03,"C",$07,$04,"A",$07,$05,"X",$07,$06,"E",$0D)
  serout 0,T9600_8,($07,$07,"     P",$07,$00,"I",$07,$01,"C",$07,$02,"A",$07,$03,"X",$07,$04,"E")
  
  wait 10

  serout 0,T9600_8,($1D,$10,$03) 'Set 16x3 screen size
  serout 0,T9600_8,($07,$04,"*** ALERT!!! ***",$0D,$0D)
  serout 0,T9600_8,($07,$00,"DOOR #0001 OPEN.")

  end
Also attached, is a photo of even bigger text at 16x3 for attention-getting alert text readable from a long way away from the screen.
 

Attachments

Last edited:
Top