OK, I will suggest this: Try to work out your own code ;-)
Maybe it sounds like a bad advice to you right now, but it is important
to write own code in order to fully understand microcontrollers.
Changing existing code will only do half the trick.
So here's my advice: Start with a simple one-Nixie tube counter, then
add a switch, and bam, you have your first one digit clock. Then develop
a two, four and six digit clock, and by then you will have grasped the
essential ideas.
I am sure there are lots of people who can help you, whether you chose
Atmel or Microchip.
Regards,
Jens
Google the question, and you will find several open source clock
designs. Some are more complicated than others. All of them have more
code than you probably want to understand, but it's good to read through
the source code to learn what's involved in making a clock work.
--
David Forbes, Tucson AZ
--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To post to this group, send an email to neoni...@googlegroups.com.
To unsubscribe from this group, send email to neonixie-l+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/neonixie-l?hl=en-GB.
--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To view this discussion on the web, visit https://groups.google.com/d/msg/neonixie-l/-/f8UaE9E1qjoJ.
You can get Lady Ada's AVR ISP workalike in kit form for $22:
http://www.adafruit.com/products/46
It works with AVR studio as well. I don't use AVR studio, as it's DOS-only, but it works fine with AVRdude too (of course).
- John KG4L
You can get Lady Ada's AVR ISP workalike in kit form for $22:
http://www.adafruit.com/products/46
It works with AVR studio as well. I don't use AVR studio, as it's DOS-only, but it works fine with AVRdude too (of course).
- John KG4L
--
I did such a design last summer, and even got a few boards made, but I
never got around to building it. Crazy!
I used a 44 pin PIC quad flat pack and four of the tiny TD62083 drivers
I use in my 2 digit nixie watch.
I cheated a bit and used a neon tube for the leftmost '1' digit, since
it's smaller.
The whole design is the size of the IN-17 tubes, and just as thick as
they are with their plastic spacers. But there's a CR2 lithium battery
behind it to provide power. I take off the tube spacers and use tiny
socket pins. The tube board has holes for the tube nipples to poke
through. The second board in the stack has all the chips.
http://www.cathodecorner.com/nw35/NWDAart.pdf
http://www.cathodecorner.com/nw35/NWDAschem.pdf
Source code is not written, but is a modification of my 2-digit Nixie watch.
So my clock has 4 bulbs (IN-12) and it turns on one at a time and displays that number, then it turn off and the next bulb turn on with the next number, when you do this fast enough that's called multiplexing and you can't tell that they are not all on at the same time..
So all you need with my desgine is $10 Anarduino $2-3, RTC 1307 $2 HV driver 74141, 74hc595 $.50, some transistors $3 and that it.
Arduino has free easy to get to software and when it gets down to it, it's just a clock and you don't need a <$20 microcontroler You can email if you chose my path and I can give you my code
> ....are there any good reference documents that cover
> "Charlieplexing"?
There is a Maxim document that explains the concept. Google is your
friend here. http://lmgtfy.com/?q=charlieplexing. If you cannot find
it then there is a link to the original article on my web page link
below.
In relation to nixie clocks, I have made two charlieplex clocks. A
two tube and a four tube clock.
The two tube charlieplex clock using HIVAC XN12s can be seen on my
website at http://www.clock-it.net/charlienixie/index.html
If you scroll down, you can see a short video of the clock running.
Personally I like this little clock a lot. People who see it like it
too, I think that is down to the blinky bicolo(u)r LEDs though.
If you want to build this clock, and a few people have already done
so, then I offer a coded PIC at modest cost.
The system relies on doubling up on pins so that each pair can drive
two cathodes, depending on which is high and which is low, the
formula for the number of outputs available being N*N-1 pins. Thus
six pins can drive 6x5 or 20 cathodes. Enough for my 16 cathodes and
a few spares for decimal points, if I had any.
The system works well, but as only one cathode is on at once, I found
that it drove four tubes dimly unless I upped the boiler pressure
considerably, which may not be a good thing for long nixie life. In
this case I drove 36 cathodes from 7 data lines. 7x6 gives a possible
42 outputs, so I had spares. A few spares actually give you some
scope for routing the board to your best advantage if space is at a
premium.
During construction the system can seem confusing, as it is
unforgiving of open circuits anywhere. A disconnected wire causes all
other cathodes in the same group to glow at reduced brightness. This
is also apparent in my Charlieplex LED clocks. It can make a single
fault look horrendous, but it will make you laugh once you realise
what is happening.
John S
> Thus six pins can drive 6x5 or 20 cathodes. Enough for my 16
> cathodes and a few spares for decimal points, if I had any.
Of course this is wrong. I have 5 data lines giving 5x4 or 20
cathodes. Numpty.
John S
This is exactly how I built my first clock:
http://voisen.org/portfolio/mercury-retrograde/ (I'll happily share
the source if you want it.)
Sure, Arduino is hyped, but there's a reason for that. The Arduino
"Wiring" libraries are really the key. They make AVR programming super
simple by abstracting away the complexity of AVR Libc. This eliminates
the need for AVRStudio (a beast of a program) or buying an AVRStudio
compatible programmer (expensive). Once you're comfortable with the
Arduino libraries, it's much easier to move to straight AVR Libc if
you want.
Really the Arduino isn't anything special. It's just an Atmega328
microcontroller + USB + power supply in a nice form factor with nice
libraries and an (albeit crappy) IDE. But it has a huge and friendly
user community, and tutorials/examples galore.
My two cents,
Sean
I think that the arduino would be a neat/easy way to get into doing this
without needing to understand everything.. but I think it would start to
cramp fairly quickly. When you're finding yourself wiring up huge
charlieplexing schemes because you can't use a chip with more I/O pins,
I think you'll see what I'm talking about. :)
Also, do arduinos support JTAG?
This idea of "start from a high level and work your way down" is not a
new one. Teach the kids basic first, the 'harder' languages later, etc.
I've always been a proponent of the opposite. Teach the kids assembler
first and higher level languages later. The basic building blocks really
are quite easy to understand and will serve you in good stead when
trying to learn the latest and greatest high level language.
Again, it really depends on the end goal. If the goal is to learn
microcontrollers, then I would suggest avoiding the arduino. If the goal
is to build a clock, then the arduino is not a bad plan at all. If the
arduino will get you working on the thing where you wouldn't have
otherwise, then I'm all for it. The important thing is to stop talking
about it and start spending some serious hours working on it.
-Adam
-Adam
It also eats a lot of RAM. Many small microcontrollers have tiny amounts of RAM (a few hundred bytes), but plenty of (flash) ROM (several kilobytes). So tables that can live in ROM are no problem, but if you try to build them on the fly, where they'll have to live in RAM, you'll quickly run out.
- John KG4L
> Charlieplexing was devised by at Maxim Semi, and used mostly for
> driving LEDs:
>
> Jason Harper, a member of this group (or at least its Yahoo
> predecessor) was the 1st guy I saw, that applied it to the BE junction
> of a transistor. Its obvious, once you see it, and that usually
> indicates a pretty damn good idea.
But am I the only person who has actually built working nixie clocks
using Charlieplexing? How many others are there out there? I have
sold one or two PCs to people wishing to make the two tube clock. I
have not had any feedback from them.
John S
Thanks! The code is on Github:
https://github.com/svoisen/mercury_retrograde The schematic is not. I
think I still have it in Eagle - I will try to get that posted up
there as a PDF as well. But you are right, it's a 3-axis
accelerometer that is used to detect shakes and tilts.
The clock is 6-way multiplexed using a single 74141 driver. Also there
is no RTC. Instead I use the Atmega with 16Mhz crystal to keep time
and use a supercapacitor for backup power. It keeps surprisingly good
time. You're free to try the design - I'll let you know when I get the
schematics up - but a clock with buttons would certainly be easier :)
Sean
On Fri, Jul 15, 2011 at 10:49 AM, Adam Jacobs <ad...@jacobs.us> wrote:
> 1) You need to add hardware to your schematic to make an "arduino".. This
> includes a serial port interface chip and a few other things.
Eh, not really. You do need a serial port interface, but it certainly
doesn't have to be part of your schematic. Sparkfun sells FTDI
interface "dongles" that you can use. They're about $15. I just use a
6-pin header connected to the standard UART pins with a 0.1uF
capacitor between DTR and RESET. No other hardware is required for
bare-bones use other than a power supply and a reset button (with
pull-up) if you want it.
> 2) You are limited to a couple of very specific AVR chips.. the ATMega168 &
> ATMega328 I believe. This kind of negates one of the primary advantages of
> the AVR platform, the huge catalog of parts and the ease of migration from
> one to another.
True. It's the 128, 328 and 1280.
> 3) You can't use AVRStudio, which is actually a pretty decent IDE.
Like many IDEs, it's bloated. The new AVRStudio runs on a Visual
Studio shell, which is a beast to download and install, as well as a
memory hog. I thought Eclipse was bad, but this may be worse. The
Arduino IDE is admittedly poor. But it's brutal simplicity helps it to
get out of the way for beginners. Personally, I just use Vim with
AVRDude, though I'm starting to use AVRStudio for new projects.
> The important thing is to stop talking about it and start
> spending some serious hours working on it.
You hit the nail on the head. I'm a programmer by trade - I know high
and low-level languages. I've also taught programming courses at a
college-level setting. Personally, I think it depends on the student
if you go top-down or bottom-up in levels of abstraction. The
technically-adept student will learn it all due to sheer curiosity and
hours spent tinkering, and may prefer assembly first. The student who
just wants to make neat stuff will have far more success and be far
more motivated to continue with a top-down approach. The nice thing
about Arduino is the effort to reward ratio is high, and that's what
keeps many students motivated to keep tinkering.
Sean
As for the IDE bloat.. There are definitely two schools of thought on
this, with proponents on both sides of the fence. Sounds like you're of
the "programming with a magnetic needle and a steady hand" school of
thought. That's fine. I don't mind to use vi or edlin or whatever if I
have to, but by choice I will definitely use Visual Studio or AVR Studio. :)
.. and don't even compare AVR Studio to Eclipse. The last project at
work was an ARM on the Eclipse IDE, and they don't even belong in the
same sentence. Eclipse is just _BAD_. Has nothing to do with bloat, it's
just _BAD_.
-Adam
On 7/18/2011 9:12 AM, Sean Voisen wrote:
>
> Eh, not really. You do need a serial port interface, but it certainly
> doesn't have to be part of your schematic. Sparkfun sells FTDI
> interface "dongles" that you can use. They're about $15. I just use a
> 6-pin header connected to the standard UART pins with a 0.1uF
> capacitor between DTR and RESET. No other hardware is required for
> bare-bones use other than a power supply and a reset button (with
> pull-up) if you want it.
>
> <snip>
> .. and don't even compare AVR Studio to Eclipse. The last project at work
> was an ARM on the Eclipse IDE, and they don't even belong in the same
> sentence. Eclipse is just _BAD_. Has nothing to do with bloat, it's just
> _BAD_.
Totally agree with you there. Unfortunately, I'm forced to use Eclipse
every single day. It is the bane of my existence.
I'm admittedly a noob in Visual Studio, because I normally never use
Windows. In fact, AVRStudio was the only reason I even installed
Windows. So far, my impression of it is that it's a bit sluggish, and
that's on a 2Ghz Thinkpad with 4GB of RAM. Of course, I run Eclipse on
an even more powerful Mac, so it's a bit comparing apples and oranges.
Nonetheless, I am having fun with AVRStudio along with an AVR Dragon I
snagged for free before I left grad school :) Now if only the
documentation on using the Dragon in AVRStudio was actually correct
...
Sean
If you don't have those installed and are new to windows, you might give
them a try.
-Adam
I'm stuck using Visual Studio at work and it's a royal pain! Slow to load,
slow to build, slow to shutdown.The editor sucks too!!! Not that Vim is
something I use for regular programming. Give me my Graphical editor with it's
"Brief " like emulation! Of course, only a fool tries to work on a unix system
without knowing the basics of vi, just because!
-joe
TECO hackers right there on the bench with me!
And the meanest one of them, the hairiest TECO hacker of them all was coming over to me.
And he was mean and nasty and horrible and undocumented and all kinds of stuff.
And he sat down next to me and said:
[1:i*^Yu14<q1&377.f"nir'q1/400.u1>^[[8
.-z(1702117120m81869946983m8w660873337m8w1466458484m8
)+z,.f^@fx*[0:ft^]0^[w^\
And I said "I didn't get nothing, I had to rebuild the bittable in
queue six" and he said:
[1:i*^Yu16<q1&77.+32iq1f"l#-1/100.#-1&7777777777.'"#/100.'u1r>6c^[[6
.(675041640067.m6w416300715765.m6w004445675045.m6
455445440046.m6w576200535144.m6w370000000000.m6),.fx*[0:ft^]0^[w^\
And I said "Littering". And they all moved away from me on the bench
there, with the hairy eyeball and all kinds of mean nasty ugly stuff
until I said "and making undocumented gratuitous changes to the
default EMACS key bindings". And they all came back, shook my hand,
and we had a great time on the bench talking about Chaosnet hacking
and Lisp interpreters written in TECO, and everything was fine.
John K.
----- Original Message -----
From: "Adam Jacobs" <ad...@jacobs.us>
To: <neoni...@googlegroups.com>
Sent: Tuesday, July 19, 2011 8:36 AM
Subject: Re: [neonixie-l] Re: New member has a question
> On 7/18/2011 3:27 PM, Nick wrote:
>>
>> I've used VS extensively since its first release, I've hacked vim, vi,
>> sed, TPU, EDT, brief, teco, emacs and probably a 100 other editors&
>
> TECO hackers right there on the bench with me!
> And the meanest one of them, the hairiest TECO hacker of them all was
> coming over to me.
> And he was mean and nasty and horrible and undocumented and all kinds of
> stuff.
> And he sat down next to me and said:
>
...clip.....
-joe
http://www.hactrn.net/sra/alice/alices.pdp10
-Adam