- Megjött a Razer DeathAdder egerek legfrissebb nemzedéke
- Ismét minimalista miditorony érkezett a Fractal Design műhelyéből
- Alakul a SpaceX Starlink európai ellenfele
- Digital Fingerprinting: Így buktat le a böngésződ a neten - Tech Percek #18
- Prezentálta PCI Express 6.0-s SSD-vezérlőjét a Silicon Motion
- SoundBlaster X-Fi
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- Vezetékes FEJhallgatók
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- A partnerektől függ, hogy lesz-e Arc csúcs-VGA az aktuális generációban
- OLED monitor topik
- Ha a fejlesztőkön múlik, akkor nem tér vissza a GPU-s PhysX
- Apple MacBook
- Milyen monitort vegyek?
-
PROHARDVER!
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
- OHH! Dell Precision 7560 Tervező Vágó Laptop -70% 15,6" i7-11850H 32/1TB NVIDIA A3000 6GB FHD
- Asztali PC , i7 6700K , 1080 Ti 11GB , 32GB DDR4 , 500GB NVME , 500GB HDD
- Asztali PC , R5 8400F , RTX 3070 , 32GB DDR5 , 500GB NVME , 2TB HDD
- Legion Go 1TB
- Lenovo LOQ 15IRX9 - i5 13450HX, 16GB, RTX 4060 8G, 1TB M.2 (Gari: 2027.03.11.)
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- Keresünk dokkolókat
- BESZÁMÍTÁS! 2TB Crucial T500 NVMe SSD meghajtó garanciával hibátlan működéssel
- Xiaomi Redmi A3 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest