<?xml version="1.0" encoding="ISO-8859-1"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<?xml-stylesheet type="text/css" href="http://www.janw.dommel.be/nanoblogger/"?>


<title type="html">Weblog - Jan Wagemakers -</title>
<subtitle type="html">Debian, GNU/Linux, pic, picprog, pic3com, ...</subtitle>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger"/>
<link rel="self" type="application/atom+xml" href="http://www.janw.dommel.be/nanoblogger/atom.xml"/>
<updated>2010-06-06T08:48:00+02:00</updated>
<author>
<name>Jan Wagemakers</name>
<uri>http://www.janw.dommel.be/nanoblogger</uri>
</author>
<id>http://www.janw.dommel.be/nanoblogger/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4.2">
NanoBlogger
</generator>

<entry>
<title type="html">Linux and TerraTec Cinergy T USB XXS Remote Control</title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/06/index.html#e2010-06-06T08_40_19.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/06/index.html#e2010-06-06T08_40_19.txt</id>
<published>2010-06-06T08:40:19+02:00</published>
<updated>2010-06-06T08:40:19+02:00</updated>
<category term="GNU/Linux" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
I have recently bought a <b>TerraTec Cinergy T USB XXS</b> to receive TV by <a href="http://en.wikipedia.org/wiki/DVB-T">DVB-T</a>. 
<br>
<br>
<center><img src="http://www.janw.dommel.be/nanoblogger/images/XXS.png" border="1" vspace="5" hspace="5" alt="TerraTec Cinergy T USB XXS"></center>
<br>
This works without a problem on my <a href="http://www.debian.org">Debian GNU/Linux</a> <a href="http://www.janw.dommel.be/nanoblogger/archives/2009/07/index.html#e2009-07-26T20_42_39.txt">PC</a>.
<br>
<br>
More info about setting up this DVB-T USB device and linux is available at <a href="http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_USB_XXS">linuxtv.org</a>
<br>
<br>
Like you can see, a remote control was also included in the TerraTec Cinergy T USB XXS package. I have followed the instructions at 
<a href="http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_USB_XXS#Remote_control_support">linuxtv.org (Remote control support)</a>, 
but no luck  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/sad.gif" alt=":(" />
<br>
<br>
<center><img src="http://www.janw.dommel.be/nanoblogger/images/XXSRC.png" border="1" vspace="5" hspace="5" alt="Remote Control"></center>
<br>
When pressing some keys at the remote control, the only thing I noticed was 
<pre>
Jun  5 10:58:02 amd64 kernel: dib0700: Unknown remote controller key: 0014 10 ef
Jun  5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd
Jun  5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 05 fa
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 43 bc
Jun  5 10:58:06 amd64 kernel: dib0700: Unknown remote controller key: 0014 43 bc
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:07 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
Jun  5 10:58:08 amd64 kernel: dib0700: Unknown remote controller key: 0014 44 bb
</pre>
in <i>/var/log/syslog</i>.
<br>
<br>
Taking a look at the linux source in <i>/usr/src/linux-2.6.34/drivers/media/dvb/dvb-usb/dib0700_devices.c</i>, I found the following at line 515
<pre>
        err("Unknown remote controller key: %2X %2X %2X %2X", (int) key[3-2],
				 (int) key[3-3], (int) key[3-1], (int) key[3]);
</pre>
and this at line 592
<pre>
        /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */
        { 0xeb01, KEY_POWER },
        { 0xeb02, KEY_1 },
        { 0xeb03, KEY_2 },
        { 0xeb04, KEY_3 },
        { 0xeb05, KEY_4 },
        { 0xeb06, KEY_5 },
        { 0xeb07, KEY_6 },
        { 0xeb08, KEY_7 },
        { 0xeb09, KEY_8 },
        { 0xeb0a, KEY_9 },
        { 0xeb0b, KEY_VIDEO },
        { 0xeb0c, KEY_0 },
        { 0xeb0d, KEY_REFRESH },
        { 0xeb0f, KEY_EPG },
        { 0xeb10, KEY_UP },
        { 0xeb11, KEY_LEFT },
        { 0xeb12, KEY_OK },
        { 0xeb13, KEY_RIGHT },
        { 0xeb14, KEY_DOWN },
        { 0xeb16, KEY_INFO },
        { 0xeb17, KEY_RED },
        { 0xeb18, KEY_GREEN },
        { 0xeb19, KEY_YELLOW },
        { 0xeb1a, KEY_BLUE },
        { 0xeb1b, KEY_CHANNELUP },
        { 0xeb1c, KEY_VOLUMEUP },
        { 0xeb1d, KEY_MUTE },
        { 0xeb1e, KEY_VOLUMEDOWN },
        { 0xeb1f, KEY_CHANNELDOWN },
        { 0xeb40, KEY_PAUSE },
        { 0xeb41, KEY_HOME },
        { 0xeb42, KEY_MENU }, /* DVD Menu */
        { 0xeb43, KEY_SUBTITLE },
        { 0xeb44, KEY_TEXT }, /* Teletext */
        { 0xeb45, KEY_DELETE },
        { 0xeb46, KEY_TV },
        { 0xeb47, KEY_DVD },
        { 0xeb48, KEY_STOP },
        { 0xeb49, KEY_VIDEO },
        { 0xeb4a, KEY_AUDIO }, /* Music */
        { 0xeb4b, KEY_SCREEN }, /* Pic */
        { 0xeb4c, KEY_PLAY },
        { 0xeb4d, KEY_BACK },
        { 0xeb4e, KEY_REWIND },
        { 0xeb4f, KEY_FASTFORWARD },
        { 0xeb54, KEY_PREVIOUS },
        { 0xeb58, KEY_RECORD },
        { 0xeb5c, KEY_NEXT },
</pre>
According to this information, it seems that the <b>eb</b> in the keycodes are not correct (anymore?). So, I have changed them to <b>14</b> because of the err line found in syslog.
<pre>
        /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */
        { 0x1401, KEY_POWER },
        { 0x1402, KEY_1 },
        { 0x1403, KEY_2 },
        { 0x1404, KEY_3 },
        { 0x1405, KEY_4 },
        { 0x1406, KEY_5 },
        { 0x1407, KEY_6 },
        { 0x1408, KEY_7 },
        { 0x1409, KEY_8 },
        { 0x140a, KEY_9 },
        { 0x140b, KEY_VIDEO },
        { 0x140c, KEY_0 },
        { 0x140d, KEY_REFRESH },
        { 0x140f, KEY_EPG },
        { 0x1410, KEY_UP },
        { 0x1411, KEY_LEFT },
        { 0x1412, KEY_OK },
        { 0x1413, KEY_RIGHT },
        { 0x1414, KEY_DOWN },
        { 0x1416, KEY_INFO },
        { 0x1417, KEY_RED },
        { 0x1418, KEY_GREEN },
        { 0x1419, KEY_YELLOW },
        { 0x141a, KEY_BLUE },
        { 0x141b, KEY_CHANNELUP },
        { 0x141c, KEY_VOLUMEUP },
        { 0x141d, KEY_MUTE },
        { 0x141e, KEY_VOLUMEDOWN },
        { 0x141f, KEY_CHANNELDOWN },
        { 0x1440, KEY_PAUSE },
        { 0x1441, KEY_HOME },
        { 0x1442, KEY_MENU }, /* DVD Menu */
        { 0x1443, KEY_SUBTITLE },
        { 0x1444, KEY_TEXT }, /* Teletext */
        { 0x1445, KEY_DELETE },
        { 0x1446, KEY_TV },
        { 0x1447, KEY_DVD },
        { 0x1448, KEY_STOP },
        { 0x1449, KEY_VIDEO },
        { 0x144a, KEY_AUDIO }, /* Music */
        { 0x144b, KEY_SCREEN }, /* Pic */
        { 0x144c, KEY_PLAY },
        { 0x144d, KEY_BACK },
        { 0x144e, KEY_REWIND },
        { 0x144f, KEY_FASTFORWARD },
        { 0x1454, KEY_PREVIOUS },
        { 0x1458, KEY_RECORD },
        { 0x145c, KEY_NEXT },
</pre>
After recompiling and rebooting the kernel, the remote control works without a problem  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/smiley.gif" alt=":)" />
<pre>
 pts/7  jan ~$ irw
