Grote houten nixie klok (13 / 26 stap)

Stap 13: De code


De code van deze klok is hetzelfde van mijn tweede nixie-project. De code is afgeleid van het open bronmateriaal beschikbaar op de website van de Arduinix , en ik heb die code slechts één watergeest als stuurprogramma wilt gebruiken in plaats van twee, aangezien ik niet nodig om meer dan 6 cijfers, en ik geef de voorkeur te slaan van de stuurprogramma's hebt gewijzigd. Ik heb geüpload de code naar de IC van de Atmega8 met behulp van een Arduino board, is het eenvoudiger manier naar mijn mening, maar merk op dat u waarschijnlijk nood voor brandwond de bootloader op de nieuwe IC te kunnen gebruiken in de Arduino, ik gebruik een USBtinyISP programmeur.

Arduinix 6 Bulb - ondersteunt ook uur en Min. tijd instellen. / / Deze code wordt uitgevoerd een zes lamp setup en verschijnt een prototype klok setup. Opmerking: de vertraging is opstelling voor IN-17 watergeest bollen. / / oorspronkelijke code door Jeremy Howa / / www.robotpirate.com / / www.arduinix.com / / 2008-2009 / / code gewijzigd door Andrea Biffi www.andreabiffi.com om te werken met slechts één SN74141 / / / / laatst bewerkt Nov 2013 / / / / SN74141: True tabel //D C B A # //L,L,L,L 0 //L,L,L,H 1 //L,L,H,L 2 //L,L,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 valse / / SN74141 int ledPin_0_a = 2; int ledPin_0_b = 3; int ledPin_0_c = 4; int ledPin_0_d = 5; anod pinnen 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, OUTPUT); pinMode (ledPin_0_b, OUTPUT); pinMode (ledPin_0_c, OUTPUT); pinMode (ledPin_0_d, OUTPUT); pinMode (ledPin_a_1, OUTPUT); pinMode (ledPin_a_2, OUTPUT); pinMode (ledPin_a_3, OUTPUT); pinMode (ledPin_a_4, OUTPUT); pinMode (ledPin_a_5, OUTPUT); pinMode (ledPin_a_6, OUTPUT); / / Opmerking: / / aarden op analog0 pinnen en analoge ingang 1 zal stellen de uur en min. pinMode (A0 INGANG); instellen van de analog0 van de virtuele pin (pin 0 op de analoge "inputs") digitalWrite (A0, hoge); pincode analoge ingang 0 als een pull up weerstand instellen. pinMode (A1, INPUT); set de virtuele pin analoge ingang 1 (pin 1 op de analoge "inputs") digitalWrite (A1, hoge); pincode analoge ingang 1 als een pull up weerstand instellen. Als (DEBUG_ON) {Serial.begin(9600);}} / / / / DisplayNumberSet / / gebruik: nummer van de anod van de passerende en nummer voor lamp, deze functie / / de waarheidstabel opgezocht en opent u de juiste outs via de arduino / / aan het licht van de cijfers gegeven aan dit funciton. Op een 6 watergeest lamp setup. / / / void DisplayNumberSet (int anod, int num1) {int anodPin; int a, b, c, d; / / set standaardwaarden. een = 0; b = 0, c = 0; d = 0; / / verschijnt een nul. anodPin = ledPin_a_1; / / standaard op eerste anod. / / selecteert u welke anod naar brand. switch (anod) {geval 0: anodPin = ledPin_a_1; break; case 1: anodPin = ledPin_a_2; break; case 2: anodPin = ledPin_a_3; break; case 3 : anodPin = ledPin_a_4; breken; geval 4: anodPin = ledPin_a_5; breken; geval 5: anodPin = ledPin_a_6; breken; } / / Laden de a, b, c, d om te verzenden naar de switch SN74141 IC (1) (num1) {0 kast: een = 0; b = 0, c = 0; d = 0; break; case 1: een = 1; b = 0; c = 0; d = 0; break; case 2: een = 0; b = 1; c = 0; d = 0; break; case 3: een = 1; b = 1; c = 0; d = 0; break; case 4 : een = 0; b = 0, c = 1, d = 0; break; geval 5: een = 1, b = 0, c = 1; d = 0; break; kast 6: een = 0; b = 1; c = 1, d = 0; break; geval 7: een = 1, b = 1; c = 1; d = 0; break; geval 8: een = 0; b = 0, c = 0, d = 1; break; kast 9: een = 1, b = 0, c = 0; d = 1; break; } / / Schrijf aan output pinnen. digitalWrite (ledPin_0_d, d); digitalWrite (ledPin_0_c, c); digitalWrite (ledPin_0_b, b); digitalWrite(ledPin_0_a, a); Dit anod inschakelen. digitalWrite (anodPin, hoge); Vertraging / / Let op: met het verschil in Nixie bollen u wellicht wijzigen / / dit vertragen om de snelheid van de update van de bollen. Als u / / wacht niet lang genoeg de lamp zal worden lichter kleuren of licht niet helemaal / / u wilt instellen van deze vertraging precies goed zodat u / / nice helder output nog snel genoeg is zodat u kunt multiplex met / / meer bollen (2ms is standaard). delay(2); Deze anod afgesloten. digitalWrite (anodPin, laag); } / / / / / / / DisplayNumberString / / gebruik: het passeren van een matrix die is 6 elementen lang zal het weergeven van getallen / / op een 6 watergeest lamp setup. / / / void DisplayNumberString (int * array) {/ / bank 1 (bol 1) DisplayNumberSet(0,array[0]); / / bank 2 (bol 2) DisplayNumberSet(1,array[1]); / / bank 3 (lamp 3) DisplayNumberSet(2,array[2]); / / bank 4 (lamp 4) DisplayNumberSet(3,array[3]); / / 5 (bol 5) bank DisplayNumberSet(4,array[4]); / / 6 (bol 6) bank DisplayNumberSet(5,array[5]);} / / definieert lange minuten = 60; 60 seconden in een Min. lange uren = 60 * minuten; 60 minuten in een uur. lange dagen = 24 * uur; 24 uur in een dag. > Opmerking: de 24 tot en met een 12 voor niet millitary tijd wijzigen. lange runTime = 0; Tijd van toen we begonnen. Verstekwaarde inschakelvertraging wordt ingesteld. klok begint om 12:59:00 / / Opmerking: We beginnen seconden op 0, dus we niet een klok hoeven instellen / / de waarden die u hier ziet zou wat u veranderen / / als u een klok instellen-ingangen aan de Raad hebt toegevoegd. lange clockHourSet = 12; lange clockMinSet = 59; int HourButtonPressed = false; int MinButtonPressed = false; / / / / / / / void loop {/ / Get milliseconden. runTime = millis(); / / Get tijd in seconden
. lange tijd = (runTime) / 1000; Deze waarde omzetten in snelheid omhoog of vertragen van de klok, ingesteld op een kleiner getal zoals 10, 1 of 100 voor foutopsporing int hourInput = digitalRead(14); int minInput = digitalRead(15); Als (DEBUG_ON) Serial.println (hourInput); Als (hourInput == 0) HourButtonPressed = true; Als (minInput == 0) MinButtonPressed = true; Als (HourButtonPressed == true & & hourInput == 1) {clockHourSet ++; HourButtonPressed = false; } Als (MinButtonPressed == true & & minInput == 1) {clockMinSet ++; MinButtonPressed = false; } / / Tijd gebaseerd op offset instellen... lange hbump = 60 * 60 * clockHourSet; lange mbump = 60 * clockMinSet; tijd += mbump + hbump; Convert tijd voor dagen, uren, minuten, seconden lange dagen = tijd / dagen; -= dagen tijd * dagen; lange uren = tijd / uren; -= uur tijd * uur; lange minuten = tijd / min; -= minuten tijd * minuten; seconden lang = tijd; De volgorde van hoge en lage waarden voor uren, minuten, seconden krijgen. int lowerHours = uur % 10; int upperHours = uren - lowerHours; int lowerMins = minuten % 10; int upperMins = minuten - lowerMins; int lowerSeconds = seconden % 10; int upperSeconds = seconden - lowerSeconds; Als (upperSeconds > = 10) upperSeconds = upperSeconds / 10; Als (upperMins > = 10) upperMins = upperMins / 10; Als (upperHours > = 10) upperHours = upperHours / 10; Vul het nummer array gebruikt om weer te geven op de buizen. 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); }

