Enorma trä nixie klockan (13 / 26 steg)

Steg 13: Koden



Koden för denna klocka är samma för min andra nixie projektet. Koden kommer från den öppna källkod materialet tillgängligt på Arduinix hemsida, och jag ändrade den koden du vill använda endast en nixie istä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.

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

Lamina Nixie klockan

detta är min första instructable och jag hoppas du kommer att gilla den. Jag har läst denna webbplats för ett tag nu och jag valt att publicera mitt projekt. Jag är icke-native English speaker ursäkta mitt språk misstag.Detta projekt är inspirerad av...

Nixie klockan

allt du behöver är-några Nixie lökar (få dem på ebay, fleamarket aso)-en elektronisk klocka (olika erbjudanden på electrinic marknader) att komma åt lamporna (med anvisning)-en nätdel för elektronisk enhet (mellan 9 och 12 v DC)-en gammal skrivmaskin...

Oak & akryl Nixie klockan

Jag har alltid varit fascinerad av hur saker fungerar, vad som gör dem fästing, och det förvandlas till en dyr besatthet av att ta saker ifrån varandra. Jag var aldrig särskilt bra på att göra saker ändå, saknar tålamod process att få saker precis rä...

Trä glödande Nixie klockan

Inspiration:OK, så jag vet att göra en nixie klocka är inte nödvändigtvis den mest ursprungliga av klocka idéer, men jag ville ha något elegant att tala om tid i mitt vardagsrum. När jag gjorde detta jag bodde i ett hyrt hus där jag inte kunde monter...

1 ensiffriga Nixie klockan

Unga människor fascineras av Nixies. De har inte sett sådana neonljus i nuvarande solid-state-eran.IN-18 är den största neon siffriga indikator som producerats under USSREN gånger som användes i skalor på livsmedelsmarknaderna och i vetenskaplig utru...

Steam Punk Bullet tenn Nixie klockan

Jag blev inspirerad av andra hemgjorda nixie klockor jag hade sett på nätet och tänkte jag skulle ha en gå själv. Jag använde en gammal ammunition tenn, vintage moving coil mätare från 1940-talet och en växel från ett passagerarplan på 1960-talet för...

Nixie bargraph klockan

Så har jag sett massor av Nixie klockor online och tyckte de såg bra ut, men jag inte ville spendera $100 + på en klocka som inte ens innehåller rören!Så med lite elektronik kunskap jagade jag runt de olika nixie rör och kretsar. Jag ville göra något...

Nixie rör klockan fallet

Detta är min första Instructable. Jag är brasilianska och svenska är inte mitt modersmål, så jag hoppas du förstår min konstiga engelska.Jag är ingenjör och en tvångsmässig maker. Jag älskar gamla röret ventiler, och när jag såg på webben en Nixie kl...

Pandora's Clock: Nixie rör klocka och Pandora internetradio

En Nixie rör klocka med Pandora Internet Radio, baserat på Raspberry Pi med en egen designade fall, LCD-skärm, WiFi-anslutning, förstärkare och högtalare. Detta är den mest unika klockradio hittar du någonsin!Detta är också kanske den dyraste sak jag...

Stephanotis Steampunk Nixie rör sängkanten följeslagare.

Jag ville ge min dotter något helt annat för hennes födelsedag April 2015 och till slut bestämde mig på att göra något i en Steampunk-tema. Det började som bara lampenheten men såg lite kalt i mitten så jag la en Nixie rör klocka till det och detta v...

Nixie rör klocka No.2

I februari 2015 jag byggde en massiv Steampunk lampa med en IN-12A Nixie rör klocka för min dotters födelsedag (fotografi elektronik avsnitt och nu en Instructable!) och sedan dess jag ville göra en annan Nixie klockan men i en helt annan stil.Jag vi...

Vintage stil nixie väggklocka

Efter framgången med min första nixie klocka gjord från ett rosewood block, bestämde jag mig att förlora tid och fortsätta med nästa.Som några av er redan vet, eller Tänk, jag nyligen faktiskt är lite beroende av nixie-mani.Jag har köpt många nixie r...

Nixie klocka trä fallet

Detta är mitt andra inlägg om nixie klocka, men det var faktiskt min första Nixie klockan fallet.Den ursprungliga är bara en bit av akryl. En nixie klocka förtjänar ett bättre fall än en enkel akryl låda.Först köpte jag en nixie klocka kit. Sidan jag...

Nixie klocka bostäder

IntroduktionEn hel del instructables om Nixie rör gäller elektroniken. Jag var lat och köpte min. Det var en bråkdel av priset på rören ändå.Till detta detta instructable är inte så mycket en hur, men mer en process av den estetiska delen av att skap...

Steampunk Audio & Chronograph Station

tack till alla dina mycket kreativ design och projeccts, ni alla har inspirerat mig att bygga min egen Steampunk ljud & Chronograph Station. Detta projekt tog mig WAAAY längre än jag väntat och gick långt över budget, men när jag började, fann jag de...

VFD klockan/Nixie inomhus/utomhus termometer Retro passar Linden mantel klockan

Jag beslöt att göra något jag inte hade sett ännu och kombinerade (2) separat elektronik med (2) olika typer vakuumrör visar för att göra denna unika display. Nixie rör för termometer och VFD (vacuum flouresent display) för klockan.Steg 1: leveranser...

Nixie rör klockan

https://sites.Google.com/site/kyrosprojects/...

Harry Potter inspirerade Weasley klockan

Förra året bestämde jag mig att läsa om hela Harry Potter-serien för 100: e gången, som inspirerade idén att göra något liknande Weasley familjen klockan för slutprojekt klass. För alla er Mugglare som inte är bekant med serien, i trollkarlsvärlden f...

IN-12 nixie clock

Ända sedan jag upptäckte nixies jag ville göra en klocka med dem, men alla de mönster som jag hittade var för 4 eller fler nixies, krävs en anpassad strömförsörjning och ett komplicerat körande system.Som billigt killen jag är, ville jag köpa massor...