0000000000010002 00 1 Cinergy_Hybrid_t_USB_XS
000000000001000a 00 9 Cinergy_Hybrid_t_USB_XS
0000000000010160 00 ok Cinergy_Hybrid_t_USB_XS
00000000000100cf 00 play Cinergy_Hybrid_t_USB_XS
0000000000010193 00 ch- Cinergy_Hybrid_t_USB_XS
0000000000010192 00 ch+ Cinergy_Hybrid_t_USB_XS
0000000000010072 00 vol- Cinergy_Hybrid_t_USB_XS
0000000000010073 00 vol+ Cinergy_Hybrid_t_USB_XS
0000000000010066 00 home Cinergy_Hybrid_t_USB_XS
0000000000010074 00 onoff Cinergy_Hybrid_t_USB_XS
^C
 pts/7  jan ~$ 
</pre>
</div>
</content>

</entry>
<entry>
<title type="html">picprog 1.9.1 </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/05/index.html#e2010-05-09T11_39_44.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/05/index.html#e2010-05-09T11_39_44.txt</id>
<published>2010-05-09T11:39:44+02:00</published>
<updated>2010-05-09T11:39:44+02:00</updated>
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Jaakko has released a new version 1.9.1 of <a href="http://hyvatti.iki.fi/~jaakko/pic/picprog.html">picprog</a>. Thanks Jaakko!
<BR>
<BR>
I have created a Debian (amd64) Package for it, which is available at <a href="http://www.janw.dommel.be/picprog/amd64/">http://www.janw.dommel.be/picprog/amd64/</a>.
<BR>
<BR>
Hopefully this picprog Debian package will be uploaded to Debian/Unstable soon.
<br>
<br>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100% summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* Links */
google_ad_slot = "7846875205";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>
<entry>
<title type="html">Nixie clock at double speed </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/03/index.html#e2010-03-13T22_18_33.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/03/index.html#e2010-03-13T22_18_33.txt</id>
<published>2010-03-13T22:18:33+02:00</published>
<updated>2010-03-13T22:18:33+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
I have updated the software of <a href="http://www.janw.dommel.be/picn-e.html">my nixie clock</a>. 
The previous version displays the time at a rate of 2 seconds per digit (inclusive pause).
This version displays the time at a rate of 1 second per digit.
<br>
<br>
You can see the source <a href="http://www.janw.dommel.be/nanoblogger/images/nixie_clockbcd_v0.0.4.html">here</a>.
<br>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixie_clock_v0.0.4.ogv">
<img src="http://www.janw.dommel.be/pics/Npbknop.jpeg">
</a>
<BR>
Click on the photo above to see the Nixie clock in action <a href="http://www.fsf.org/resources/formats/playogg"><img src="http://www.janw.dommel.be/nanoblogger/images/Play_ogg.png" alt="Play Ogg" /></a><BR>
or<BR>
<a href="http://www.youtube.com/watch?v=9O7BgS0IgX4">click here to see it on
youtube</a><BR>
(warning: low quality movie)
</center>
<br>
<br>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100% summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* Links */
google_ad_slot = "7846875205";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>
<entry>
<title type="html">Nixie clock webpage </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-27T14_52_28.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-27T14_52_28.txt</id>
<published>2010-02-27T14:52:28+02:00</published>
<updated>2010-02-27T14:52:28+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
I have written a webpage about my Nixie Clock in the 
<a href="http://www.janw.dommel.be/picn-e.html">English</a>
and 
<a href="http://www.janw.dommel.be/picn.html">Dutch</a>
language.
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/pics/N.jpeg" border="1" vspace="5" hspace="5" alt="Nixie (c)(k)lok">
</center>
<br>
<br>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100%
summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* 468x60, gemaakt 15-3-08 */
google_ad_slot = "0773768166";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>
<entry>
<title type="html">Update schematic and software of Nixie clock</title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-18T11_19_47.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-18T11_19_47.txt</id>
<published>2010-02-18T11:19:47+02:00</published>
<updated>2010-02-18T11:19:47+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
I have updated the
<a href="http://www.janw.dommel.be/nanoblogger/images/nixie_clock.pdf">schematic</a> (made with <a href="http://www.gpleda.org/tools/gschem/index.html">gEDA gschem</a>)
and
<a href="http://www.janw.dommel.be/nanoblogger/images/nixie_clockbcd_v0.02.html">software</a>
of
<a href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-13T17_23_47.txt">my Nixie clock</a>
.
<BR> 
<BR>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100%
summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* 468x60, gemaakt 15-3-08 */
google_ad_slot = "0773768166";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>
<entry>
<title type="html">Set time of Nixie clock </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-13T17_23_47.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-13T17_23_47.txt</id>
<published>2010-02-13T17:23:47+02:00</published>
<updated>2010-02-13T17:23:47+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
To set the time of <a href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-06T20_28_50.txt">my Nixie clock</a>,
I have added a button to my schematic and updated the software.
<br>
<br>
Yes, the schematic is ugly, ....
<br>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixiesw.png">
<img src="http://www.janw.dommel.be/nanoblogger/images/nixieswscale.png">
</a>
<BR>
Click for larger picture
</center>
<br>
<br>
... the source code is ugly, ....
<br>
<br>
<small><pre>
    	LIST     p=PIC16F648A
    	INCLUDE "p16f648a.inc"
	errorlevel -302

        __CONFIG _CP_OFF&_DATA_CP_OFF&_LVP_OFF&_BODEN_OFF&_MCLRE_OFF&_PWRTE_ON&_WDT_OFF&_INTOSC_OSC_NOCLKOUT 


        cblock h'20'                            		
        	menu			; 0   = display clock
					; 1   = menu HH
					; 2   = menu HL
					; 3   = menu MH
					; 4   = menu ML
		submenu
		HZ50counter
		button			; count how long button is pressed
		tmp
		DL	
		DH
		S
		H
		M
		ML
		MH
		HL
		HH
		tens_and_ones
        	bin
        	hundreds
		TENS
		ONES
		DisplayCounter
	endc

        org h'0000'                                     	

