1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Open Source A challenge for the coders out there...

Discussion in 'Software' started by Nexxo, 7 Dec 2013.

  1. GuilleAcoustic

    GuilleAcoustic Ook ? Ook !

    Joined:
    26 Nov 2010
    Posts:
    3,277
    Likes Received:
    72
    Little question about the informations displayed. The Nixies will display the values, but did you plan anythings to specifies what does the value refears to ?
     
  2. Nexxo

    Nexxo * Prefab Sprout – The King of Rock 'n' Roll

    Joined:
    23 Oct 2001
    Posts:
    34,731
    Likes Received:
    2,210
    Indeed. There will be three IN-14 nixie tubes for the digits, but the fourth is a symbol nixie, the IN-19A:

    [​IMG]

    Below the schematic which shows the symbols it displays (top one), and on which pins they are (that bit is not relevant for your code, just for my PCB :) ).

    [​IMG]

    So temperatures would be marked by a °C; fan RPM by a % (of maximum RPM); l/min flow would be marked by a P.

    I know that there is no way of telling the different temperatures apart unless I resort to additional indicator lights etc. but that gets messy, so I'll put up with it.

    The advantage of the Lumenspar kit is that it is very contained and only needs three connections from the Arduino to drive it. The Arduinix kit (a lovely all-in-one clip-on solution as it is) by contrast, needs about 16. Unfortunately it does not do decimal points as the IN-12 nixies that come with it don't have any, and the DM7441A chips that drive the nixies don't have a logic or pinout for them (only for numbers). The IN-14 has two decimal points; one to the left and one to the right of the digit. I plan to address them by a separate pin on the Arduino (via a transistor, which is very easy), which it does depending on the length of the integer (when it exceeds 2 digits it drops the first decimal to make room and also kills the decimal point) and what value it is supposed to display.

    The Arduino code also needs to send out a "dummy" digit to address the relevant symbol. I was thinking of displaying the values to an accuracy of one decimal, but make the Arduino tack a second decimal value to it which in effect is the symbol. E.g. if temperature is 34.2 °C: the Arduino is programmed to add 0.05 to the value (as this adresses pin 7, which on IN-14 would be the number 5, but on IN-19 the symbol °C) and sends out the value 34.25 which is displayed on the nixies as 3 4 2 °C.

    The Arduino will also trigger the decimal point in the second nixie: 3 4. 2 °C.


    If it displays, say, fan RPM (as an integer value), it will add a 0.6 as dummy value to address pin 8, which triggers %, and also kill the decimal point.

    Flow will be a single-digit integer with two decimals, so it will add 0.008 as a dummy value to address pin 10, which triggers P, and trigger the decimal point in the first nixie.

    Basically, as long as the Arduino knows that the value it parses is either a temperature, an fan RMP value or a flow sensor RPM value, it will know how to treat it and send it to the nixies.

    In the LCDSmartie setup I thought of, the values would be sent out preceded by a letter (e.g. A, B, C... for instance, CPU temp, GPU temp, coolant temp (I may actually hook up a temperature sensor to the radiator in- and out-port, and measure temperature drop through the radiator) and Fan RPM would be sent as: A34.2 B44.5 C1250 etc.). The Arduino would be told (by a button, or as part of a programmatic cycle) to peek for a specific letter and then parse the value that followed it. By the letter it would also be guided as to what dummy value to attach to trigger the symbol and what decimal point to trigger.

    I hope that makes sense...
     
    Last edited: 10 Apr 2014

Share This Page