Gerelateerde Artikelen

Houten gloeiende Nixie Klok

Houten gloeiende Nixie Klok

Inspiratie:OK, dus ik weet maken een nixie klok is niet noodzakelijkerwijs de meest originele klok ideeën, maar ik wilde iets elegante de tijd te vertellen in mijn woonkamer. Toen ik dat die ik leefde in een huurhuis waar ik niet kon mounten een klok
Lamina Nixie Klok

Lamina Nixie Klok

dit is mijn eerste instructable en ik hoop u van het zult houden. Ik heb het lezen van deze website voor een tijdje nu en ik besloten om mijn project publiceren. Ik ben niet-native speaker Engels gelieve excuus mijn taal fouten.Dit project is geïnspi
Eiken & acryl Nixie Klok

Eiken & acryl Nixie Klok

Ik heb altijd al gefascineerd door hoe dingen werken, wat maakt hen teek, en het omgezet in een dure obsessie dingen uit elkaar te nemen. Ik was nooit erg goed in het maken van dingen wel, ontbreekt het geduld van proces om dingen te krijgen precies
Eenvoudige user-instelbare DIY Nixie Klok

Eenvoudige user-instelbare DIY Nixie Klok

Als eerste instructable van het jaar beheerd ik eindelijk mijn eeuwenlange nixie klok om project te voltooien.Nixies zijn ventiel neonbuizen, waar tien kathoden vorm van cijfers hebben en worden verlicht door plasma als hoogspanning door hen stroomt.
Mahonie & messing nixie klok (met IR en UART controle)