init:
	bsf STATUS, RP0			; select bank 1
	; bcf PCON, OSCF		; CLK=48Khz
	movlw b'11111000'		; 1 = input 0 = output
        movwf TRISA			; set input/output PORTA      
	clrf TRISB			; PORTB = output
	bcf STATUS, RP0			; select bank 0
	movlw h'07'                     ; turn comparators off
        movwf CMCON
main:
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
	clrf H
	clrf M
	clrf S
	clrf menu
	clrf submenu
	clrf button
	clrf DisplayCounter
	incf DisplayCounter, F
Loop:
	btfsc PORTA, D'3'
	goto released
	incf button, F

	movlw D'2'
	subwf button, w
	btfss STATUS, Z
	goto cont1	
pressed:				; pressed for longer then 1Sec

	clrf button			; reset counter

	movf submenu, w
	btfsc STATUS, Z
	goto INCmenu			; if pressed and no submenu then INC menu

	movlw D'1'
	subwf menu, w
	btfss STATUS, Z
	goto XH
	movlw D'10'
	addwf H, F
XH:
        movlw D'2'
        subwf menu, w
        btfsc STATUS, Z
        incf H, F

        movlw D'3'
        subwf menu, w
        btfss STATUS, Z
	goto XM
	movlw D'10'
        addwf M, F
XM:
        movlw D'4'
        subwf menu, w
        btfsc STATUS, Z
        incf M, F
	

        ; Convert Hour:Minutes to HH,HL:MH,ML
        ; ----------------------------------------------------
        movf M, w
        call Convert
        movf TENS, w
        movwf MH                        ; Minutes High Digit
        movf ONES, w
        movwf ML                        ; Minutes Low Digit
        movf H, w
        call Convert
        movf TENS, w
        movwf HH                        ; Hour High Digit
        movf ONES, w
        movwf HL                        ; Hour Low Digit
        ; ---------------------------------------------------
	goto cont1
INCmenu:
	incf menu, F
	goto cont1

released:
	clrf button
	movf submenu, w
        btfsc STATUS, Z
	goto Enter_Submenu
	clrf menu
	clrf submenu
	goto cont1
Enter_Submenu:
	clrf submenu
	incf submenu, F
cont1:
	
	movlw D'5'
	subwf menu, w
	btfsc STATUS, Z
	clrf menu			; if menu = 5 then menu = 0
	
	movf menu, W
	btfsc STATUS, Z
	goto clock1			; if menu = 0 then display normal clock

        movf submenu, w
        btfsc STATUS, Z
        goto DISPmenu                   ; Display :menu

 	movlw D'1'
        subwf menu, w
        btfss STATUS, Z
	goto x1
        movf HH, w
	call number_to_digit
x1:
        movlw D'2'
        subwf menu, w
        btfss STATUS, Z
	goto x2
        movf HL, w
	call number_to_digit
x2:
        movlw D'3'
        subwf menu, w
        btfss STATUS, Z
	goto x3
        movf MH, w
	call number_to_digit
x3:
        movlw D'4'
        subwf menu, w
        btfss STATUS, Z
	goto x4
        movf ML, w
	call number_to_digit
x4:
	goto DC1
DISPmenu:
	movf menu, W
        call number_to_digit
	bsf PORTA, D'2'
	goto DC1

clock1:	
	clrf submenu
	; Display Nothing and update HH,HL:MH,ML
	movlw d'1'
	subwf DisplayCounter, w
	btfss STATUS, Z
	goto clock2
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
	; Convert Hour:Minutes to HH,HL:MH,ML
	; ----------------------------------------------------
	movf M, w
	call Convert
	movf TENS, w
	movwf MH			; Minutes High Digit
	movf ONES, w
	movwf ML			; Minutes Low Digit
	movf H, w
        call Convert
        movf TENS, w
        movwf HH			; Hour High Digit
        movf ONES, w
        movwf HL			; Hour Low Digit
	; ---------------------------------------------------
clock2:  ; Display HH
	movlw d'2'
 	subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock3
	movf HH, w
	call number_to_digit
clock3:  ; Display Nothing
        movlw d'3'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock4
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
clock4:  ; Display HL
        movlw d'4'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock5
        movf HL, w
        call number_to_digit
clock5:  ; Display Nothing
        movlw d'5'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock6
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
clock6:  ; Display :
        movlw d'6'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock7
        movlw b'00000000'
        movwf PORTB
        movlw b'00000100'
        movwf PORTA
clock7:  ; Display Nothing
        movlw d'7'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock8
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
clock8:  ; Display MH
        movlw d'8'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock9
        movf MH, w
        call number_to_digit
clock9:  ; Display Nothing
        movlw d'9'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock10
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
clock10: ; Display ML
        movlw d'10'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto clock11
        movf ML, w
        call number_to_digit
clock11: ; Display Nothing, and reset DisplayCounter
        movlw d'11'
        subwf DisplayCounter, w
        btfss STATUS, Z
	goto DCup
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
DC1:
	clrf DisplayCounter
DCup:	
	incf DisplayCounter, F

	clrf HZ50counter
HZ50islow:
	btfss PORTA, d'4'	
	goto HZ50islow
HZ50ishigh:
	btfsc PORTA, d'4'
        goto HZ50ishigh

	incf HZ50counter, F		; Do every 1/50 sec. : 50HZcounter++
	movlw d'50'
	subwf HZ50counter, w		; 50 * 1/50 seconds -> 1 second
	btfss STATUS, Z
	goto HZ50islow
second:
	incf S, F			; Do every second : S = S + 1
	movlw d'60'
	subwf S, w
	btfsc STATUS, Z			; If S = 60 then goto minute
	goto minute
	goto M1
minute:
	clrf S				; S was 60, so we do M = M + 1 and S = 0
	
	; OK, it's time to update the clock by 1 minute
	; ---------------------------------------------
	incf M, F
	movlw d'60'
	subwf M, w
	btfss STATUS, Z
	goto M1
	movwf M

	incf H, F
	movlw d'24'
	subwf H, w
        btfss STATUS, Z
        goto M1
	movwf H
M1:
	goto Loop

; ----------------------------------------------------------------------------
; Subroutines
; ----------------------------------------------------------------------------

number_to_digit:
	movwf tmp
	BTFSC STATUS, Z			; if tmp = 0 then tmp = 10
	movlw D'10'
	movwf tmp
	movlw b'00000001'
	movwf DL
	clrf  DH			; DH:DL = 0000000000000001
dountilzero:
	decfsz tmp, F
	goto isnotzero
	movf DL, w
	movwf PORTB
	movf DH, w
	movwf PORTA
	return
isnotzero:
	BCF STATUS, C
	rlf DL, F
	rlf DH, F
	goto dountilzero

;----------------------------------------------------------------------;
;                  Change binary nbr in bin to BCD                     ;
;----------------------------------------------------------------------;
binary_to_bcd:                  ; by Scott Dattalo
        clrf hundreds
        swapf bin, W
        addwf bin, W
        andlw B'00001111'
        skpndc
        addlw 0x16
        skpndc
        addlw 0x06
        addlw 0x06
        skpdc
        addlw -0x06
        btfsc bin,4
        addlw 0x16 - 1 + 0x6
        skpdc
        addlw -0x06
        btfsc bin,5
        addlw 0x30
        btfsc bin, 6
        addlw 0x60
        btfsc bin,7
        addlw 0x20
        addlw 0x60
        rlf hundreds, f
        btfss hundreds, 0
        addlw -0x60
        movwf tens_and_ones
        btfsc bin,7
        incf hundreds, f
        return

;----------------------------------------------------------------------;
;                Display binary value in W in decimal                  ;
;----------------------------------------------------------------------;
Convert:
        movwf bin
        call binary_to_bcd
;       movf hundreds, W      ; I don't use numbers > 99
;       movwf ...
        swapf tens_and_ones, W
        andlw H'F'
	movwf TENS
        movf tens_and_ones, W
        andlw H'F'
        movwf ONES
        return


; ----------------------------------------------------------------------------
	end
; ----------------------------------------------------------------------------
</pre></small>
.... there are bugs, for example it's possible to set the clock's time to 67:89, but it does work  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";)" />
</div>
</content>

</entry>
<entry>
<title type="html">Nixie clock with PIC16f648a </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-06T20_28_50.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-06T20_28_50.txt</id>
<published>2010-02-06T20:28:50+02:00</published>
<updated>2010-02-06T20:28:50+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
After <a href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-01T22_54_13.txt">driving a nixie tube with a PIC16f648a</a>
it's time to do something more usefull with it, for example a clock.
<br>
<br>
Because the PIC16f648a is running with it's internal oscillator, and the circuit is powered by <a href="http://en.wikipedia.org/wiki/Utility_frequency">230V 50Hz</a>, 
I decided to synchronize the clock with the 50Hz mains frequency (look at RA4 in the schematic drawing) which will be more accurate.
<br>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixie50hz.png">
<img src="http://www.janw.dommel.be/nanoblogger/images/nixie50hzscale.png">
</a>
<BR>
Click for larger picture
</center>
<br>
<br>
And I have updated the PIC program so it displays a clock and uses the RA4 input to synchronize the clock with with the 50Hz mains frequency.
<small><pre>
    	LIST     p=PIC16F648A
    	INCLUDE "p16f648a.inc"
	errorlevel -302

        __CONFIG _CP_OFF&_DATA_CP_OFF&_LVP_OFF&_BODEN_OFF&_MCLRE_OFF&_PWRTE_ON&_WDT_OFF&_INTOSC_OSC_NOCLKOUT 


        cblock h'20'                            		
        	HZ50counter
		tmp
		DL	
		DH
		S
		H
		M
		ML
		MH
		HL
		HH
		tens_and_ones
        	bin
        	hundreds
		TENS
		ONES
		DisplayCounter
	endc

        org h'0000'                                     	

