Vintage stil nixie väggklocka (7 / 21 steg)

Steg 7: programvaran



Som programvara gjorde jag några ändringar av koden som används för min första klocka (tagen från öppen källkod materialet finns på Arduinix webbplats). Att koden har ändrats för att använda endast en nixie drivrutin i stället för två, eftersom jag inte behöver köra mer än 6 siffror, och jag föredrar att spara drivrutiner... Jag laddade upp koden till Atmega8 IC med en Arduino ombord, det är det enklare sättet enligt min uppfattning, men märker att du förmodligen behöva bränna bootloader på nya IC för att kunna använda den i Arduino, jag använder en USBtinyISP programmerare.

Obs: Jag skulle ha genomfört koden med RTC funktion. Tyvärr har uppstått några problem och jag har vissa problem med att göra den arbetande. En knapp bör öka timmarna och skriva ny timme i RTC modul, andra knappen samma sak men för några minuter. Jag hoppas att några av er mer kunnig än mig (inte svårt att vara) kommer att hjälpa mig.

Arduinix 6 lampa - också stöder timme och Min. tiden uppsättning.
//
Denna kod körs en sex lampa setup och visar en prototyp clock setup.
Obs: förseningen är setup för IN-17 nixie lökar.
//
ursprungliga koden av Jeremy Howa
www.robotpirate.com
www.arduinix.com
2008 - 2009
koden ändras av Andrea Biffi www.andreabiffi.com att arbeta med endast en SN74141
//
Senaste Redigera Nov 2013
//

SN74141: Sant tabell
D C B ETT #
L, L, L, L 0
L, L, L, H 1
LARSSON, LARSSON, H, L 2
LARSSON, LARSSON, H, H 3
L, H, L, L 4
L, H, L, H 5
L, H, H, L 6
L, H, H, H 7
H, L, L, L 8
H, L, L, H 9

#define DEBUG_ON falskt

SN74141
int ledPin_0_a = 2;
int ledPin_0_b = 3;
int ledPin_0_c = 4;
int ledPin_0_d = 5;

anod pins
int ledPin_a_1 = 8;
int ledPin_a_2 = 9;
int ledPin_a_3 = 10;
int ledPin_a_4 = 11;
int ledPin_a_5 = 12;
int ledPin_a_6 = 13.

void setup()
{
pinMode (ledPin_0_a, produktionen);
pinMode (ledPin_0_b, produktionen);
pinMode (ledPin_0_c, produktionen);
pinMode (ledPin_0_d, produktionen);

pinMode (ledPin_a_1, produktionen);
pinMode (ledPin_a_2, produktionen);
pinMode (ledPin_a_3, produktionen);
pinMode (ledPin_a_4, produktionen);
pinMode (ledPin_a_5, produktionen);
pinMode (ledPin_a_6, produktionen);

OBS:
Jordning på stift analog0 och analog ingång 1 kommer att ange timmar och minuter.
pinMode (A0, indata); Ange den virtuella pin analog0 (pin 0 på de analoga ingångarna)
digitalWrite (A0, hög); Ange pin analog ingång 0 som en dra upp motstånd.

pinMode (A1, indata); Ange PIN-koden virtuella analog ingång 1 (pin 1 på de analoga ingångarna)
digitalWrite (A1, hög); Ange pin analog ingång 1 som en dra upp motstånd.

om (DEBUG_ON)
{
Serial.BEGIN(9600);
}
}

