Att göra en Maya Tzolkin kalendern (5 / 5 steg)

Steg 5: Arduino kod


Slutligen, den kod som använder en RTC chip för att ställa in tiden i styrelsen, sedan julianska datumet beräknas och från det funkar där i de två Tzolkin rotationer infaller. Det skriver sedan lämplig bit sekvensen till de SKIFT register. Detta är min första Arduino program jag förlitade sig tungt på de refererade källorna och Arduino kokboken att sätta ihop.

Kod:

/ * Tack till följande källor för delar av denna kod och resurser:

Lekplats tid bibliotek: http://www.arduino.cc/playground/Code/Time

RTC chip: https://www.sparkfun.com/products/99

beräkna dagar: http://arduino.cc/forum/index.php?topic=94925.0

Definition: Julianskt datum (JD) är en kontinuerlig räkna dagar från 1 januari 4713 F.Kr.

*/

#include < Time.h > //include bibliotek som behövs för tidberäkning av

#include < Wire.h >

#include < DS1307RTC.h > / / grundläggande DS1307 bibliotek som returnerar tid som en tid

int dataPin = 2; definiera Pins för skiftregister

int clockPin = 3;

int latchPin = 4;

int seqtzn1 [] = {128,64,32,16,8,4,2,1,0,0,0,0,0}; //arrays kontrollera lysdioderna

int seqtzn2 [] = {0,0,0,0,0,0,0,0,128,64,32,16,8}.

int seqtzds1 [] = {128,64,32,16,8,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0}.

int seqtzds2 [] = {0,0,0,0,0,0,0,0,128,64,32,16,8,4,2,1,0,0,0,0}.

int seqtzds3 [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,32,16}.

void setup()

{

Serial.BEGIN(9600); Ställ in seriell kommunikation till dator

pinMode (dataPin, produktionen); Ställ in pinkodsskydd lägen

pinMode (latchPin, produktionen);

pinMode (clockPin, produktionen);

setSyncProvider(RTC.get); funktionen för att få tiden från RTC

IF(timeStatus()! = tidInställning)

Serial.println ("kan inte synkronisera med RTC");

annat

Serial.println ("RTC har angett systemtiden");

}

void loop()