init:
	bsf STATUS, RP0			; select bank 1
	; bcf PCON, OSCF		; CLK=48Khz
	movlw b'11111000'		; 1 = input 0 = output
        movwf TRISA			; set input/output PORTA      
	clrf TRISB			; PORTB = output
	bcf STATUS, RP0			; select bank 0
	movlw h'07'                     ; turn comparators off
        movwf CMCON
main:
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
	clrf H
	clrf M
	clrf S
	clrf DisplayCounter
	incf DisplayCounter, F
Loop:
	; Convert Hour:Minutes to HH,HL:MH,ML
	; -----------------------------------
	movf M, w
	call Convert
	movf TENS, w
	movwf MH			; Minutes High Digit
	movf ONES, w
	movwf ML			; Minutes Low Digit
	movf H, w
        call Convert
        movf TENS, w
        movwf HH			; Hour High Digit
        movf ONES, w
        movwf HL			; Hour Low Digit

test1:	; Display Nothing
	movlw d'1'
	subwf DisplayCounter, w
	btfss STATUS, Z
	goto test2
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
test2:  ; Display HH
	movlw d'2'
 	subwf DisplayCounter, w
        btfss STATUS, Z
        goto test3
	movf HH, w
	call number_to_digit
test3:  ; Display Nothing
        movlw d'3'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test4
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
test4:  ; Display HL
        movlw d'4'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test5
        movf HL, w
        call number_to_digit
test5:  ; Display Nothing
        movlw d'5'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test6
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
test6:  ; Display :
        movlw d'6'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test7
        movlw b'00000000'
        movwf PORTB
        movlw b'00000100'
        movwf PORTA
test7:  ; Display Nothing
        movlw d'7'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test8
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
test8:  ; Display MH
        movlw d'8'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test9
        movf MH, w
        call number_to_digit
test9:  ; Display Nothing
        movlw d'9'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test10
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
test10: ; Display ML
        movlw d'10'
        subwf DisplayCounter, w
        btfss STATUS, Z
        goto test11
        movf ML, w
        call number_to_digit
test11: ; Display Nothing and reset DisplayCounter
        movlw d'11'
        subwf DisplayCounter, w
        btfss STATUS, Z
	goto test12
        movlw b'00000000'
        movwf PORTB
        movlw b'00000000'
        movwf PORTA
	clrf DisplayCounter
test12:	
	incf DisplayCounter, F

	clrf HZ50counter
HZ50islow:
	btfss PORTA, d'4'	
	goto HZ50islow
HZ50ishigh:
	btfsc PORTA, d'4'
	goto HZ50ishigh

	incf HZ50counter, F		; Do every 1/50 sec. : 50HZcounter++
	movlw d'50'
	subwf HZ50counter, w		; 50 * 1/50 seconds -> 1 second
	btfss STATUS, Z
	goto HZ50islow
second:
	incf S, F			; Do every second : S = S + 1
	movlw d'60'
	subwf S, w
	btfsc STATUS, Z			; If S = 60 then goto minute
	goto minute
	goto M1
minute:
	clrf S				; S was 60, so we do M = M + 1 and S = 0
	
	; OK, it's time to update the clock by 1 minute
	; ---------------------------------------------
	incf M, F
	movlw d'60'
	subwf M, w
	btfss STATUS, Z
	goto M1
	movwf M

	incf H, F
	movlw d'24'
	subwf H, w
        btfss STATUS, Z
        goto M1
	movwf H
M1:
	goto Loop

; ----------------------------------------------------------------------------
; Subroutines
; ----------------------------------------------------------------------------

number_to_digit:
	movwf tmp
	BTFSC STATUS, Z			; if tmp = 0 then tmp = 10
	movlw D'10'
	movwf tmp
	movlw b'00000001'
	movwf DL
	clrf  DH			; DH:DL = 0000000000000001
dountilzero:
	decfsz tmp, F
	goto isnotzero
	movf DL, w
	movwf PORTB
	movf DH, w
	movwf PORTA
	return
isnotzero:
	BCF STATUS, C
	rlf DL, F
	rlf DH, F
	goto dountilzero

;----------------------------------------------------------------------;
;                  Change binary nbr in bin to BCD                     ;
;----------------------------------------------------------------------;
binary_to_bcd:                  ; by Scott Dattalo
        clrf hundreds
        swapf bin, W
        addwf bin, W
        andlw B'00001111'
        skpndc
        addlw 0x16
        skpndc
        addlw 0x06
        addlw 0x06
        skpdc
        addlw -0x06
        btfsc bin,4
        addlw 0x16 - 1 + 0x6
        skpdc
        addlw -0x06
        btfsc bin,5
        addlw 0x30
        btfsc bin, 6
        addlw 0x60
        btfsc bin,7
        addlw 0x20
        addlw 0x60
        rlf hundreds, f
        btfss hundreds, 0
        addlw -0x60
        movwf tens_and_ones
        btfsc bin,7
        incf hundreds, f
        return