////////////////////////////////////////////////////////////////////////
//
DisplayNumberSet
Användning: Passerar anod nummer och nummer för lampa, denna funktion
letar upp sanningen bordlägger och öppnar den korrekta outs från arduino
att tända de nummer som ges till denna funciton.
På en 6 nixie glödlampa inställning.
//
////////////////////////////////////////////////////////////////////////
void DisplayNumberSet (int anod, int num1)
{
int anodPin;
int a, b, c, d;

Ange standardvärden.
en = 0; b = 0, c = 0, d = 0; visar en nolla.
anodPin = ledPin_a_1; standard på första anod.

Välj vilken anod till brand.
Switch (anod)
{
fall 0: anodPin = ledPin_a_1; bryta;
fall 1: anodPin = ledPin_a_2; bryta;
fall 2: anodPin = ledPin_a_3; bryta;
fall 3: anodPin = ledPin_a_4; bryta;
fall 4: anodPin = ledPin_a_5; bryta;
fall 5: anodPin = ledPin_a_6; bryta;
}

Belastning på a, b, c, d att skicka till SN74141 IC (1)
växel (num1)
{
fall 0: en = 0; b = 0, c = 0, d = 0; semester.
mål 1: en = 1, b = 0, c = 0; d = 0; semester.
mål 2: en = 0; b = 1, c = 0, d = 0; semester.
fall 3: en = 1, b = 1, c = 0; d = 0; semester.
fall 4: en = 0; b = 0; c = 1; d = 0; semester.
fall 5: en = 1, b = 0; c = 1; d = 0; semester.
mål 6: en = 0; b = 1, c = 1; d = 0; semester.
fall 7: en = 1, b = 1, c = 1; d = 0; semester.
mål 8: en = 0; b = 0; c = 0, d = 1; semester.
mål 9: en = 1; b = 0; c = 0, d = 1; semester.
}

Skriva ut stiften.
digitalWrite (ledPin_0_d, d);
digitalWrite (ledPin_0_c, c);
digitalWrite (ledPin_0_b, b);
digitalWrite(ledPin_0_a, a);

Aktivera denna anod.
digitalWrite (anodPin, hög);

Dröjsmål
Obs: Med skillnaden i Nixie glödlampor kan du behöva ändra
denna försening att ställa in uppdateringen hastigheten på lökarna. Om du
vänta inte länge nog glödlampan blir dunkel eller inte tänds alls
du vill ställa in denna försening bara rätt så att du har
fina ljusa utgång men snabb nog så att du kan multiplex med
fler lampor (2ms är standard).
Delay(2);

Stäng av denna anod.
digitalWrite (anodPin, låg);
}

////////////////////////////////////////////////////////////////////////
//
DisplayNumberString
Användning: passerar en matris som är 6 element långa kommer visa tal
på en 6 nixie glödlampa inställning.
//
////////////////////////////////////////////////////////////////////////
void DisplayNumberString (int * array)
{
Bank 1 (glödlampa 1)
DisplayNumberSet(0,array[0]);
Bank 2 (lampa 2)
DisplayNumberSet(1,array[1]);
banken 3 (lampa 3)
DisplayNumberSet(2,array[2]);
banken 4 (bulb 4)
DisplayNumberSet(3,array[3]);
banken 5 (lampa 5)
DisplayNumberSet(4,array[4]);
banken 6 (lampa 6)
DisplayNumberSet(5,array[5]);
}

Definierar
långa minuter = 60. 60 sekunder i en Min.
långa timmar = 60 * minuter; 60 min i en timme.
långa dagar = 24 * timmar. 24 timmar i dygnet. > Obs: ändra 24 till en 12 icke militära tid.

långa runTime = 0; Tiden från när vi började.

standardtiden anger. klockan börjar klockan 12:59:00
Obs: Vi börjar sekunder på 0 så vi inte behöver en klocka som
De värden som du ser här skulle vara vad du ändra
Om du lagt till en ställa in klockan ingångar till styrelsen.
lång clockHourSet = 12;
lång clockMinSet = 59.

int HourButtonPressed = false;
int MinButtonPressed = false;

