FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Gamit ang DS1307 RTC kasama ang Raspberry Pi

Using the DS1307 RTC with the Raspberry Pi

The DS1307 Real-Time Clock (RTC) module ay nagbibigay-daan sa Raspberry Pi na subaybayan ang oras kahit na ito ay nakapatay. Gagabayan ka ng gabay na ito sa pag-set up ng DS1307 RTC module gamit ang Raspberry Pi gamit ang I2C protocol.


Ang mga Kakailanganin Mo

  1. Raspberry Pi (anumang modelo na may suporta sa GPIO at I2C, hal., Pi 3, Pi 4)
  2. DS1307 RTC Module
  3. Bateryang CR2032 (para mapanatili ang oras kapag naka-off)
  4. Breadboard at mga Jumper Wire
  5. Naka-install ang Python sa Raspberry Pi

Step 1: Pag-wire sa DS1307 sa Raspberry Pi

Ang DS1307 nakikipag-usap sa pamamagitan ng I2C, kaya ikinonekta namin ito sa mga I2C pin ng Raspberry Pi.

Mga Koneksyon (I2C Mode)

DS1307 Pin Raspberry Pi Pin
VCC 3.3V o 5V (Pin 1 o 2)
GND Ground (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Hakbang 2: I-enable ang I2C sa Raspberry Pi

  1. Buksan ang tool sa pag-configure ng Raspberry Pi:
    sudo raspi-config
    
  2. Pumunta sa Mga Opsyon sa Interface > I2C at i-enable ito.
  3. I-reboot ang Raspberry Pi:
    sudo reboot
    
  4. I-verify na ang DS1307 ay natukoy sa I2C bus:
    sudo i2cdetect -y 1
    
    Ang DS1307 dapat lumabas sa address 0x68.

Hakbang 3: I-install ang mga Kinakailangang Libraryo

  1. I-update ang package list ng iyong Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. I-install ang mga kinakailangang I2C tool at Python library:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ds1307
    

Hakbang 4: Pag-set at Pagbasa ng Oras sa DS1307

Python Code para I-set ang Petsa at Oras

Patakbuhin ang script na ito nang isang beses upang i-set ang RTC clock.

python
import time
import board
import busio
import adafruit_ds1307

# I-initialize ang I2C bus at DS1307
python
i2c = busio.I2C(board.SCL, board.SDA)
rtc = adafruit_ds1307.DS1307python
(i2c)

# I-set ang petsa at oras (Taon, Buwan, Araw, Oras, Minuto, Segundo, Araw sa Isang Linggo, DST)
rtc.datetime = time.struct_time((2025, 1, 1, 12, 0, 0, 0, -1, -1))

print("Naitakda na ang Petsa at Oras ng RTC!")

Python Code para Basahin ang Oras mula sa DS1307

Pagkatapos i-set ang oras, gamitin ang script na ito para basahin ang kasalukuyang petsa at oras.

python
import time
import board
import busio
import adafruit_ds1307

# I-initialize ang I2C bus at DS1307
python
i2c = busio.I2C(board.SCL, board.SDA)
rtc = adafruit_ds1307.DS1307python
(i2c)

while True:
    current_time = rtc.datetime
    print(f"Petsa: {current_time.tm_year}-{current_time.tm_mon:02d}-{current_time.tm_mday:02d}")
    print(f"Oras: {current_time.tm_hour:02d}:{current_time.tm_min:02d}:{current_time.tm_sec:02d}")
    time.sleep(1)

Hakbang 5: Pagsi-sync DS1307 gamit ang Raspberry Pi System Clock

Para i-sync ang DS1307 Oras ng RTC sa oras ng Raspberry Pi system:

  1. Read the DS1307 Oras ng RTC at i-set ito bilang oras ng system:
    sudo hwclock -r
    sudo hwclock -s
    
  2. I-set ang DS1307 Oras ng RTC mula sa oras ng sistema ng Raspberry Pi:
    sudo hwclock -w
    

Hakbang 6: Mga Aplikasyon ng DS1307 RTC Module

  1. Pagpapanatili ng Oras sa mga Headless na Raspberry Pi Device pag-log ng data mga proyekto.
  2. Mga Sistema ng Home Automation – Siguraduhing tumpak ang mga naka-iskedyul na event kahit pagkatapos mawalan ng kuryente.
  3. Mga Proyekto sa IoT – Gamitin ang DS1307 para sa pagtatatak ng oras sa data sa mga disconnected na environment.
  4. Mga Weather Station mga rekord ng temperatura at kahalumigmigan.

Pag-troubleshoot

  1. DS1307 Not Detected (i2cdetect hindi lumalabas 0x68)

    • Siguraduhing ang Mga pin ng SDA/SCL ay maayos ang pagkakakonekta.
    • I-verify na Naka-enable ang I2C gamit ang sudo raspi-config.
  2. Maling Pagbasa ng Petsa/Oras

    • Tumakbo sudo hwclock -r upang tingnan ang hardware clock.
    • sudo hwclock -w.
  3. Hindi Nananatili ang RTC Time Pagkatapos I-power Off

    • Siguraduhing ang CR2032 na baterya ay naka-install nang tama.
    • Palitan ang baterya kung ito ay mahina o patay na.

Konklusyon

Ang DS1307 RTC module nagbibigay ng tumpak at real-time na pagsubaybay para sa mga proyekto ng Raspberry Pi, kahit na nakapatay ito. Sa pamamagitan ng pagsunod sa gabay na ito, maaari mong isama ang RTC functionality sa Mga aplikasyon sa IoT, automation, at data logging. 🚀

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Mag -iwan ng komento