{

beräkna Julian Date och de två Tzolkin tal med hjälp av funktionerna nedan

långa jd = JulianDate();

int tzn = TzolkinNumber(jd);

int tzds = TzolkinDaysign(jd);

Serial.println(JD);

Serial.println(tzn);

Serial.println(tzds);

Skicka data till SKIFT register

digitalWrite (latchPin, låg); dra spärren låg börja skicka data

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds3[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds2[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds1[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzn2[tzn]); Skicka data

shiftOut (dataPin, clockPin, LSBFIRST, seqtzn1[tzn]);

digitalWrite (latchPin, hög); dra spärren högt sluta skicka data

Delay(300000); vänta ett tag innan du upprepar

}

beräkning av Julian datum jd

lång JulianDate() {

tid t = now(); lagra aktuell tid i tid variabel t

int todayDay = day(t); dagen för viss tid t

int todayMonth = month(t); månaden för givna tiden t

int todayYear = year(t); året för den angivna tid t

långa århundraden = todayYear/100.

långa språng = århundraden/4;

lång leapDays = 2 - århundraden + språng; Obs är negativa!

lång yearDays = 365.25 * (todayYear + 4716); dagar kvar till 1 jan i år

lång monthDays = 30.6001* (todayMonth + 1); dagar till 1 månad

långa leda = leapDays + todayDay + monthDays + yearDays-1524.5;

returnera resultat;

}

beräkning av de två Tzolkin nummer som ger position i Tzolkin rotation

int TzolkinNumber (lång jd) {

int resultatet = (jd - 2456214) % 13. Tzolkin day numrera beräknas som 0 till 12

returnera resultat;

}

int TzolkinDaysign (lång jd) {

int resultatet = (jd - 2456203) % 20; beräkna Tzolkin day tecken 0 till 19 från 10.3.12 och nummer 0 wikipedia ordning

returnera resultat;

}

Se Steg
Relaterade Ämnen

Med Maya att snabbt skapa en professionell produkt gör för Shapeways

När du säljer en modedesign på 3D utskrift webbplatser som Shapeways, tror jag det är viktigt att skapa en både vacker och professionellt första intryck för en kund när de landar på din produktsida.I den här lektionen ska vi använda Maya 2015 att byg...

Introduktion till MEL Scripting i Maya: 3D Fractals

Maya är ett mycket kraftfullt verktyg för att skapa 3D-animationer och rörlig grafik. Du kan modellera, textur, ljus, animera och återge inom samma miljö. Mayas visuella gränssnittet är kraftfull och djup. Det tillåter folk att bygga mycket komplexa...

Förstå & lärande Mayas gränssnitt

Maya är en av de mest kraftfulla verktyg för att göra 3D-modellering, animering, rendering, belysning, dynamics, skript med mera. De flesta människor tar år att upptäcka Mayas makt och förmåga. Jag har använt Maya sedan 2005, och jag är fortfarande l...

Hur att återuppliva någon bärbar dator genom att göra en TInkerbook

Hej it´s att killen från MAYER görJag vill adress något concernes mig sedan min dator-med karriär:I nästan varje hem finns minst en gammal PC / Laptop, oavsett enhet att ingen använder beacause dess gamla, föråldrad, eller bruten.Bemannar basic(compu...

Att göra en modern cykel gammal

Hej it´s att killen från MAYER görJag konverterade min crappy 90´s Mountainbike (TREK singletrack 810) i en enda hastighet retro kryssareJag gjorde detta projekt om nästan 2 år sedan, nu har nya street-däck och måste uppdateras i avsnittet broms men...

Aztec kalender krans

De Aztec kalender gavs som en gåva, detta instructable handlar om hur jag lagt till den för att ge det lite mer glans. Nämligen att lägga majs skalet blad och faux mini majs.Steg 1: leveranser --Aztec kalender--Varm limpistol och pinnar--Sax--Wire cu...

Dubbla skärm Digital Picture Frame & Family Center

svar på min vänner uppmaningar, jag gör detta instructable. Tyvärr innebär detta att jag inte har någon "making of" bilder, och inte heller eventuella faktiska priser för delar som används.Jag har ett hem för egensinniga tech, och tittade på min...

En resa av Palm Arduino Kit

jag skyldig detta instructable till min Palm Arduino Kit fläkt!Gjorde jag nämnde i min tidigare instructable "Palm Arduino Kit" att jag byggt i kit till följde med mig medan jag göra den resande.Och en riktig resa av min Palm Arduino Kit gjorde...

NAAG XY

NAAG XY, 201514' x 8' x 4'Gabriel L Dunne http://gabrieldunne.comVishal K Dar http://vishalkdar.comEPS-foam, gips i paris, dator, anpassade programvara, projektorerDetta Instructable är en dokumentation av processen att skapa "NAAG XY" av Gabrie...

Öl låda Julkalender

I Tyskland firar vi jul den 24 December. Traditionellt har du en Advent kalender med 24 behandlar för var och en av dessa dagar. En öl låda 0,33 l öl innehåller 24 flaskor.Tillfällighet? Jag tror inte!Göra en alternativ Advent kalender featuring 24 d...

3D tryckt StormTrooper actionfigur! (Realistisk artikulation)

Rapportera i position! Kapten Phasma leder en våg av attack på motstånd!Motståndet är ingen lätt som en plätt! Första ordern behöver få några fler ryttare att ansluta sig till vår kamp!Inspirerad av Autodesks tinkerplay och min bakgrund av legos bion...

Tyg inramade, torr-radera kalender

med en gammal gardin och bit glas (plus några dekorationer), kan du göra en ganska praktisk torr styrelse, som jag gjort till en kalender. Jag ursprungligen fick idén från den här sidan (http://lifehacker.com/5873452), men har ändrat designen att föl...

Magic Marker kalender

Räknar ner dagarna till en viktig händelse eller semester kan vara nerv haverera. Enkelt - till-sy färgglad kalender kan hjälpa fördriva tiden på ett lekfullt & kreativa sätt.Den magiska markör kalendern är en veckokalender omfattas i fickor, utrusta...

Förbättrad Perpetual Calendar (till år 2124)

De flesta (icke-dator) perpetual kalendrar gör inte bra representationer av en månad. Till exempel, se och . Vissa visar månaden med en variabel start dag i veckan. Andra visar månaden med det maximala antalet dagar i stället för det faktiska antalet...

Levererar

de varor du behöver är pennor eller markörer, eller färgade pennor i olika färger, en anteckningsbok (min var ca 6 x 7 tum), och lite extra papper att planera om.Steg 1: planeringAnvända några extra papper för att planera ordningen på dina sidor och...

Sidan om dagen fotokalender

Detta är hur man gör en full-färg sida-en-dag fotokalender, där det finns en bild per sida för varje dag på året, med sidorna följs tillsammans på toppen så att varje dag den föregående dagens blad kan vara skalade/sönderriven av (precis som sida-en-...

Dålig Man´s "3D-utskrift" alternativ Guide

Hej it´s att killen från MAYER gör3D-utskrifter är en av de största framgångarna för beslutsfattare på senare tid, men det finns några problem med det.Inte alla (inklusive jag själv) har råd med en 3D-skrivare. Prislappar komma ner varje år men it´s...

3D skanning, 3D render lera skulpturer i rostfritt stål via digital renderingar för en art förslag

Jag är en konstnär med utbildning i traditionell målning och skulptur, efter att ha avslutat School of Visual Arts med en BFA i målning.Efter att ha arbetat på en Jeff Koons studio för mer än två år, fick jag intresserade av den digitala sidan av kon...

Enkelt, snabbt och vackert Julkalender

tid flugor, och det är bara en lite mer än en månad till jul. Om du behöver en sista-minuten Julkalender som är lätt att göra, ser bra och kostar inte en förmögenhet, gå läsa:Steg 1: Vad du behöverGrunden för varje kalender är en enkel 12 × 12 scrapb...