I finally got round to making something, no case yet but it's too much fun not to run
A Four letter word clock with word generation outsourced to twitter.
Powered by a raspberry Pi and an ever expanding pile of python, display tubes made by by Burroughs in the 1970's.
Time source from the internet via NTP.
It displays the time and the words that will fit on the display from a random tweet feed. It also displays TWOI: the TWitter Originality Index or the ratio of original tweets to retweets seen in the random feed.
It will listen out for any tweets with the hashtag #NixieBotShowMe , use that tag and it'll send you back a picture of the next word in your tweet after that tag that will fit on the display, or failing that the first word in your tweet that will fit.
Other tags you can add on are #NBreceipt for a DM acknowledgement and #TheTime to just get sent the time.
@mention others in your tweet to get them mentioned in the reply so they see the pic too.
Outgoing tweets are limited by the twitter API to one a minute and queued so you may have to wait a while if it gets popular.
Follow it on twitter @NixieBot to see all the words that get sent. Bear in mind that it's the internet providing words so don't blame me if you see something rude. Hopefully the fact that everyone who wants to can see what was submitted by who (and reply to them ) should make it somewhat self policing... lets see
I like it!! Very clever of you to use Twitter this way - in effect putting it between your device and the internet at large. Dunno if you ever saw my 16 X B7971 "shoutbox" when it was online, but one of the reasons I never set it back up after moving was the hassles involved in running and securing the server and in effect inviting the internet into my house to play. Twitter makes a nice buffer...
Look into it later when the dust is clearing off the crater.
Thanks! praise from you is high praise indeed in my books
The twitter API is quite straightforward to use and, so far, they don't seem to consider the clocks activities a problem, though I did find i was triggering some "rate limit" alarms when stopping and starting the code a lot during development and I'd get no access for an hour or so. Later once I made sure the program could terminate properly, closing it's connections to twitter behind it, I didn't get such frustrating enforced pauses.
I knew I'd seen internet connected B7971s before somewhere and just went back to look over your shoutbox pages again, nice! I see you have put UV LEDs in to help ionisation in the dark, was this always a problem?
I ask as I've found that pictures invoked from Nixiebot in the dark are coming out blank or with green segments instead of orange. My initial suspect is the Pi camera module not keeping up with it's white balance for the greenness, I guess I'll have to switch settings at night or something. But the totally blank frames are puzzling.
Whenever I leave the workshop and switch off the lights at night I can see the clock still working fine, is the reluctant ionisation something that creeps up after a few hours of darkness?
I hope to get some time for an upgrade this weekend and nixiebot should end up with six tubes and maybe even reddit capability. I'll add some filter modes to the random feed too so from time to time it will only display tweets with certain word classes in them (like sweary, happy, nice, cats, hope, etc) On the hardware side I now have a handy adaptor to run the camera signal over HDMI instead of the short ribbon cable it normally has so it can be placed better . I also have a PIR ( for blanking when no one is around) that needs fitting and using.
Yeah, I would definitely suspect the camera and not worry too much about the clock until all camera "shot timing", white balance lag, etc. is ruled completely out.
I am no expert at the physics of making these tubes ionize, and I'm not even sure if I use the right terminology, hence the many quotation marks below, but here's what I think I know...
In order to ionize there needs to be an external source of at least a few "photons" (right term? not sure) that are striking the cathodes and "knocking a few electrons loose". Ambient light, sufficient background gamma radiation, or a shot of radioactive material in the tube itself (e.g. thorium) will do it. Without enough "stray photons" about, the tube won't "fire" at any reasonable voltage.
If this is the problem, it should become apparent as soon as the lights go off... with one caveat: What I have observed is that as long as there is always at least one tube with a few segments lit, its emissions are sufficient to keep the rest of the tubes firing well. Where it gets dodgy is when you have a total blackout, IOW blank the entire display, in a dark room. Getting lit back up after blanking could be difficult. In fact, it was the blanking period between repetitions of a long scrolling message that got me interested in this issue. In a well lit room it worked fine, but in a dark room one "more sensitive" tube would fire immediately (when it was supposed to) after a blanking period, then its neighbors would fire, etc. until the whole display was finally fired back up. The whole process would only take ~0.5 seconds but it was very noticeable and looked trashy.
Those UV LEDs... not one of my greatest design decisions. They seem to help a bit but the results are inconclusive. For the money and hassle I'm not so sure it was worth doing. When I added them I didn't really understand the problem and thought I needed to stimulate the gas when really the UV needs to hit the cathodes. Shooting UV up from under the tube doesn't accomplish that very well - there's a mica disk in the way that attenuates the UV light and also the angle is not ideal. Blasting UV directly into the face of the tube works better but is somewhat visible & ugly on camera, and of course there's the question of how & where to mount the UV emitters without them looking stupid. Maybe mounting a plain old fluorescent blacklight fixture on the ceiling would work?!?! Or just leave a night light on...
Look into it later when the dust is clearing off the crater.
Thanks for the info, I'm going with the night light option for now
Also I don't actually blank all the tubes for any long period right now, so they ought to keep each other going. Though I do flash the word on and off a few times after the picture is taken in order to draw the attention of anyone in the room.
However I'm pretty sure the "take a picture" function is blocking until complete so it *shouldn't* be capturing anything during the flashing period... Plenty of ways to test this
Adding the PIR will lead to long period blanking behavior so I'll keep an eye on things.