////////////////////////////////////////////////////////////////////////
//
//
////////////////////////////////////////////////////////////////////////
void loop()
{
Få millisekunder.
Längd = millis();

Få tid i sekunder.
lång tid = (runTime) / 1000; ändra det här värdet för att snabba upp eller sakta ner klockan, mindre värde som 10, 1 eller 100 för felsökning

int hourInput = digitalRead(14);
int minInput = digitalRead(15);

om (DEBUG_ON)
Serial.println (hourInput);

om (hourInput == 0)
HourButtonPressed = sant;
om (minInput == 0)
MinButtonPressed = sant;

om (HourButtonPressed == true & & hourInput == 1)
{
clockHourSet ++;
HourButtonPressed = false;
}

om (MinButtonPressed == true & & minInput == 1)
{
clockMinSet ++;
MinButtonPressed = false;
}

Inställd tid baserat på offset...
lång hbump = 60 * 60 * clockHourSet;
lång mbump = 60 * clockMinSet;
tid + = mbump + hbump;

Konvertera tid till dagar, timmar, minuter, sekunder
långa dagar = tid / dagar; tid-= dagar * dagar.
långa timmar = tid / timmar; -= timmar * timmar.
långa minuter = tid / min; tid-= minuter * minuter;
långa sekunder = tid;

Få de höga och låga värdena för timmar, minuter, sekunder.
int lowerHours = timmar % 10.
int upperHours = timmar - lowerHours;
int lowerMins = minuter % 10.
int upperMins = minuter - lowerMins;
int lowerSeconds = sekunder % 10.
int upperSeconds = sekunder - lowerSeconds;
om (upperSeconds > = 10) upperSeconds = upperSeconds / 10;
om (upperMins > = 10) upperMins = upperMins / 10;
om (upperHours > = 10) upperHours = upperHours / 10;

Fyll i antal matrisen används för att visa på rören.
int NumberArray [6] = {0,0,0,0,0,0}.
NumberArray [0] = upperHours;
NumberArray [1] = lowerHours;
NumberArray [2] = upperMins;
NumberArray [3] = lowerMins;
NumberArray [4] = upperSeconds;
NumberArray [5] = lowerSeconds;

Display.
DisplayNumberString (NumberArray);
}

Se Steg
Relaterade Ämnen

Hur man syr en Vintage-stil huvud-sjal Scarf

Denna vintage-stil elegant halsduk kan bäras på flera olika sätt - som en lätt halsduk eller som en söt huvud-wrap! Jag har inte sett dessa stilar av halsdukar sålde runt där jag bor och det är så billigt (62 cent för mig!) och lätt att göra en själv...

Vintage-stil drottning Throne stol gör om!

Här är min senaste möbler gör om...En fast upp stolen som vi hittade på sidan av vägen.Du läste rätt... det var gratis!Detta har tagit mig så lång tid, men jag älskar hur det blev!Den perfekta foto prop vintage stil snidade drottning tronen!Steg 1: I...

Vintage stil nödställda display hylla (lätt läge)

Min fru och jag hittade denna stora vintage stil hylla vid en sparsamhet butik, och beslutade vi behövde en till att matcha. (En med barnets första svärd och sköld är kopian.) Det görs mycket enkelt med brad spikar, 1 x 4 styrelser och pärlstav plank...

Vintage stil cykel sadel väska

Jag ville ha en flyttning av de saker som jag behöver mest, som en tub, spakar och en korrigeringsfil kit, från min pendla väska till cykeln. Men denna cykel har en sorts vintage stil, (det är en 80-talet Fuji) med en svart och tan tema, och de moder...

Hur man syr en Vintage-stil hög midja Bikini

jag tror vintage hög midja bikinis är eleganta, bekväma och söt! Men de kostar ganska mycket pengar om du köper dem i butiken (och de är svårt att hitta också) - och det finns ingen garanti de passar dig ordentligt. Det är mycket enkelt och billigt a...

Vintage stil pintucks och veck klänning

Grundläggande sömnad kan klä upp något enkel klänning mönster.Du behöver:Mönster-simple som enkelhet eller McCallsELLER hitta livstycket mall online och kapade stor rektangeln i längd önskas för kjolTyg och föreställningar enligt ditt mönster plus ex...

Vintage-stil MP3 Radio

Jag ville göra en radio som betalt hyllning till den vackra radioapparater från 1930-talet era från tillverkare som Philcoen och GE men har funktionerna i moderna MP3-spelare. Jag kunde ha hittat en av de gamla radioapparater och gjorde konvertering...