;----------------------------------------------------------------------;
;                Display binary value in W in decimal                  ;
;----------------------------------------------------------------------;
Convert:
        movwf bin
        call binary_to_bcd
;       movf hundreds, W      ; I don't use numbers > 99
;       movwf ...
        swapf tens_and_ones, W
        andlw H'F'
	movwf TENS
        movf tens_and_ones, W
        andlw H'F'
        movwf ONES
        return


; ----------------------------------------------------------------------------
	end
; ----------------------------------------------------------------------------
</pre></small>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixie50hzfilm.ogv">
<img src="http://www.janw.dommel.be/nanoblogger/images/nixie50hzfoto.png">
</a>
<BR>
Click on the photo above to see the Nixie clock in action <a href="http://www.fsf.org/resources/formats/playogg"><img src="http://www.janw.dommel.be/nanoblogger/images/Play_ogg.png" alt="Play Ogg" /></a><BR>
or<BR>
<a href="http://www.youtube.com/watch?v=9vd9BgcAYmA">click here to see it on youtube</a><BR>
(warning: low quality movie)
</center>
<br>
<br>
ToDo:
<ul>
<li>Make a better looking schematic drawing</li>
<li>Add a switch or something to set the time of the clock, so I don't have to wait at 00:00 to power the circuit  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";-)" /> </li>
<li>Solder the floating electronic components on the circuit board</li>
</ul>
</div>
</content>

</entry>
<entry>
<title type="html">Drive Nixie tube digits with a PIC16f648a</title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-01T22_54_13.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/02/index.html#e2010-02-01T22_54_13.txt</id>
<published>2010-02-01T22:54:13+02:00</published>
<updated>2010-02-01T22:54:13+02:00</updated>
<category term="nixie" />
<category term="pic" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
After making a <a href="http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-28T22_53_34.txt">power supply</a> to drive a <a href="http://en.wikipedia.org/wiki/Nixie_tube">nixie tube</a>
and <a href="http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-30T11_55_37.txt">adding 11 BUZ80 SIPMOS Power Transistors</a> it was time
to add a <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010212">PIC</a> to the circuit.
<br>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixiepic1.png">
<img src="http://www.janw.dommel.be/nanoblogger/images/nixiepic1scale.png">
</a>
<BR>
Click for larger picture
</center>
<br>
<br>
To test if everything works as expected, I have written a little test program
(asm) to display all the digits ( 1 2 3 4 5 6 7 8 9 0 : ) in a loop.
<small><pre>
    	LIST     p=PIC16F648A
    	INCLUDE "p16f648a.inc"
	errorlevel -302

        __CONFIG _CP_OFF&_DATA_CP_OFF&_LVP_OFF&_BODEN_OFF&_MCLRE_OFF&_PWRTE_ON&_WDT_OFF&_INTOSC_OSC_NOCLKOUT 


        cblock h'20'                            		
        	delay1
		delay2
		delay3
	endc

        org h'0000'                                     	

init:
	bsf STATUS, RP0			; select bank 1
	; bcf PCON, OSCF		; CLK=48Khz
	movlw b'11111000'		; 1 = input 0 = output
        movwf TRISA			; set input/output PORTA      
	clrf TRISB			; PORTB = output
	bcf STATUS, RP0			; select bank 0
	movlw h'07'                     ; turn comparators off
        movwf CMCON
main:
	movlw b'00000001'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00000010'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00000100'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00001000'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00010000'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00100000'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'01000000'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'10000000'
	movwf PORTB
	movlw b'00000000'
	movwf PORTA
	call Delay

	movlw b'00000000'
	movwf PORTB
	movlw b'00000001'
	movwf PORTA
	call Delay

	movlw b'00000000'
	movwf PORTB
	movlw b'00000010'
	movwf PORTA
	call Delay

	movlw b'00000000'
	movwf PORTB
	movlw b'00000100'
	movwf PORTA
	call Delay

	goto main

; ----------------------------------------------------------------------------
; Subroutines
; ----------------------------------------------------------------------------

; Delay = 1 seconds
; Clock frequency = 4 MHz

; Actual delay = 1 seconds = 1000000 cycles
; Error = 0 %

Delay
			;999990 cycles
	movlw	0x07
	movwf	delay1
	movlw	0x2F
	movwf	delay2
	movlw	0x03
	movwf	delay3
Delay_0
	decfsz	delay1, f
	goto	$+2
	decfsz	delay2, f
	goto	$+2
	decfsz	delay3, f
	goto	Delay_0

			;6 cycles
	goto	$+1
	goto	$+1
	goto	$+1

			;4 cycles (including call)
	return

; Generated by http://www.piclist.com/cgi-bin/delay.exe (December 7, 2005 version)
; Sat Jan 30 23:37:02 2010 GMT

; See also various delay routines at http://www.piclist.com/techref/microchip/delays.htm 

