NeoPixel Clock - San Francisco
Автор: yekishh • Апрель 30, 2020 • Задача • 522 Слов (3 Страниц) • 344 Просмотры
NeoPixel Clock - San Francisco
Керекті құралдар [pic 1]
Құрылған модельдік макет
Модельдің мақсаты Ардуино аппаратын қосқанда жарық шам сағат тілімен жанады
[pic 2]
Результат
[pic 3]
Мына кодты ардуиноның сайтынан алдым
[pic 4]
[pic 5][pic 6][pic 7][pic 8]
void updateClock(void) {
// This gets called 24 times per second.
static int count = 0;
if (++count == 24) {
count = 0;
// Update the time display
if (++second >= 60) {
// Update the minute
if (++minute >= 60) {
minute = 0;
if (++hour >= 24) {
hour = 0;
}
}
second = 0;
// Draw the minute hand
drawMinuteHand();
}
}
if (!(count & 3)) {
drawHourHand(count >> 1);
// Update AM/PM
digitalWrite(AM_PM_PIN0, LOW);
digitalWrite(AM_PM_PIN1, (hour >= 12) ? HIGH : LOW);
}
}
ISR(TIMER2_COMPA_vect) {
static unsigned char count = 0;
// This interrupt is being called 125 times per second.
// Trigger a function call exactly 24 times per second using math:
count += 24;
if (count >= 125) {
count -= 125;
updateClock();
}
}
void setup() {
digitalWrite(AM_PM_PIN0, HIGH);
pinMode(AM_PM_PIN0, OUTPUT);
digitalWrite(AM_PM_PIN1, HIGH);
pinMode(AM_PM_PIN1, OUTPUT);
stripMinute.begin();
stripHour.begin();
stripMinute.show(); // Initialize all pixels to 'off'
stripHour.show(); // Initialize all pixels to 'off'
setupESP8266();
sychronizeTime();
drawMinuteHand();
// Set up timer2 to interrupt 125 times per second
TCCR2B = 0x00; //Disbale Timer2 while we set it up
...