-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
mprrpm
tag
válasz
JozsBiker
#8118
üzenetére
Én ezt javaslom:
#include <dcf77.h>
#if defined(__AVR__)
const uint8_t dcf77_analog_sample_pin = 5;
const uint8_t dcf77_sample_pin = A5; // A5 == d19
const uint8_t dcf77_inverted_samples = 1;
const uint8_t dcf77_analog_samples = 1;
// const uint8_t dcf77_pin_mode = INPUT; // disable internal pull up
const uint8_t dcf77_pin_mode = INPUT_PULLUP; // enable internal pull upconst uint8_t dcf77_monitor_led = 18; // A4 == d18
uint8_t ledpin(const uint8_t led) {
return led;
}
#else
const uint8_t dcf77_sample_pin = 53;
const uint8_t dcf77_inverted_samples = 0;// const uint8_t dcf77_pin_mode = INPUT; // disable internal pull up
const uint8_t dcf77_pin_mode = INPUT_PULLUP; // enable internal pull upconst uint8_t dcf77_monitor_led = 19;
uint8_t ledpin(const uint8_t led) {
return led<14? led: led+(54-14);
}
#endifuint8_t sample_input_pin() {
const uint8_t sampled_data =
#if defined(__AVR__)
dcf77_inverted_samples ^ (dcf77_analog_samples? (analogRead(dcf77_analog_sample_pin) > 200)
: digitalRead(dcf77_sample_pin));
#else
dcf77_inverted_samples ^ digitalRead(dcf77_sample_pin);
#endifdigitalWrite(ledpin(dcf77_monitor_led), sampled_data);
return sampled_data;
}void setup() {
using namespace Clock;Serial.begin(9600);
Serial.println();
Serial.println(F("Simple DCF77 Clock V3.1.1"));
Serial.println(F("(c) Udo Klein 2016"));
Serial.println(F("www.blinkenlight.net"));
Serial.println();
Serial.print(F("Sample Pin: ")); Serial.println(dcf77_sample_pin);
Serial.print(F("Sample Pin Mode: ")); Serial.println(dcf77_pin_mode);
Serial.print(F("Inverted Mode: ")); Serial.println(dcf77_inverted_samples);
#if defined(__AVR__)
Serial.print(F("Analog Mode: ")); Serial.println(dcf77_analog_samples);
#endif
Serial.print(F("Monitor Pin: ")); Serial.println(ledpin(dcf77_monitor_led));
Serial.println();
Serial.println();
Serial.println(F("Initializing..."));pinMode(ledpin(dcf77_monitor_led), OUTPUT);
pinMode(dcf77_sample_pin, dcf77_pin_mode);DCF77_Clock::setup();
DCF77_Clock::set_input_provider(sample_input_pin);// Wait till clock is synced, depending on the signal quality this may take
// rather long. About 5 minutes with a good signal, 30 minutes or longer
// with a bad signal
for (uint8_t state = Clock::useless;
state == Clock::useless || state == Clock::dirty;
state = DCF77_Clock::get_clock_state()) {// wait for next sec
Clock::time_t now;
DCF77_Clock::get_current_time(now);// render one dot per second while initializing
static uint8_t count = 0;
Serial.print('.');
++count;
if (count == 60) {
count = 0;
Serial.println();
}
}
}void paddedPrint(BCD::bcd_t n) {
Serial.print(n.digit.hi);
Serial.print(n.digit.lo);
}void loop() {
Clock::time_t now;DCF77_Clock::get_current_time(now);
if (now.month.val > 0) {
switch (DCF77_Clock::get_clock_state()) {
case Clock::useless: Serial.print(F("useless ")); break;
case Clock::dirty: Serial.print(F("dirty: ")); break;
case Clock::synced: Serial.print(F("synced: ")); break;
case Clock::locked: Serial.print(F("locked: ")); break;
}
Serial.print(' ');Serial.print(F("20"));
paddedPrint(now.year);
Serial.print('-');
paddedPrint(now.month);
Serial.print('-');
paddedPrint(now.day);
Serial.print(' ');paddedPrint(now.hour);
Serial.print(':');
paddedPrint(now.minute);
Serial.print(':');
paddedPrint(now.second);Serial.print("+0");
Serial.print(now.uses_summertime? '2': '1');
Serial.println();
}
}
Ez tökéletesen működik, és innen tudod leszedni hozzá a cuccokat meg egy kis infót.
De ha ez nem tetszene akkor válogass ezek közül. (páran feldolgozták már ezt a témát)
Új hozzászólás Aktív témák
- ESET NOD32 Antivirus / Smart Security
- Azonnali informatikai kérdések órája
- Milyen routert?
- CADA, Polymobil, és más építőkockák
- Anglia - élmények, tapasztalatok
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Kínai és egyéb olcsó órák topikja
- Cyberpunk 2077
- Xiaomi 12X – kicsi a bors és hűvös
- További aktív témák...
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Toshiba Portege R930 - i5-3GEN I 4GB I 320GB I DVDRW I 13,3" HD I HDMI I Cam I W10 I Gari!
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 1TB SSD RTX 3070Ti 8GB Zalman T4 Plus Cooler Master 750W
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3497, 100% Akksi
- LG 34WQ500-B - 34" IPS LED - 2560x1080 Wide FHD - 100Hz 5ms - AMD FreeSync - HDR10
- 146 - 147 - 166 - 167 - 168 - 169 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