Sy en Vintage-stil huvudet sjal Scarf

Gör detta söta formade vintage stil huvudet wrap för dig själv eller som gåva! Om du har ett fan av Rosie Riveter utseendet denna gåva kommer säkert att glädja!Steg 1: Vad du behöver...1/4 gård söt tygSaxMåttbandTråd att matchaJärnSymaskin, eller van...

Minimal Crossover Vintage-stil linne

Varje flicka behöver en fräsch och sval linne på sommaren, om att lägga till vintage-stil, det kommer att lysa upp din kropp.Så börjar resan av omvandla och projektering av en gammal T-shirt.Crossover vintage-stil underklädestopp jag designade kommer...

Personliga Tips & Tricks, och Vintage stil redigering handledning

här är några photography tips och tricks från mig personligen för att fånga vad du ser, hur du vill, med vad du har, medan visar din personlighet kastade dina bilder.Steg 1: Personliga Tips och TricksDra nytta av varje ögonblick av ditt liv, de flest...

Vintage stil Cykelkärra

Detta är lätt att göra liten släpvagn att packa upp till 40 pounds gods runt och har en snygg vintage look.Steg 1: Material och verktyg. Material:2 hjul. 10 i pneumatiska däck visasPlywood panel. (desto trevligare desto bättre) 4ft 4ft panel eller 2x...

Vintage stil cykel sadel väska för din Fixie eller enda hastighet

efter att vara besviken med eBays dåligt utbud av sadelväskor bestämde jag mig att göra min egen. Jag ville ha något vagt vintage titta så jag bestämde mig att dra isär en gamla armé canvasväska. Jag använde många av de befintliga funktionerna i påse...

Vintage barn spela väggklocka för $4.

Hello all! Idag ville jag dela med mig av min favorit gåva spara idé! Jag vet att du har sett detta gjort en miljon gånger på internet men jag tror min är unikt genom att det görs från vintage barn poster som är vanligtvis mycket färgglada och kreati...

Vintage stil HTPC

Jag in detta i "Littlebits Tech tävlingen." Om valt för grand prize skulle jag donera makerbot och littlebits kit till högstadiet som min son deltar. Vänligen rösta för min instructable, så att gymnasiet barn kan få chansen att lära sig om elekt...

Vintage stil spetsar sylt burk Ljusstakar

jag är gifta i några veckor och vi har en vintage / byn fair typ tema.Min fästman ville några stearinljus runt platsen, så detta är vad vi kom fram till...Datum gjorde: Maj 2013Ca kostnad: £10-20Ca tid: 2 timmar för 20Svårighetsgrad: lättSteg 1: Sake...

Vintage stil Airplay högtalare

Tack för att kolla min instuctable på hur jag byggde min Wifi Minimal Tower högtalare.Detta är min första wifi högtalare bygga. Integrerar med min andra 4 diy inbyggd wifi högtalare för att göra en fullständig Multi-Room ljudsystem som styrs centralt...

Vintage stil trädgård spel stativ

Jag ville ha ett lämpligt stativ att gå med min Vintage kamera lampa.Tyvärr kunde inte jag hitta något lokalt som passar vad jag ville. Det enda jag kunde hitta var antikviteter som sålde för hundratals dollar. Eftersom mina syften var rent dekorativ...

Vintage stil resväska Amp

Projektet var att utforma en verktygslåda för organisationen. Vad kom omedelbart att tänka försökte hitta ett sätt att på något sätt införliva denna 1960-talet resväska amp sak i fållan. Jag hade velat bygga en inspelningsenhet som är universell; til...

DIY Hur till göra en VINTAGE stil förkläde lätt

http://www.meshalo.com/ http://www.etsy.com/shop/meshalo gå med min LIVE sömnad klass http://beta.powhow.com/classes/how-to-sew-easy# http://www.meshalo.blogspot.com/ https://twitter.com/#! / meshalo1...