[Mod] Nixie Tubes [nixie_tubes][git]

Post Reply
User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

[Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Image

Here's a simple mod to add some old-fashioned filament displays to your world

There are four types of display devices: the old-fashioned Nixie tube, which uses a generic/common design and displays the digits 0-9 (plus colon and period in this design), a Decatron tube similar to ETL/Baird Atomic GC10B, which displays its value by lighting up batches of "pins" on its face, an "alphanumeric" Nixie-like tube using a 14+1 segment display similar to the Burroughs B-7971 tube, and a Numitron design similar RCA DR-2115 (but using a 7+2 segment display with period and colon).

Place one, right-click it to set a channel, hook up some Digilines wires and a Lua Controller or so, and send the symbol you want it to display as a Digilines message. Decatron tubes can also be wall-mounted. A stripe indicates the "1" position on those.

The classic Nixies and the Numitrons respond to the numbers 0-9 and the words "colon", "period", and "off", while the alphanumeric Nixies will respond to the entire ASCII character set (32-127), the above three control words, plus "del", "allon", and "cursor", and they can display strings across multiple tubes.

Decatron tubes respond to 0-9 and "off" to directly set their states, "inc" and "dec" to bump the value up or down, "get" to read the current value back into your LuaController program, and they'll send "carry" or "borrow" as a message if the count overflows or underflows.

Strings will be displayed using all tubes in a lineup, so long as they all face the same way, starting from the tube the Lua Controller is connected to, going left to right. The other tubes in the line do not need to be connected to anything - think of them as being connected together via wireless. NFC :-) Only the tube at the far left need be connected to the Lua Controller.

The string will spread down the line until either a tube is found that faces the wrong way, or has a channel that's not empty/nil and is set to something other than what the first is set to, or if a node is encountered that is not an alpha-numeric tube at all.

Tubes to the left of the connected one are ignored (unless they, too, have their own connections).

You can put multiple lines of tubes end to end to form independent displays, so long as the tubes that start each of the lines have unique channel names set.

The string is padded with spaces and then trimmed to 64 characters.

Any unrecognized symbol or character outside the ASCII 32 - 129 range, whether part of a string or singularly is ignored.

Only the alphanumeric tubes support strings.

These tubes emit a small amount of light when displaying something.

Since these are meant to be driven by Digilines signals, only the "off" ones for all four types appear in the Creative Inventory. Use /giveme to get the others if you're not using Digilines (this is how the two middle Nixie screenshots were created). Node names are of the form "nixie_tubes:tube_{0..9, 'colon', 'period'}" for classic ones, "nixie_tubes:alnum_{ASCII char code}" for the alphanumeric ones, or "nixie_tubes:decatron_{0..9}" for the Decatrons.

No crafting recipes have been made for the Decatron yet.

Depends: Default minetest_game stuff, a recent Minetest engine, mesecons, and digilines

License: LGPL 3.0 for code, CC-by-SA 4.0 for media and everything else.

Download: https://github.com/mt-mods/nixie_tubes/ ... master.zip
...or browse the code: https://github.com/mt-mods/nixie_tubes

Crafting
Spoiler
Image
Classic tubes take 5 glass, one wall sign, and one mese crystal fragment. Yields 4.
Image
Alphanumeric tubes use the same recipe, but with a whole mese crystal instead of the fragment. Yields 4.
Additional screenshots:
Spoiler
Image
Image
Image
These Decatrons are showing a combined count of 4128.
Image
Numitron screenshot by cheapie
Example Lua Controller code:
Spoiler
This snippet of code displays one character in response to a signal input from somewhere:

Code: Select all

if (event.type == "on" and event.pin.name == "A") then
    print("pin A")
    digiline_send("1", "6")
end
And a variation of this code runs in the single LuaC that's controlling the four Decatrons:

Code: Select all

if (event.type == "program" or event.type == "interrupt") then
    interrupt(0.2)
    digiline_send("tube0", "inc")
end

if (event.type == "digiline" and event.msg == "carry") then
    if (event.channel == "tube0") then 
        digiline_send("tube1", "inc")
    elseif (event.channel == "tube1") then 
        digiline_send("tube2", "inc")
    elseif (event.channel == "tube2") then 
        digiline_send("tube3", "inc")
    end
end
(each tube in the associated screenshot is on channels "tube0" through "tube3", from right to left)
Attachments
screenshot_20170205_023200.png
screenshot_20170205_023200.png (583.25 KiB) Viewed 1649 times
nixie_tubes-recipe2.png
nixie_tubes-recipe2.png (26.48 KiB) Viewed 1649 times
nixie_tubes-recipe1.png
nixie_tubes-recipe1.png (25.75 KiB) Viewed 1649 times
nixie_tubes-decatron.png
nixie_tubes-decatron.png (168.36 KiB) Viewed 1649 times
nixie_tubes3.png
nixie_tubes3.png (273.32 KiB) Viewed 1649 times
nixie_tubes2.png
nixie_tubes2.png (218.41 KiB) Viewed 1649 times
nixie_tubes.png
nixie_tubes.png (369.67 KiB) Viewed 1649 times
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
Krock
Developer
Posts: 4650
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by Krock » Post

Interesting, I have never seen this digit-display method before.
How about a dash "-" sign?
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

I could add other symbols easily enough, but a "-" isn't especially common with Nixie tubes (though there are some designs that only display symbols like % or °C or so, but not numbers). I wanted to keep these more or less the same as the real things, which generally only have a dozen or so numbers and symbols to pick from.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Update: I've added a set of alphanumeric tubes to the mod, in the form of a 14+1 segment display (similar to Burroughs B-7971, with the same wire layout). It has full ASCII support, and also responds to a few control words (see the README).
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
cheapie
Member
Posts: 316
Joined: Mon May 14, 2012 00:59
GitHub: cheapie
IRC: cheapie
In-game: cheapie

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by cheapie » Post

