Мазмұны:

Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: 3 қадам
Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: 3 қадам

Бейне: Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: 3 қадам

Бейне: Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: 3 қадам
Бейне: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Қараша
Anonim
Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату
Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату

Бұл нұсқаулық сізге Arduino мен Arduino сериялық қосылымын пайдаланатын шағын Java қосымшасын қолдана отырып, DS3231 нақты уақыттағы сағатты қалай орнату керектігін көрсетеді.

Бұл бағдарламаның негізгі логикасы:

1. Arduino сериялық сұрау жібереді.

2. Java бағдарламасы arduino қай күні/ай/сұрағанын қарайды және тиісті деректерді кері жібереді.

3. Барлық қажетті ақпарат жиналғаннан кейін arduino DS3231 -де деректерді сақтайды.

DS3231 RTC модулі

DS3231 RTC модулі - жоғары дәлдіктегі салыстырмалы түрде арзан RTC модулі. (жылына бірнеше минут)

Әртүрлі сорттар бар, олардың негізгі функционалдығы шамалы айырмашылықтармен бірдей.

Толық салыстыруды мына жерден табуға болады: DS323x Салыстыру | maximintegrated.com

DS3231 сатып алу: DS3231 | ebay.com

Мәліметтер кестесі: DS3231 мәліметтер парағы | maximintegrated.com

Мәліметтер парағы: DS1307 мәліметтер парағы | maximintegrated.com

Қажетті бөлшектер

1x Arduino (Nano, Uno, MEGA және т.

4x қосқыш сымдар

1x DS3231 модулі (DS1307 модулі)

1 -қадам: Сымдарды жалғау

Сымдар
Сымдар

DS3231 сымын жоғарыдағы суретте көрсетілгендей қосыңыз. Әрине, сіз оны тақтаны пайдаланбай -ақ жасай аласыз, бірақ бұл біршама нашар болады. Мен демонстрация үшін Arduino Nano қолдандым, бірақ Uno немесе MEGA да жұмыс істеуі керек. (Басқалар да жұмыс істеуі мүмкін, бірақ мен растауға жалқаумын)

  • Arduino -> DS3231
  • A4 -> SCL
  • A5 -> SDA
  • 5V -> VCC
  • GND -> GND

2 -қадам: Arduino коды

Arduino коды
Arduino коды

Төменнен.ino файлын жүктеп алып, оны Arduino -ға жүктеңіз (менің жағдайда нано).

Эскиздің дұрыс жұмыс істеуі үшін келесі кітапханалар орнатылуы қажет:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Ардуиноға кодты жүктеу туралы оқулықты мына жерден табуға болады (arduino.cc).

Arduino IDE -де кодтың дұрыс жіберілгенін тексеріңіз. (Жүктеу аяқталды)

Сіздің Arduino енді уақыт туралы ақпаратты алуға дайын

Кодты мына жерден жүктеңіз: DS3231TimeSync.zip (mediafire.com)

Дереккөзді мына жерден жүктеңіз: DS3231TimeSyncSRC.zip (mediafire.com)

GitHub репозиторийі: DS3213 RTC Time Sync (github.com)

Bitbucket репозиторийі: DS3231 RTC Time Sync (bitbucket.com)

3 -қадам: Java қосымшасы

Java қосымшасы
Java қосымшасы

1. Екі рет басу арқылы бұрын жүктелген «DS3231Sync.jar» іске қосыңыз

2. Ардуино портын сұрайтын шағын диалог ашылады

Егер сіздің arduino пайдаланатын порт туралы сенімді болмасаңыз, төменгі оң жақтағы Arduino IDE -ге қараңыз.

(Жоғарыдағы суреттерді қараңыз)

3. Басқа диалог ашылады және сізден уақыт белдеуінің ығысуын сұрайды

Есептеу сіздің компьютеріңіздің жергілікті уақытына қатысты. RTC жергілікті уақытқа орнату үшін +00: 00 енгізіңіз.

Белгілі бір форматта уақыт белдеуінің офсетін енгізу өте маңызды!

Жалпы формат +сағ: мм немесе -сс: мм. Әрқашан жетекші нөлдерді қосыңыз!

(Мысалы: -03: 00; -06: 00; +09: 00; +02: 30)

4. Java қосымшасы консоль шығысы бар шағын терезені іске қосады

«Уақытты орнату аяқталды» сияқты растау хабарларын қадағалаңыз.

Уақыт орнатылған процесс аяқталғаннан кейін код ағымдағы уақытты DS3231 -де әр 5 секунд сайын басып шығарады. Уақыттың дұрыс қойылғанын растай аласыз.

~ 20 секундтан кейін нәтиже шықпаса, ардуинодағы қалпына келтіру түймесін басып, қайтадан күтіңіз.

Егер ол әлі де жұмыс істемесе, Arduino -ның эскизін тексеріңіз және/немесе оны қайтадан жүктеңіз. (Маңызды: Arduino -ға жүктемес бұрын Java қосымшасындағы Портты жабыңыз; Әйтпесе ол сериялық портты блоктайды!) Содан кейін Java бағдарламасындағы қосылымды қалпына келтіріңіз.

(Java бағдарламасы ағымдағы күнді алу үшін LocalDateTime қолданады.)

Қазір уақыт белгіленген. Масайрау

Сізде уақытты шешуде қиындықтар туындаса, төменде түсініктеме беріңіз және log.txt файлыңызды (құмырамен бірдей қалтада) менімен бөлісіңіз. Көп рақмет!