Berlin klocka, Arduino Nano, DS1307 Realtidsklocka. 74HC595N 8-bitars skiftregister. (5 / 5 steg)

Steg 5: Hela programmet



< p > < Wire.h >< br > < Time.h > #include #include
#include < DS1397RTC.h >
int jag = 0;
int k = 0;
int x = 0;
int minFivesMSB = 0;
int minFivesLSB = 0;
int temp = 0;
int minFives = 0;
int timmar = 0;
int hoursFives = 0;
int minUnits = 0;
int oldHoursFives = hoursFives;
CONST int changeTime = 14.
CONST int setHourPos = 15.
CONST int setMinPos = 16.
CONST int setHourNeg = 17;
CONST int setMinNeg = 11;
tmElements_t tm;
void setup()
{
pinMode (2, utgång); //latchOne
pinMode (3, OUTPUT); //latchTwo
pinMode (4, OUTPUT); //latchThree
pinMode (5, OUTPUT); //clockPinOne
pinMode (6, OUTPUT); //clockPinTwo
pinMode (7, OUTPUT); //clockPinThree
pinMode (8, OUTPUT); //dataPinOne
pinMode (9, OUTPUT); //dataPinTwo
pinMode (10, OUTPUT); //dataPinThree
pinMode (changeTime, ingång);
pinMode (setHourPos, ingång);
pinMode (setMinPos, ingång);
pinMode (setHourNeg, ingång);
pinMode (setMinNeg, ingång);
Serial.BEGIN(9600);
}
void runningTotal(int number)
{
int s = 1;
int j = 0;
Temp = 0;
medan (j < nummer)
{
Temp = temp + s;
s = s * 2;
j = j + 1.
}
}
void obtainNo()
{
minFives = jag / 5;
minUnits = jag %5.
hoursFives = k/5;
timmar = k %5.
om (minFives > 7) //split minuter som det rullar SKIFT över två register
{
minFivesLSB = 8;
minFivesMSB = minFives - 8.
}
annat
{
minFivesLSB = minFives;
minFivesMSB = 0;
}
}
void obtainRunning()
{
runningTotal(minUnits);
minUnits = härda;
runningTotal(minFivesLSB);
minFivesLSB = härda;
runningTotal(minFivesMSB);
minFivesMSB = härda;
runningTotal(hours);
timmar = härda;
runningTotal(hoursFives);
hoursFives = härda;
}
void compileRegs()
{
minUnits = minUnits << 3;
minUnits = minUnits + minFivesMSB;
hoursFives = hoursFives << 4;
hoursFives = hoursFives + timmar.
om ((tm. Andra) % 2 & & minUnits < 128)
{
minUnits = minUnits + 128;
}
annat
{
om (minUnits > 128)
{
minUnits = minUnits - 128;
}
}
}
void sendToRegs()
{
shiftOut (8, 5, MSBFIRST, minFivesLSB);
digitalWrite (2, låg).
digitalWrite (2, hög).
shiftOut (9, 6, MSBFIRST, minUnits);
digitalWrite (3, låg).
digitalWrite (3, hög).
shiftOut (10, 7, MSBFIRST, hoursFives);
digitalWrite (4, låg).
digitalWrite (4, hög).
}
void checkAdj()
{
om (digitalRead(changeTime) == hög)
{
om (digitalRead(setHourPos) == hög)
{
osignerade långa v = RTC.get();
v = v + 3600;
RTC.set(v);
}
om (digitalRead(setMinPos) == hög)
{
osignerade långa v = RTC.get();
v = v + 60.
RTC.set(v);
}
om (digitalRead(setHourNeg) == hög)
{
osignerade långa v = RTC.get();
v = v - 3600;
RTC.set(v);
}
om (digitalRead(setMinNeg) == hög)
{
osignerade långa v = RTC.get();
v = v - 60.
RTC.set(v);
}
Jag = (tm. Minut).
k = (tm. Timme).
obtainNo();
obtainRunning();
compileRegs();
sendToRegs();
Delay(300);
}
}
void loop()
{
om (RTC.read(tm))
{
checkAdj();
Jag = (tm. Minut).
k = (tm. Timme).
obtainNo();
obtainRunning();
compileRegs();
sendToRegs();
}
} < /p >

Se Steg
Relaterade Ämnen

Arduino Nano: DS1307 realtid Clock(RTC) med Visuino

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs.I detta Instructable kommer jag...

Arduino Nano och Visuino: 7 Segment Display klocka med MAX7219 och DS1307 realtid Clock(RTC)

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs. Jag har redan gjort Instructab...

12 tim binär klocka, timmar och minuter bara, DS1307 RTC, i2C, Arduino-Nano

Ett tag nu har jag velat göra en binär klocka, men efter att ha tittat jag bestämde mig något bara lite annorlunda. Så jag beslöt att endast visar timmar och minuter och endast visa en 12 timmars klocka, innebär detta du bara behöver 3 kolumner och m...

Arduino Nano med DHT11, RTC DS1307 och LCD 16 x 2

Hej. Detta är min första Instructable, så jag hoppas det är OK.Detta är mitt Arduino Nano projekt med LCD med I2C board, RTC DS1307 och DHT11 sensor.För detta projekt jag använde Arduino Nano, RTC DS1307 klockan styrelsen, DHT11 givarkort, 16 x 2 LCD...