Here's a clock using it, based on the Mesecons Laboratory clock. It expects a digilines RTC on channel "clock", a blinky plant on any pin, and nixie tubes on channels "tenhour", "hour", "colon", "tenminute", "minute", and "ampm", in that order. "ampm" should be alphanumeric, the others plain numeric.
Spoiler

Code: Select all

if event.type == "on" or event.type=="off" then
  digiline_send("clock", "GET")
end
if event.channel == "clock" then
  time = event.msg * 24
  hour = math.floor(time)
  ampm = hour > 11
  hour = hour % 12
  if hour==0 then hour=12 end
  tenhour, hour = math.floor(hour / 10), hour % 10
  time = (time % 1) * 60
  minute = math.floor(time)
  tenminute, minute = math.floor(minute / 10), minute % 10
  if (tenhour==0) then digiline_send("tenhour","off") else digiline_send("tenhour",tenhour) end
  digiline_send("hour",hour)
  digiline_send("colon","colon")
  digiline_send("tenminute",tenminute)
  digiline_send("minute",minute)
  if ampm then digiline_send("ampm","P") else digiline_send("ampm","A") end
end
Spoiler
Image

User avatar
Dopium
Member
Posts: 233
Joined: Sat Jun 09, 2012 15:43
Location: Australia

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by Dopium » Post

Nice work kinda cool for making industrial super computers.

User avatar
minermoder27
Member
Posts: 138
Joined: Wed Nov 20, 2013 23:24
GitHub: ZNixian
In-game: minermoder27

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by minermoder27 » Post

Oooh, looks awesome! What about adding some form of high-voltage driver that you would need to power them?

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Think of it as having a digilines-to-HV multiplier/driver magically, invisibly embedded in the black casing at the bottom ;-)

(Really, doing so wouldn't be hard, but I don't really see a use for that)
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by Sokomine » Post

Looks nice! I'm sure a lot of places could be marked with larger "signs" that way.
A list of my mods can be found here.

User avatar
Hybrid Dog
Member
Posts: 2828
Joined: Thu Nov 01, 2012 12:46
GitHub: HybridDog

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by Hybrid Dog » Post

l like it, but that are many nodes, l think. And l think if you use an object, you can modify its texture and don't need to register lots of nodes.

‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Indeed, using an entity for the display would reduce the total number of nodes to just two, but entities suck right now. Too buggy.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
cd2
Member
Posts: 562
Joined: Mon Jun 01, 2015 06:30
GitHub: cdqwertz
In-game: cd cd2
Location: Linux
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by cd2 » Post

wow cool mod!

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Update: now with Decatron tubes as well. See first post and README for details.

Another update: Better textures for the Decatron tubes' cathodes.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

DDroid
Member
Posts: 12
Joined: Thu May 28, 2015 21:13
GitHub: DDroid
In-game: DDroid
Location: Georgia, U.S.A.

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by DDroid » Post

Not to get off the Nixie Tube Subject here but see this
HP TouchSmart iQ505
CPU: Intel Core 2 Duo T5850 @ 2.16GHz
GPU: Intel GMA 960(?) @ 372MB
RAM: 4GB DDR2
OS : Windows Vista 64bit/Ubuntu Studio 16.04.1LTS 64bit
SSD: (VISTA PARTITION: 400GB; UBUNTU PARTITION: 64GB)
Res: 1650x1050x32 single touch

User avatar
12Me21
Member
Posts: 873
Joined: Tue Mar 05, 2013 00:36
GitHub: 12Me21
Location: (Ignore all of my posts before 2018)

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by 12Me21 » Post

how exactly are you supposed to use "get"? I tried


digiline_send("tube0","get")
if event .channel == "tube0" then
digiline_send("nixie0",event.msg)
end

but that overheats the microcontroller somehow...

User avatar
cheapie
Member
Posts: 316
Joined: Mon May 14, 2012 00:59
GitHub: cheapie
IRC: cheapie
In-game: cheapie

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by cheapie » Post

12Me21 wrote:how exactly are you supposed to use "get"? I tried


digiline_send("tube0","get")
if event .channel == "tube0" then
digiline_send("nixie0",event.msg)
end

but that overheats the microcontroller somehow...
You're firing off a "get" message on *any* event there, which includes the reply, forming an infinite loop. Make that first line only run on on "on" or "off" type event, and connect a blinky plant to the LuaC.

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Thanks to a contribution from cheapie, this mod now has Numitron tubes similar to RCA DR-2115.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

This project has been moved to Gitlab.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by VanessaE » Post

Update: this mod can now display strings across multiple alphanumeric tubes (but not the other types) that are placed in a line. See README for further details.

Also, the "cursor" has been moved to char(31), and the "allon" keyword and the symbol it invokes has been moved to char(144), to match my led_marquee mod.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
aristotle
Member
Posts: 79
Joined: Wed Mar 14, 2018 23:40
GitHub: askotos
IRC: aristotle_
In-game: aristotle
Location: Currently on Melpomene, waiting for the starship to be fixed.
Contact:

Re: [Mod] Nixie Tubes [nixie_tubes][git]

by aristotle » Post

First of all: thank you so much for all the goodies you provide to us! :D

Second: just a feature request / an idea for a future update...
The decatron (just one properly enabled) every tenth update might send a message to a second channel or pull a signal up for some time (like a mesecons/digilines button)... :D
Happy builds & explorations! | Initiating my Creative Minetest channel on YouTube

Post Reply

Who is online

Users browsing this forum: No registered users and 20 guests