; ----------------------------------------------------------------------------
	end
; ----------------------------------------------------------------------------
</pre></small>
<br>
<br>
<center>
<a href="http://www.janw.dommel.be/nanoblogger/images/nixiepic1.ogv">
<img src="http://www.janw.dommel.be/nanoblogger/images/nixiepic1foto.png">
</a>
<BR>
Click on the photo above to see the Nixie clock in action <a href="http://www.fsf.org/resources/formats/playogg"><img src="http://www.janw.dommel.be/nanoblogger/images/Play_ogg.png" alt="Play Ogg" /></a><BR>
or<BR>
<a href="http://www.youtube.com/watch?v=sCQCkR6ZpVk">click here to see it on youtube</a><BR>
(warning: low quality movie)
</center>
<br>
<br>
ToDo:
<ul>
<li>Make a better looking schematic drawing  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";-)" /> </li>
<li>Do something <i>useful</i> with it, instead of just counting numbers</li>
</ul>
</div>
</content>

</entry>
<entry>
<title type="html">Switch Nixie digits off/on with 0V/+5V </title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-30T11_55_37.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-30T11_55_37.txt</id>
<published>2010-01-30T11:55:37+02:00</published>
<updated>2010-01-30T11:55:37+02:00</updated>
<category term="nixie" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Switching off/on a digit of a <a href="http://en.wikipedia.org/wiki/Nixie_tube">nixie tube</a>
is normally done by using a <a href="http://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits">7441/74141 NIXIE Tube Driver</a>
or a transistor like the <a href="http://www.google.be/search?hl=nl&q=MPSA42">MPSA42</a>.
<br>
<br>
I don't have those parts lying around here, and it's snowing outside, so I'm
not in the mood to go shopping  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";)" />
<br>
<br>
But I do have some <a href="http://www.datasheetcatalog.org/datasheet/siemens/BUZ80.pdf">BUZ80 SIPMOS Power Transistor</a> lying around. 
They are a littlebit oversized, but wil do the job. Anyway, a <a href="http://www.google.be/search?hl=nl&q=MPSA42">MPSA42</a> with resistor
will probably be a cheaper and therefore a better solution.
<br>
<br>
This is the result with 11 BUZ80's
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixieBUZ80sch.png">
</center>
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixieBUZ80.png">
</center>
<br>
<br>
Next step is to add a <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2696&param=en537796">PIC</a>
to the circuit.
<br>
<br>
To be continiued  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";-)" />
<br>
<br>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100%
summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* 468x60, gemaakt 15-3-08 */
google_ad_slot = "0773768166";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>
<entry>
<title type="html">Power a Nixie tube</title>
<author>
<name>Jan Wagemakers</name>
</author>
<link rel="alternate" type="text/html" href="http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-28T22_53_34.txt"/>

<id>http://www.janw.dommel.be/nanoblogger/archives/2010/01/index.html#e2010-01-28T22_53_34.txt</id>
<published>2010-01-28T22:53:34+02:00</published>
<updated>2010-01-28T22:53:34+02:00</updated>
<category term="nixie" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Through the years, I have collected a lot of 'junk', like for example a <a href="http://en.wikipedia.org/wiki/Nixie_tube">nixie tube</a> and thought it would be interesting to do something with it.
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixie.png">
</center>
Because a <a href="http://en.wikipedia.org/wiki/Nixie_tube">nixie tube</a>
needs a high voltage to operate, the first thing to do is buidling a <i>power
supply</i>.
<br>
<br>
After reading this 
<a href="http://www.electricstuff.co.uk/nixclock.html"><i>Build a Nixie Tube Digital Clock</i>-Web Page</a>
and taking a look at <a href="http://www.electricstuff.co.uk/nixcct.pdf">the
circuit schematic</a> I have decided to take the same approach to power the <a href="http://en.wikipedia.org/wiki/Nixie_tube">nixie tube</a>.
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/Power.png">
</center>
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixieP1.png">
</center>
<br>
<br>
And <b>yes</b>, it works  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/smiley.gif" alt=":-)" />
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixieP2.png">
</center>
<br>
<br>
<center>
<img src="http://www.janw.dommel.be/nanoblogger/images/nixie8.png">
</center>
<br>
<br>
The next step will be to add a circuit that can switch the digits 0-9 on and
off by using 0V - 5V, so a <a
href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2696&param=en537796">PIC</a> can be used to drive the
digits. 
<br>
<br>
To be continiued  <img src="http://www.janw.dommel.be/nanoblogger/moods/smilies/wink.gif" alt=";-)" /> 
<br>
<br>
<!-- Start Google ads -->
<table border=1 bgcolor=#FFFFFF cellspacing=0 cellpadding=0 width=100%
summary="">
<tr align=>
<td align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-3303941569934027";
/* Links */
google_ad_slot = "7846875205";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr></table>
<!-- End Google ads -->
</div>
</content>

</entry>

</feed>
