Мазмуну:

Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу: 3 кадам
Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу: 3 кадам

Video: Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу: 3 кадам

Video: Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу: 3 кадам
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Июль
Anonim
Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу
Java (+-1s) менен DS3231 RTC (Real Time Clock) так, тез жана автоматташтырылган орнотуу

Бул Instructable сизге 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 Jumper Wires

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 колдонгон порт жөнүндө белгисиз болсоңуз, төмөнкү оң жактагы Arduino IDEге кайрылыңыз.

(Жогорудагы сүрөттөрдү караңыз)

3. Дагы бир диалог ачылат жана сизден убакыт алкагынын ордун сурайт

Офсет компьютериңиздин жергиликтүү убактысына салыштырмалуу. RTCти жергиликтүү убакытка коюу үчүн +00: 00 киргизиңиз.

Белгилүү бир форматта убакыт алкагына өтүү өтө маанилүү!

Жалпы формат +hh: mm же -hh: mm. Ар дайым алдыңкы нөлдөрдү кошуңуз!

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

4. Java тиркемеси консолу менен кичинекей терезени баштайт

Ырастоо билдирүүлөрүн карап туруңуз: "Убакыт коюлду"

Убакыт белгиленген процесс бүткөндө, код учурдагы убакытты DS3231ге 5 секунд сайын басып чыгарат. Убакыт туура коюлганын ырастай аласыз.

~ 20дан кийин эч кандай жыйынтык чыкпаса, ардуинодогу баштапкы абалга келтирүү баскычын басып, кайра күтө туруңуз.

Эгерде ал дагы эле иштебей жатса, Arduinoдогу эскизди текшериңиз жана/же кайра жүктөңүз. (Маанилүү: Arduinoго жүктөөдөн мурун Java тиркемесиндеги Портту жабыңыз; Болбосо ал сериялык портту бөгөйт!) Андан кийин Java программасындагы байланышты баштапкы абалга келтирүү.

(Java программасы учурдагы датаны алуу үчүн LocalDateTime колдонот.)

Азыр убакыт белгиленди. Көңүл ачуу

Убакытты белгилөөдө сизде кандайдыр бир чечилбеген кыйынчылыктар бар, төмөндө комментарий калтырыңыз жана log.txt файлыңызды (банка менен бир папкада) мени менен бөлүшүңүз. Чоң рахмат!