1я╕ПтГг рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ
- DS3231 рдЖрд░рдЯреАрд╕реА рдореЙрдбреНрдпреВрд▓: рд╕рднреА рдЯрд╛рдЗрдордХреАрдк рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИpinрдЬреА рдлрд╝рдВрдХреНрд╢рди.
- microcontroller: рдЖрд░рдЯреАрд╕реА рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдбреБрдЗрдиреЛ рдпрд╛ рдХрд┐рд╕реА рд╕рдорд╛рди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдкреНрд░рджрд░реНрд╢рди: рдЖрдорддреМрд░ рдкрд░, рд╕рдордп рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 1602 рдПрд▓рд╕реАрдбреА рдпрд╛ рдУрдПрд▓рдИрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдЬреИрд╕реЗ рдПрд▓рд╕реАрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдмреИрдЯрд░реА: рдореБрдЦреНрдп рдмрд┐рдЬрд▓реА рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ RTC рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП CR2032 рдЬреИрд╕реА рдХреЙрдЗрди рд╕реЗрд▓ рдмреИрдЯрд░реАред
- рддрд╛рд░реЛрдВ: рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рдЖрд░рдЯреАрд╕реА рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдПред
- рдмреНрд░реЗрдб рдмреЛрд░реНрдб: рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреАpinрдЬреА рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛.
2я╕ПтГг рд╕рд░реНрдХрд┐рдЯ рд╕реЗрдЯрдЕрдк
DS3231 рдХреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рдЬреИрд╕реЗ, Arduino) рд╕реЗ рдЬреЛрдбрд╝рдирд╛
- VCC Arduino рдХреЛ 5V (рдпрд╛ 3.3V рдпрджрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реЛ)
- GND Arduino рдХреЛ GND
- SCL (рд╕реАрд░рд┐рдпрд▓ рдХреНрд▓реЙрдХ рд▓рд╛рдЗрди) рд╕реЗ Arduino A5 (рдКрдиреЛ рдкрд░) рдпрд╛ рдПрд╕.рд╕реА.рдПрд▓. pin рдЕрдиреНрдп рдмреЛрд░реНрдбреЛрдВ рдкрд░
- SDA (рд╕реАрд░рд┐рдпрд▓ рдбреЗрдЯрд╛ рд▓рд╛рдЗрди) рдХреЛ Arduino рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ A4 (рдКрдиреЛ рдкрд░) рдпрд╛ рдПрд╕рдбреАрдП pin рдЕрдиреНрдп рдмреЛрд░реНрдбреЛрдВ рдкрд░
- RSI рд╡рд░реНрдЧ (рд╕реНрдХреНрд╡реЗрд░ рд╡реЗрд╡) pin рдпрджрд┐ рдЗрд╕реЗ рдЗрдВрдЯрд░рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЕрд╕рдВрдмрджреНрдз рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛
- рдпрджрд┐ I2C LCD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ LCD рдХреЗ SDA рдФрд░ SCL рдХреЛ RTC рдХреЗ рд╕рдорд╛рди рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
- рдПрд▓рд╕реАрдбреА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ VCC рдФрд░ GND Arduino рдХреЗ 5V рдФрд░ GND, рдХреНрд░рдорд╢рдГред
3я╕ПтГг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк
Arduino рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adjust the LCD I2C address if different
void setup() {
Serial.begin(9600);
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// The following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
lcd.init();
lcd.backlight();
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(0, 0);
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.day(), DEC);
lcd.setCursor(0, 1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
delay(1000);
}
4я╕ПтГг рдЕрдВрддрд┐рдо рдЕрд╕реЗрдВрдмрд▓реА
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдШрдЯрдХреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреЗрд╢реЗрд╡рд░ рдЙрдкрд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Arduino, RTC рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдЙрдкрдпреБрдХреНрдд рдЖрд╡рд░рдг рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред
рдпрд╣ рд╕реЗрдЯрдЕрдк рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдбрд┐рдЬрд┐рдЯрд▓ рдШрдбрд╝реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрд▓рд╛рд░реНрдо, рддрд╛рдкрдорд╛рди рдбрд┐рд╕реНрдкреНрд▓реЗ (DS3231 рдХреЗ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╛рд╣рд░реА рд╕рдордп рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред DS3231 рдХреА рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдФрд░ рдмреИрдЯрд░реА рдмреИрдХрдЕрдк рдХреНрд╖рдорддрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╕рдордп рдХреА рдмрдЪрдд рд╣реЛping рдореБрдЦреНрдп рдмрд┐рдЬрд▓реА рдХреЗ рдмрд┐рдирд╛ рднреА рдирд┐рд░реНрдмрд╛рдз рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред