Přeskočit obsah

RTC¤

Example project¤

Stačí kliknout na odkaz, otevře se nám VSCode a nabídne se nám možnost vytvořit projekt z připraveného balíčku.

Vytvořit projekt

Tento příkaz stačí zadat do terminálu v adresáři, kde chceme mít projekt uložený. Změníme <PROJECT_NAME> na název projektu, který chceme vytvořit.

jac project-create --package https://2026.robotickytabor.cz/moduly/rtc/rtc-example.tar.gz <PROJECT_NAME>

Montឤ

Pokud nemáte sestavené RTC, můžete si jej sestavit podle návodu.

Knihovna¤

RTC neboli Real Time Clock je modul, který umožňuje měřit čas. Modul má na sobě slot na baterii, tedy i po odpojení od napájení si modul pamatuje aktuální čas. Modul je připojen k Saturnu přes uŠup a komunikuje přes I2C.

Knihovna ds3231 umožňuje číst a nastavovat čas na modulu. Pro komunikaci s modulem je potřeba inicializovat I2C sběrnici pomocí knihovny i2c. Je potřeba nastavit správné piny pro SDA a SCL.

Je potřeba nainstalovat:

  • ds3231
  • button
import { SaturnPins } from "saturn";
import { Button } from "button";
import { DS3231 } from "ds3231";
import { I2C1 } from "i2c";

const button = new Button(SaturnPins.BootBtn);

I2C1.setup({ sda: SaturnPins.uSupA.SDA, scl: SaturnPins.uSupA.SCL });
const rtc = new DS3231(I2C1);

setInterval(() => {
    const time = rtc.readTime();
    console.log(`Current date: ${time.year}-${time.month}-${time.date}`);
    console.log(`Current time: ${time.hours}:${time.minutes}:${time.seconds}`);
}, 1000);

button.on("click", () => {
  rtc.setTime({
    year: 2024,
    month: 6,
    date: 15,
    day: 6, 
    hours: 12,
    minutes: 0,
    seconds: 0
  })
});