RTC Clock NodeMCU

RTC Clock NodeMCU

This page is to Setup and Config RTC Clock NodeMCU

Hardware and Software

Hardware

RTC Clock NodeMCU

Software

ESplorer

Sanki Note

    • I2C -- SDA : D3 (GPIO 0 ) / SCL D4 (GPIO 2)

Examples

This example is dsl1307_Lib.lua

Examples

This example is AT24C Library (Lua) -- AT24CXXX_Test.lua

            1. local Nom_du_module = ...

            2. local M = {}

            3. _G[Nom_du_module] = M

            4. local function decToBcd(valeur)

            5. return((valeur/10*16) + (valeur%10))

            6. end

            7. local function bcdToDec(valeur)

            8. return((valeur/16*10) + (valeur%16))

            9. end

            10. function M.init(d, l, a)

            11. sda = d

            12. scl = l

            13. device = a

            14. if (i2c.setup(id, sda, scl, i2c.SLOW)) ~= 0 then print("Connect I2C RTC")

            15. elseif (i2c.setup(id, sda, scl, i2c.SLOW)) == 0 then print("Erreur dans la configuration du port I2C!") return nil

            16. end

            17. end

            18. function M.obtenir_heure()

          1. -- Configuration ------------------------------------------------

            1. i2c.start(id)

            2. i2c.address(id, device, i2c.TRANSMITTER)

          2. require("ds1307_Lib")

            1. i2c.write(id, 0x00)

            2. i2c.stop(id)

          1. ds1307_Lib.init(3, 4, 0x68)

            1. i2c.start(id)

          1. seconde = 00

            1. i2c.address(id, device, i2c.RECEIVER)

          1. minute = 27

            1. local c = i2c.read(id, 7)

          1. heure = 15

            1. i2c.stop(id)

          1. jour = 5

          2. date = 06

            1. return bcdToDec(tonumber(string.byte(c, 1))),

          1. mois = 07

          2. annee =16

            1. bcdToDec(tonumber(string.byte(c, 2))),

            2. bcdToDec(tonumber(string.byte(c, 3))),

          1. ds1307_Lib.configurer_heure(seconde, minute, heure, jour, date, mois, annee)

            1. bcdToDec(tonumber(string.byte(c, 4))),

            2. bcdToDec(tonumber(string.byte(c, 5))),

          1. ds1307_Lib = nil

            1. bcdToDec(tonumber(string.byte(c, 6))),

          1. package.loaded["ds1307_Lib"]=nil

            1. bcdToDec(tonumber(string.byte(c, 7)))

          1. -- Example ------------------------------------------------------------

            1. end

          1. require("ds1307_Lib")

            1. function M.configurer_heure(seconde, minute, heure, jour, date, mois, annee)

            2. ds1307_Lib.init(3, 4, 0x68)

            3. i2c.start(id)

            4. second, minute, hour, day, date, month, year = ds1307_Lib.obtenir_heure();

            5. i2c.address(id, device, i2c.TRANSMITTER)

            6. print(string.format("Date and Time : %s:%2s:%2s %2s/%2s/%s", hour, minute, second, date, month, year))

            7. i2c.write(id, 0x00)

            8. i2c.write(id, decToBcd(seconde))

            9. i2c.write(id, decToBcd(minute))

            10. ds1307_Lib = nil

            11. i2c.write(id, decToBcd(heure))

            12. package.loaded["ds1307_Lib"]=nil

            13. i2c.write(id, decToBcd(jour))

            14. i2c.write(id, decToBcd(date))

            15. i2c.write(id, decToBcd(mois))

            16. i2c.write(id, decToBcd(annee))

            17. i2c.stop(id)

            18. end

            19. return M