Свежие комментарии
    Благодарности: денежное общество и мойка авто

    Микроконтроллеры это просто. Проект часов с RTC без микросхемы RTC.

    В сети есть много проектов часов, как правило либо на ардуино с RTC микросхемой типа DS3231, что позволяет при выключении питания не сбрасываться времени, либо ESP8266 без микросхемы RTC, после выключения питания время обновляет из сети интернет. Мы будем делать часы без RTC микросхемы и без обновления через интернет, но после выключения питания время не будет сбрасываться.

    Но никакого чуда тут нет, в качестве микроконтроллера мы будем использовать STM32 который имеет встроенные RTC, схема расположения выводов STM32 представлена на рисунке

    Не смотря на то, что I2c1 и SPI1 может находиться на разных выводах в библиотеках по умолчанию i2c1 находиться на выводах PB_6 и PB_7, SPI1 слева на рисунке, Serial1 на PA9 и PA10 — эти выводы используются для прошивки загрузчика чтобы программировать из ArduinoIDE через USB порт STM32.

    Для работы часов RTC достаточно подключить батарейку 3 вольта (например CR2032) плюс к контакту Vbat (3VB), минус на GND, в проекте подключить библиотеку RTClock

    однако нам надо смотреть время, можно конечно это сделать через монитор порта или сделать индикацию времени светодиодом с помощью азбуки морзе, но мы будем выводить на LCD дисплей WHXXXX (у меня WH2002) через i2c PCF8574 в модуле FC-113, для этого нам надо подключить библиотеки:

    для работы с шиной i2c

    для работы с LCD дисплеем

    сразу укажем параметры LCD дисплея, у меня он по адресу 0x27, узнать по какому адресу можно либо прочитав даташит на PCF8574 либо воспользовавшись i2c сканером.

    у меня ещё имеется датчик температуры и давления BMP180, по этому я подключаю соответствующую библиотеку и задаю для него переменные

    В скетче я разделил вывод даты, времени и температуры в разные функции чтобы не занимать время для вывода например даты каждую секунду.

    Скетч имеет подробные комментарии, я не стал комментировать функции обработки времени и даты, записи и чтения с rtc часов, сделал комментирования только основных функций для возможности легкой модернизации скетча под свои дисплеи и использования других датчиков.

    После записи скетча в STM32 на экране должны появиться данные, если отключить питание и через некоторое время включить мы увидим что часы показывают правильное время и при отключенном питании RTC часы работали от батарейки.

    Скачать скетч.

    Вот так выглядит у меня конструкция.

    я сначала приклеил двухсторонним скотчем плату с STM32 на всю длину и у меня начали отставать сильно часы, переклеил приклеив сбоку под usb разъемом где нет резисторов и конденсаторов, часики стали работать как часы.

    Поделиться в соц. сетях

    Опубликовать в Facebook
    Опубликовать в Google Buzz
    Опубликовать в Google Plus
    Опубликовать в LiveJournal
    Опубликовать в Мой Мир
    Опубликовать в Одноклассники
    Опубликовать в Яндекс

    Оставить комментарий