Mahonie & messing nixie klok (met IR en UART controle)

Update: mijn wedstrijd binnenkomst werd aanvaard. Als u de klok, mij zal zich opwaarderen als je voor het stemmen!Hallo jij daar!In dit instructable ik zal u tonen het proces van het maken van een awesome, steampunk-alike nixie-klok.Er zijn veel wate
Nixie Klok huisvesting

Nixie Klok huisvesting

InleidingEen heleboel instructables over Nixie buizen zijn betrokken met de elektronica. Ik was lui en kocht de mijne. Het was toch een fractie van de prijs van de buizen.Daarvoor dit instructable is niet zozeer een hoe, maar meer een proces van de e
Houten plaat klok Tutorial

Houten plaat klok Tutorial

dit DIY-Project is een gemakkelijke manier om te zetten van een oude houten plaat in een nieuwe klok. Deze houten plaat klokken maken geweldige geschenken. Ik zal wel eerlijk... Ik ben het bijhouden van mij! Ik hou van hoe het bleek!Stap 1: Wat moet
Vliegtuig naar beneden een grote houten plaat

Vliegtuig naar beneden een grote houten plaat

als u beschikt over een grote houten plaat die niet in een planer past, kunt u een CNC router tafel te bereiken een dikte schaven. Ik deed dit op TechShop in Pittsburgh. www.techshop.comIk maakte een cocktail tabel met mijn plaat.Stap 1: Beveilig uw
1 cijfer Nixie Klok

1 cijfer Nixie Klok

Jonge mensen zijn gefascineerd door Nixies. Zij hebben niet gezien dergelijke neonlichten in de huidige solid-state era.IN-18 is de grootste neon cijfer indicator geproduceerd in tijden van de USSR die werd gebruikt in schubben op de markten voor lev
Nixie Klok hout zaak

Nixie Klok hout zaak

Dit is mijn tweede post over nixie klok, maar in feite was mijn eerste Nixie Klok geval.De oorspronkelijke is gewoon een stuk van acryl. Een nixie klok verdient een betere zaak dan een eenvoudige acryl box.Ik kocht eerst een nixie klok kit. De pagina
Houten LED klok

Houten LED klok

de houten LED klok ziet eruit als een saai houten doos met de uitzondering dat de tijd is door de voorkant van het gloeien. In plaats van een stuk van grijze plastiek om naar te kijken, hebt je een mooier stuk hout. Het behoudt nog steeds alle van ha
Grote houten robot dinosaurus

Grote houten robot dinosaurus

The Giant Robotic houten dinosaurus is belast met de stadVeiligheid in Oita City van Japan, het alleen vreselijke probleem met ditIs het geluid van het lopen en de motor,Er zijn 100 van deze in verschillende steden van Japan rondlopen :)Samimy Produc
Houten gear klok

Houten gear klok

ik heb altijd houten gear klokken.  Dus voor mijn verjaardag gaf mijn vrouw me een Dremel en een kopie van Figuurzagen Magazine dat had een patroon voor een versnelling van de houten klok.  Dit is mijn inzending voor de wedstrijd van de klok en de 4e
Houten vogel klok

Houten vogel klok

Ik zocht het internet voor de giften van Kerstmis voor mijn familie, toen kwam ik in een houten klok de vorm van een vogel. Het was zo schattig dat bijna kocht ik het toen ik plotseling besefte dat ik een net als het kon maken. Zelfgemaakte cadeaus a