Analoga VU-meter och klocka (Arduino Powered)

detta projekt tar tillbaka gammalt tiden analoga VU-Meter, med de extra funktionerna av en snygg snygg klocka! När du stänger av din musik svinga mätarna automatiskt in till klockläge. Bakom är det alla populära och lätt att använda Arduino.Detta är...

Arduino Nano: DS1302 realtid Clock(RTC) med Visuino

DS1302 realtidsklocka finns allmänt tillgänglig låg kostnad RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs.I detta Instructable kommer jag vis...

Digital/Analog klocka - Arduino + PaperCraft

i detta instructable vi kommer att återskapa en klocka inspirerad av Alvin Aronson ursprungliga design. När jag först såg denna klocka som jag var mycket imponerad av hur ren en elegant design var jag omedelbart ville återskapa denna effekt.Alvin Aro...

Arduino Nano LED-skärm

Detta är min första instructable på hur man snyggt gränssnitt en 0,56" 4-siffriga 7-Segment LED display till en Arduino Nano. 7-segment LED-displayer är idealiska för att visa information på en Arduino på grund av sina låga kostnader (~$1.50 på Amazo...

Arduino Nano: BMP180 barometertryck och temperatur I2C 2 X 16 LCD uppvisning med Visuino

BMP180 är en mycket populär temperatur och barometriskt tryck Arduino kombinationsgivaren. Jag har redan gjort Instuctable med BMP180. Ett antal människor frågade men hur du kan ansluta en annan I2C enhet till samma I2C buss som BMP180. Äntligen har...

RS485 Seriell kommunikation mellan Arduino Mega och Arduino Nano med Visuino

Ibland måste vi ansluta Arduino styrelser ligger långt bort från varandra. RS485 är ett mycket bekvämt sätt att ansluta styrelser med bara 2 kablar, och kan arbeta för ett avstånd på 1200 m (4000 ft). Det gör också flera styrelser kan enkelt anslutas...

Arduino Nano: Analog 7 Segment MAX7219 Display med Visuino

7 segmenterar skärmar är mycket populärt val för att visa data. De emellertid består av ett stort antal lysdioder och kontrollera varje LED med en digital pin från Arduino är inte en praktisk lösning. Maxim Integrated erbjuder mycket bekvämt chip för...

Arduino Nano: Bitmapp animation i SSD1306 I2C OLED uppvisning med Visuino

OLED-displayer är några av de coolaste och mest avancerade moduler som du kan använda i din Arduino projekt. Jag har redan gjort ett projekt som visar dig hur du kan skriva ut analoga värden på OLED-displayen. Nästan genast någon postat frågar hur ma...

Arduino Nano: DHT11 temperatur en luftfuktighet I2C 2 X 16 LCD uppvisning med Visuino

Jag har redan gjort två Instructables om hur du använder DTH11/DTH21/DTH22 och AM2301 temperatur och luftfuktighet med Arduino, och du hittar dem här och här. Jag gjorde också Instructable om hur du använder I2C LCD-teckens Display, och en om hur man...

Arduino Nano baserat Microbot

detta instructable skapades för att föras in i roboten utmaningen. Om jag vinner, som delar ska naturligtvis gå till robotar som denna. Anteckningar om hur du inkluderar några av de mycket i prispaket ges i sista steget. Jag är 28, så klart, jag komm...

DIY | Ambilight använder Arduino Nano

I detta Instructable kommer jag att lära dig hur du kan skapa din egen (b) ambilight för under $40!Tänk på att Ambilight fungerar endast på en dator med programmet Bambilight .Du behöver följande komponenter:Individuellt adresserbara RGB LED strip -...

Scanner Rgb Led lampa Pwm kontrolleras av Arduino Nano

Återvunnet scanner rgb led lampa pwm kontrolleras av Arduino NanoSteg 1: SlutresultatetDetta är vad du får om du följer detta instructable.Steg 2: Hitta en skrivareLeta efter en bruten hp allt i ett-skrivare. (Andra märken kan också ha delarna, men j...

HackerBoxes 0003: Amatörradio, Arduino Nano, satelliter, Packet, APRS

Är du redo att få Radio Active? Denna månad, utforska radiokommunikation med kraftfulla handhållna VHF/UHF transceiver, Sök för amatör satelliter overhead och prototyp ditt eget Morsealfabetet eller Digital Packet Radio projekt baserat på tiny Arduin...

Montering en Arduino Nano / LCD projekt plattform

Den "Arduino Nano / 1.8" TFT LCD projekt plattform "består av en 3D tryckta fall att wraps en anpassade utformade PCB som är monterad en Arduino Nano, en 1.8" TFT LCD med en SD-kortläsare och tre tryckknappar som är utsatta på framsida...

Arduino Nano - BH1715 Digital Sensor för omgivande ljus handledning

BH1715 är en digital Sensor för omgivande ljus med en I²C bus gränssnitt. BH1715 är vanligt att få omgivande ljus data för att justera LCD och knappsatsen bakgrundsbelysningen makt för mobila enheter. Denna enhet erbjuder en 16-bitars upplösning och...