Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Hoofdklok

Componenten en benodigdheden

Arduino UNO
× 1
Freetronics DMD-display
× 1
RTC-module
× 1
Momentaire drukknop
× 1
Aan/Uit-schakelaar
× 1

Apps en online services

Arduino IDE

Over dit project

Over

Dit is een project voor iedereen die een mooie grote klok wil die zichtbaar is vanaf 12 meter afstand of van dichtbij. Je kunt het zo groot maken als je wilt. Het bevat ook een ingebouwde wekker die kan worden gebruikt als gebeurtenisafhandelaar, bijvoorbeeld voor een geautomatiseerd besproeiingssysteem voor een tuin of om u te herinneren aan die wekelijkse ontmoeting waar u naartoe moet gaan, of iets anders dat u kunt aansluiten op een relais .

Je hebt nodig:

● Freetronics DMD-display

● Realtimeklokmodule voor Arduino 

● Zoemer (optioneel – iets luid genoeg om je 's ochtends wakker te maken)

● Kortstondige drukknop

● 2x aan-uit-knoppen (power one is optioneel)

● Arduino UNO of Arduino-compatibel bord

● Proto-shield voor Arduino (optioneel)

● Voeding voor Arduino

● Een 5VDC gereguleerde voeding van 4 – 30 ampère (optioneel voor hoge helderheid – niet nodig voor normaal gebruik)

Constructie:

Deel 1 – Elektronica:

Stap 1:Sluit de zoemer, de stilteknop en de alarmschakelaar aan op het breadboard

Stap 2:Sluit een van de schakelaars aan op aarde en de GND-pin van de buzzers op de GND-pin op de Arduino (zoals weergegeven in het diagram)

Stap 3:Sluit de andere pin van de alarmset-schakelaar aan op D2, de stilte-pin op D3 en de zoemer op D4

Stap 4:Sluit uw RTC-module aan op de Arduino volgens het type (lees fabricagegegevens - volg in de meeste gevallen het diagram)

Stap 5:Sluit de DMDCON aan op Arduino en sluit DMD aan

Stap 6:Voor volledige helderheid van DMD sluit u een 5V-bron aan op de High Brightness-aansluitingen

Stap 7:Als je dit op een proto-schild wilt maken, soldeer dan alle onderdelen aan het schild en sluit ze op de juiste manier aan

Deel 2 – Software:

Eerst moet je de DMD-bibliotheek die hier beschikbaar is installeren en in je bibliothekenmap installeren.

De software kan worden gedownload via Prototyping Corner of onderaan deze pagina. Dit bevat de basishandelingen voor de Master Clock.

Om de tijd op de RTC-module in te stellen, zoekt u regel 117 t/m 124 en stelt u deze in op de huidige tijd. Maak nu commentaar op regel 124 en upload naar de Arduino. Reageer nu opnieuw op regel 124 en upload opnieuw. Als dit niet wordt gedaan, blijft de RTC op dezelfde tijd staan.

Op lijn 593 en 594 stelt u de tijd en dagen in waarop u wilt dat het alarm afgaat. Lijn 593 is de dag van de week waarop u wilt dat deze plaatsvindt. De dagen komen als volgt overeen met de cijfers:

1 =zondag

2 =maandag

3 =dinsdag

4 =woensdag

5 =donderdag

6 =vrijdag

7 =zaterdag

Stel vervolgens op lijn 594 de tijd in waarop het alarm afgaat in 24-uurs tijd.

Verder gaan:

Meer schermen toevoegen:

U kunt meer DMD-displays toevoegen om de klok groter te maken. Lees dit voor meer informatie.

Meer alarmen toevoegen:

Om meer alarm toe te voegen, voegt u de volgende regels code toe aan de schets en roept u de leegte in de hoofdlus op:

ongeldig CheckAlarm-ALARM-NO-() {

AlarmSet =digitalRead (AlarmSetPin);

Snooze =digitalRead(SnoozePin);

byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar;

getDateDs1307(&seconde, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

/* Alleen alarm activeren als het een onderstaande dag is. Dit kan worden gewijzigd door de nummers te wijzigen in een van de volgende:

1 =zondag

2 =maandag

3 =dinsdag

4 =woensdag

5 =donderdag

6 =vrijdag

7 =zaterdag

*/

if(dayOfWeek ==2 || dayOfWeek ==3 || dayOfWeek ==4 || dayOfWeek ==5 ||dayOfWeek ==6) { //Dit zijn dagen TOEGESTAAN om alarm te rinkelen

if(uur ==18 &&minuut ==05) { //Stel hier tijd in (in 24-uurs tijd)

if(AlarmSet ==LOW) {//If alarm pin is on

Snooze =digitalRead(SnoozePin);

while(Snooze ==HOOG)

{

Snooze =digitalRead(SnoozePin);

//Voeg toe wat hier gebeurt

}

}

}

}

Code

  • Code voor hoofdklok
Code voor Master ClockC/C++
/* Master Clock-schets. Gemaakt op 26/03/14 Dit is een arduino-programma dat de Freetronics DMD gebruikt als uitvoer voor weergave. Het bevat een alarmfunctie. De dag, datum en tijd worden afgedrukt op de DMD. De alarmfunctieknop bevindt zich op pinnen 2 voor het instellen van het alarm, 3 voor snooze en 4 voor het uitgangsalarm. De alarmtijd en dagen van de week kunnen worden ingesteld op regel 551 en 552. Jed Hodson 2014 */byte dayOfWeek=4;byte dayOfMonth=1;#include  //SPI.h moet worden opgenomen als DMD wordt geschreven door SPI (de IDE klaagt anders) #include  //#include  //#include "SystemFont5x7.h"#include "Wire.h"#define DS1307_I2C_ADDRESS 0x68int AlarmSetPin =2;int SnoozePin =3;int Alarm =4;int AlarmSet =0;int Snooze =0;// Converteer normale decimale getallen naar binair gecodeerde decimalbyte decToBcd(byte val){ return ( (val/10*16) + (val%10) );}// Converteer binair gecodeerde decimalen naar normale decimale getallenbyte bcdToDec(byte val){ return ( (val/16*10) + (val%16));}// 1) Stelt de datum en tijd in op de ds1307// 2) Start de klok// 3) Stelt de uurmodus in op 24-uurs klok// Gaat ervan uit dat u geldige getallen passeert ongeldig setDateDs1307 (byte seconde, // 0-59byte minuut, // 0-59byte uur, // 1-23byte dayOfWeek, // 1-7byte dayOfMonth, // 1-28/29/30/31byte maand, // 1-12byte jaar) // 0-99{ Wire.beginTransmission(DS1307_I2C_AD JURK); Draad.schrijven(0); Wire.write (decToBcd (tweede)); // 0 tot bit 7 start de klok Wire.write(decToBcd(minute)); Wire.write(decToBcd(uur)); Wire.write(decToBcd(dayOfWeek)); Wire.write(decToBcd(dayOfMonth)); Wire.write(decToBcd(maand)); Wire.write(decToBcd(jaar)); Wire.write(00010000); // stuurt 0x10 (hex) 00010000 (binair) naar controleregister - schakelt blokgolf Wire.endTransmission();}// Haalt de datum en tijd op uit de ds1307void getDateDs1307(byte *second,byte *minute,byte *hour, byte *dayOfWeek,byte *dayOfMonth,byte *maand,byte *jaar){ // Reset de registeraanwijzer Wire.beginTransmission (DS1307_I2C_ADDRESS); Draad.schrijven(0); Wire.endTransmission(); Wire.requestFrom (DS1307_I2C_ADDRESS, 7); // Een paar hiervan hebben maskers nodig omdat bepaalde bits controlebits zijn *second =bcdToDec(Wire.read() &0x7f); *minuut =bcdToDec(Wire.read()); *uur =bcdToDec(Wire.read() &0x3f); // Moet dit wijzigen als 12 uur am/pm *dayOfWeek =bcdToDec(Wire.read()); *dayOfMonth =bcdToDec(Wire.read()); *maand =bcdToDec(Wire.read()); *year =bcdToDec(Wire.read());}//Start de DMD-bibliotheek op als dmdDMD dmd(1,1);void ScanDMD(){ dmd.scanDisplayBySPI();}void setup(){ byte seconde, minuut , uur, dayOfWeek, dayOfMonth, maand, jaar; // initialiseer het interrupt/CPU-gebruik van TimerOne dat wordt gebruikt om het display te scannen en te vernieuwen Timer1.initialize( 5000); // periode in microseconden om ScanDMD aan te roepen. Alles langer dan 5000 (5ms) en je kunt flikkering zien. Timer1.attachInterrupt (ScanDMD); // bevestig de Timer1-interrupt aan ScanDMD die naar dmd.scanDisplayBySPI () gaat // clear/init de DMD-pixels in RAM dmd.clearScreen (true); //true is normaal (alle pixels uit), false is negatief (alle pixels aan) dmd.selectFont (System5x7); Draad.begin(); // Wijzig deze waarden in wat u uw klok wilt instellen. // U wilt waarschijnlijk uw klok maar één keer instellen en vervolgens // de setDateDs1307-aanroep verwijderen. seconde =0; minuut =35; uur =11; // gebruik 24-uurs tijd anders zijn dag/datum berekeningen uit dayOfWeek =1; dayOfMonth =23; maand =3; jaar =14; //uncommenteer de setDateDs1307-aanroep hieronder om de tijd in te stellen op bovenstaande intervallen. Onthoud dat als u de tijd instelt // u de onderstaande regel weer moet verwijderen, anders blijft de schets alleen op de ingestelde tijd. //setDateDs1307 (seconde, minuut, uur, dag van de week, dag van de maand, maand, jaar); pinMode (AlarmSetPin, INPUT_PULLUP); pinMode (SnoozePin, INPUT_PULLUP); pinMode (Alarm, UITGANG); digitalWrite(Alarm, LOW);}void drawDay()// toont dag van de week{ byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar; getDateDs1307(&seconde, &minuut, &uur, &dayOfWeek, &dayOfMonth, &maand, &jaar); switch (dayOfWeek) {geval 1:dmd.drawString (1,0, "Sun", 3, GRAPHICS_NORMAL); pauze; geval 2:dmd.drawString( 1,0, "Ma", 3, GRAPHICS_NORMAL ); pauze; geval 3:dmd.drawString( 1,0, "Di", 3, GRAPHICS_NORMAL ); pauze; geval 4:dmd.drawString( 1,0, "wo", 3, GRAPHICS_NORMAL ); pauze; geval 5:dmd.drawString( 1,0, "Do", 3, GRAPHICS_NORMAL ); pauze; geval 6:dmd.drawString( 1,0, "Vrij", 3, GRAPHICS_NORMAL ); pauze; geval 7:dmd.drawString( 1,0, "Zat", 3, GRAPHICS_NORMAL ); pauze; }}void drawDate()// toont numerieke datum{ byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar; getDateDs1307(&seconde, &minuut, &uur, &dayOfWeek, &dayOfMonth, &maand, &jaar); switch (dayOfMonth) { geval 1:dmd.drawString (20,0, "01", 2, GRAPHICS_NORMAL); pauze; geval 2:dmd.drawString( 20,0, "02", 2, GRAPHICS_NORMAL ); pauze; geval 3:dmd.drawString( 20,0, "03", 2, GRAPHICS_NORMAL ); pauze; geval 4:dmd.drawString( 20,0, "04", 2, GRAPHICS_NORMAL ); pauze; geval 5:dmd.drawString( 20,0, "05", 2, GRAPHICS_NORMAL ); pauze; geval 6:dmd.drawString( 20,0, "06", 2, GRAPHICS_NORMAL ); pauze; geval 7:dmd.drawString( 20,0, "07", 2, GRAPHICS_NORMAL ); pauze; geval 8:dmd.drawString( 20,0, "08", 2, GRAPHICS_NORMAL ); pauze; geval 9:dmd.drawString( 20,0, "09", 2, GRAPHICS_NORMAL ); pauze; geval 10:dmd.drawString( 20,0, "10", 2, GRAPHICS_NORMAL ); pauze; geval 11:dmd.drawString( 20,0, "11", 2, GRAPHICS_NORMAL ); pauze; geval 12:dmd.drawString( 20,0, "12", 2, GRAPHICS_NORMAL ); pauze; geval 13:dmd.drawString( 20,0, "13", 2, GRAPHICS_NORMAL ); pauze; geval 14:dmd.drawString( 20,0, "14", 2, GRAPHICS_NORMAL ); pauze; geval 15:dmd.drawString( 20,0, "15", 2, GRAPHICS_NORMAL ); pauze; geval 16:dmd.drawString( 20,0, "16", 2, GRAPHICS_NORMAL ); pauze; geval 17:dmd.drawString( 20,0, "17", 2, GRAPHICS_NORMAL ); pauze; geval 18:dmd.drawString( 20,0, "18", 2, GRAPHICS_NORMAL ); pauze; geval 19:dmd.drawString( 20,0, "19", 2, GRAPHICS_NORMAL ); pauze; geval 20:dmd.drawString( 20,0, "20", 2, GRAPHICS_NORMAL ); pauze; geval 21:dmd.drawString( 20,0, "21", 2, GRAPHICS_NORMAL ); pauze; geval 22:dmd.drawString( 20,0, "22", 2, GRAPHICS_NORMAL ); pauze; geval 23:dmd.drawString( 20,0, "23", 2, GRAPHICS_NORMAL ); pauze; geval 24:dmd.drawString( 20,0, "24", 2, GRAPHICS_NORMAL ); pauze; geval 25:dmd.drawString( 20,0, "25", 2, GRAPHICS_NORMAL ); pauze; geval 26:dmd.drawString( 20,0, "26", 2, GRAPHICS_NORMAL ); pauze; geval 27:dmd.drawString( 20,0, "27", 2, GRAPHICS_NORMAL ); pauze; geval 28:dmd.drawString( 20,0, "28", 2, GRAPHICS_NORMAL ); pauze; geval 29:dmd.drawString( 20,0, "29", 2, GRAPHICS_NORMAL ); pauze; geval 30:dmd.drawString( 20,0, "30", 2, GRAPHICS_NORMAL ); pauze; geval 31:dmd.drawString( 20,0, "31", 2, GRAPHICS_NORMAL ); pauze; }}void drawHour()// tekent de uurwijzer{ byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar; getDateDs1307(&seconde, &minuut, &uur, &dayOfWeek, &dayOfMonth, &maand, &jaar); if (uur>12) //Verwijder dit if-commando voor 24 uur tijd { hour=hour-12; // Dit is een 12-uursklok } switch (uur) { case 1:dmd.drawString (1,8, "01", 2, GRAPHICS_NORMAL); pauze; geval 2:dmd.drawString( 1,8, "02", 2, GRAPHICS_NORMAL ); pauze; geval 3:dmd.drawString( 1,8, "03", 2, GRAPHICS_NORMAL ); pauze; geval 4:dmd.drawString( 1,8, "04", 2, GRAPHICS_NORMAL ); pauze; geval 5:dmd.drawString( 1,8, "05", 2, GRAPHICS_NORMAL ); pauze; geval 6:dmd.drawString( 1,8, "06", 2, GRAPHICS_NORMAL ); pauze; geval 7:dmd.drawString( 1,8, "07", 2, GRAPHICS_NORMAL ); pauze; geval 8:dmd.drawString( 1,8, "08", 2, GRAPHICS_NORMAL ); pauze; geval 9:dmd.drawString( 1,8, "09", 2, GRAPHICS_NORMAL ); pauze; geval 10:dmd.drawString( 1,8, "10", 2, GRAPHICS_NORMAL ); pauze; geval 11:dmd.drawString( 1,8, "11", 2, GRAPHICS_NORMAL ); pauze; geval 12:dmd.drawString( 1,8, "12", 2, GRAPHICS_NORMAL ); pauze; geval 13:dmd.drawString( 1,8, "13", 2, GRAPHICS_NORMAL ); pauze; geval 14:dmd.drawString( 1,8, "14", 2, GRAPHICS_NORMAL ); pauze; geval 15:dmd.drawString( 1,8, "15", 2, GRAPHICS_NORMAL ); pauze; geval 16:dmd.drawString( 1,8, "16", 2, GRAPHICS_NORMAL ); pauze; geval 17:dmd.drawString( 1,8, "17", 2, GRAPHICS_NORMAL ); pauze; geval 18:dmd.drawString( 1,8, "18", 2, GRAPHICS_NORMAL ); pauze; geval 19:dmd.drawString( 1,8, "19", 2, GRAPHICS_NORMAL ); pauze; geval 20:dmd.drawString( 1,8, "20", 2, GRAPHICS_NORMAL ); pauze; geval 21:dmd.drawString( 1,8, "21", 2, GRAPHICS_NORMAL ); pauze; geval 22:dmd.drawString( 1,8, "22", 2, GRAPHICS_NORMAL ); pauze; geval 23:dmd.drawString( 1,8, "23", 2, GRAPHICS_NORMAL ); pauze; geval 24:dmd.drawString( 1,8, "24", 2, GRAPHICS_NORMAL ); pauze; }}void drawMinute(){ byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar; getDateDs1307(&seconde, &minuut, &uur, &dayOfWeek, &dayOfMonth, &maand, &jaar); switch (minuut) { case 0:dmd.drawString( 20,8, "00", 2, GRAPHICS_NORMAL); pauze; geval 1:dmd.drawString( 20,8, "01", 2, GRAPHICS_NORMAL ); pauze; geval 2:dmd.drawString( 20,8, "02", 2, GRAPHICS_NORMAL ); pauze; geval 3:dmd.drawString( 20,8, "03", 2, GRAPHICS_NORMAL ); pauze; geval 4:dmd.drawString( 20,8, "04", 2, GRAPHICS_NORMAL ); pauze; geval 5:dmd.drawString( 20,8, "05", 2, GRAPHICS_NORMAL ); pauze; geval 6:dmd.drawString( 20,8, "06", 2, GRAPHICS_NORMAL ); pauze; geval 7:dmd.drawString( 20,8, "07", 2, GRAPHICS_NORMAL ); pauze; geval 8:dmd.drawString( 20,8, "08", 2, GRAPHICS_NORMAL ); pauze; geval 9:dmd.drawString( 20,8, "09", 2, GRAPHICS_NORMAL ); pauze; geval 10:dmd.drawString( 20,8, "10", 2, GRAPHICS_NORMAL ); pauze; geval 11:dmd.drawString( 20,8, "11", 2, GRAPHICS_NORMAL ); pauze; geval 12:dmd.drawString( 20,8, "12", 2, GRAPHICS_NORMAL ); pauze; geval 13:dmd.drawString( 20,8, "13", 2, GRAPHICS_NORMAL ); pauze; geval 14:dmd.drawString( 20,8, "14", 2, GRAPHICS_NORMAL ); pauze; geval 15:dmd.drawString( 20,8, "15", 2, GRAPHICS_NORMAL ); pauze; geval 16:dmd.drawString( 20,8, "16", 2, GRAPHICS_NORMAL ); pauze; geval 17:dmd.drawString( 20,8, "17", 2, GRAPHICS_NORMAL ); pauze; geval 18:dmd.drawString( 20,8, "18", 2, GRAPHICS_NORMAL ); pauze; geval 19:dmd.drawString( 20,8, "19", 2, GRAPHICS_NORMAL ); pauze; geval 20:dmd.drawString( 20,8, "20", 2, GRAPHICS_NORMAL ); pauze; geval 21:dmd.drawString( 20,8, "21", 2, GRAPHICS_NORMAL ); pauze; geval 22:dmd.drawString( 20,8, "22", 2, GRAPHICS_NORMAL ); pauze; geval 23:dmd.drawString( 20,8, "23", 2, GRAPHICS_NORMAL ); pauze; geval 24:dmd.drawString( 20,8, "24", 2, GRAPHICS_NORMAL ); pauze; geval 25:dmd.drawString( 20,8, "25", 2, GRAPHICS_NORMAL ); pauze; geval 26:dmd.drawString( 20,8, "26", 2, GRAPHICS_NORMAL ); pauze; geval 27:dmd.drawString( 20,8, "27", 2, GRAPHICS_NORMAL ); pauze; geval 28:dmd.drawString( 20,8, "28", 2, GRAPHICS_NORMAL ); pauze; geval 29:dmd.drawString( 20,8, "29", 2, GRAPHICS_NORMAL ); pauze; geval 30:dmd.drawString( 20,8, "30", 2, GRAPHICS_NORMAL ); pauze; geval 31:dmd.drawString( 20,8, "31", 2, GRAPHICS_NORMAL ); pauze; geval 32:dmd.drawString( 20,8, "32", 2, GRAPHICS_NORMAL ); pauze; geval 33:dmd.drawString( 20,8, "33", 2, GRAPHICS_NORMAL ); pauze; geval 34:dmd.drawString( 20,8, "34", 2, GRAPHICS_NORMAL ); pauze; geval 35:dmd.drawString( 20,8, "35", 2, GRAPHICS_NORMAL ); pauze; geval 36:dmd.drawString( 20,8, "36", 2, GRAPHICS_NORMAL ); pauze; geval 37:dmd.drawString( 20,8, "37", 2, GRAPHICS_NORMAL ); pauze; geval 38:dmd.drawString( 20,8, "38", 2, GRAPHICS_NORMAL ); pauze; geval 39:dmd.drawString( 20,8, "39", 2, GRAPHICS_NORMAL); pauze; geval 40:dmd.drawString( 20,8, "40", 2, GRAPHICS_NORMAL ); pauze; geval 41:dmd.drawString( 20,8, "41", 2, GRAPHICS_NORMAL ); pauze; geval 42:dmd.drawString( 20,8, "42", 2, GRAPHICS_NORMAL ); pauze; geval 43:dmd.drawString( 20,8, "43", 2, GRAPHICS_NORMAL ); pauze; geval 44:dmd.drawString( 20,8, "44", 2, GRAPHICS_NORMAL ); pauze; geval 45:dmd.drawString( 20,8, "45", 2, GRAPHICS_NORMAL ); pauze; geval 46:dmd.drawString( 20,8, "46", 2, GRAPHICS_NORMAL ); pauze; geval 47:dmd.drawString( 20,8, "47", 2, GRAPHICS_NORMAL ); pauze; geval 48:dmd.drawString( 20,8, "48", 2, GRAPHICS_NORMAL ); pauze; geval 49:dmd.drawString( 20,8, "49", 2, GRAPHICS_NORMAL ); pauze; geval 50:dmd.drawString( 20,8, "50", 2, GRAPHICS_NORMAL ); pauze; geval 51:dmd.drawString( 20,8, "51", 2, GRAPHICS_NORMAL ); pauze; geval 52:dmd.drawString( 20,8, "52", 2, GRAPHICS_NORMAL ); pauze; geval 53:dmd.drawString( 20,8, "53", 2, GRAPHICS_NORMAL ); pauze; geval 54:dmd.drawString( 20,8, "54", 2, GRAPHICS_NORMAL ); pauze; geval 55:dmd.drawString( 20,8, "55", 2, GRAPHICS_NORMAL ); pauze; geval 56:dmd.drawString( 20,8, "56", 2, GRAPHICS_NORMAL ); pauze; geval 57:dmd.drawString( 20,8, "57", 2, GRAPHICS_NORMAL ); pauze; geval 58:dmd.drawString( 20,8, "58", 2, GRAPHICS_NORMAL ); pauze; geval 59:dmd.drawString( 20,8, "59", 2, GRAPHICS_NORMAL ); pauze; }}void drawCol(){ dmd.drawString( 14,8, ":", 1, GRAPHICS_NORMAL );}void runClock(){ drawDay(); trekkingDatum(); drawHour(); tekenKol(); tekenMinuut(); CheckAlarm();}void AlarmSequence() { drawDay(); trekkingDatum(); drawHour(); tekenKol(); tekenMinuut(); digitalWrite (Alarm, HOOG); vertraging (1000); dmd.clearScreen (waar); digitalWrite (Alarm, LAAG); vertraging (1000);} ongeldig CheckAlarm () { AlarmSet =digitalRead (AlarmSetPin); Snooze =digitalRead (SnoozePin); byte seconde, minuut, uur, dayOfWeek, dayOfMonth, maand, jaar; getDateDs1307(&seconde, &minuut, &uur, &dayOfWeek, &dayOfMonth, &maand, &jaar); /* Alleen alarm activeren als het een hieronder vermelde dag is. Dit kan worden gewijzigd door de getallen te wijzigen in een van de volgende getallen:1 =zondag 2 =maandag 3 =dinsdag 4 =woensdag 5 =donderdag 6 =vrijdag 7 =zaterdag */ if(dayOfWeek ==2 || dayOfWeek ==3 | | dayOfWeek ==4 || dayOfWeek ==5 ||dayOfWeek ==6) {//Dit zijn dagen TOEGESTAAN om alarm te rinkelen if(uur ==18 &&minuut ==05) { //Stel hier de tijd in (in 24 uur Tijd) if (AlarmSet ==LAAG) {//Als alarmpin is ingeschakeld Snooze =digitalRead (SnoozePin); while (Snooze ==HOOG) {Snooze =digitalRead (SnoozePin); AlarmSequence(); } } } }}void loop(){ runClock(); }

Schema's


Productieproces

  1. Koekoeksklok
  2. Arduino pov vision-klok
  3. DIY eenvoudigste IV9 Numitron-klok met Arduino
  4. Eenvoudige Word Clock (Arduino)
  5. Arduino klok met islamitische gebedstijden
  6. Arduino Spybot
  7. FlickMote
  8. Zelfgemaakte tv B-Gone
  9. Arduino Temp. Monitor en realtimeklok met 3.2-weergave
  10. Berlijnse klok
  11. Eenvoudige wekker met DS1302 RTC