ماژول ساعت RTC DS3231SN مناسب رزبری پای و آردوینو
ماژول DS3231 یک ماژول ساعت واقعی (RTC) با دقت بالا است که برای دقیقترین اندازهگیری زمان استفاده میشود. این ماژول از رقمگیری دودویی به همراه رمزگذاری BCD برای نگهداری زمان استفاده میکند و از رزولوشن 1 ثانیه برخوردار است. ماژول DS3231 شامل یک مدار RTC دقیق با دما کنترل داخلی است که قادر به نگهداری زمان، تاریخ و سال میلادی در حافظه داخلی آن است. همچنین دارای پینهای کنترلی مانند SDA (خط داده سریال) و SCL (خط ساعت سریال) است که برای ارتباط با میکروکنترلرها و بردهایی مانند Raspberry Pi استفاده میشود.
DS3231 دارای دقت بالایی است و با خطاهای بسیار کمی در اندازهگیری زمان عمل میکند. با مصرف انرژی کم، ماژول DS3231 مناسب برای پروژههایی است که نیازمند ماندگاری طولانی مدت با باتری هستند.ماژول DS3231 قابلیت تنظیم تاریخ، ساعت، دقیقه، ثانیه، روز، ماه و سال را دارد و میتوانید آن را به عنوان ساعت و تقویم دقیق در پروژههای خود استفاده کنید. DS3231 دارای حافظه داخلی است که اطلاعات زمان را در آن ذخیره میکند. حتی در صورت قطع برق، اطلاعات زمانی در حافظه محافظت میشود.
ویژگیهای DS3231
ماژول DS3231 شامل پینهای کنترلی مانند SDA (خط داده سریال) و SCL (خط ساعت سریال) است که از طریق آنها ارتباط با میکروکنترلر برقرار میشود. با استفاده از دستورات مخصوص، میتوانید زمان و تاریخ را در ماژول DS3231 تنظیم کنید. این قابلیت بسیار مفید است زیرا میتوانید ساعت را همگام سازی کنید و برنامهها و سیستمهایی که نیاز به زمان دقیق دارند، را به درستی اجرا کنید. ماژول DS3231 از فرمت BCD (Binary Coded Decimal) برای نگهداری دادههای زمانی استفاده میکند. دریافت دادههای زمانی از ماژول شامل تبدیل دادههای BCD به فرمت دیسمال میشود تا زمان به صورت قابل خواندن برای کاربران تبدیل شود. DS3231 قابلیت تنظیم هشدارهای زمانی را داراست که به شما اجازه میدهد در مواقع مشخصی از روز هشدارهایی را فعال کنید. همچنین، ماژول DS3231 میتواند به صورت خودکار در ساعت مشخصی در روز راهاندازی شود.
به همراه ماژول ساعت DS3231 چه اقلامی باید خریداری شود؟
- رزبری پای
- کابل فلت
- برد بورد
- باتری برای ماژول ساعت
راه اندازی ماژول ساعت ds3231
برای استفاده از ماژول Real-Time Clock (RTC) DS3231 با Raspberry Pi، شما باید مراحل زیر را دنبال کنید:
- پین VCC ماژول DS3231 را به پین 3.3 ولت Raspberry Pi وصل کنید.
- پین GND ماژول DS3231 را به هر پین زمینی در Raspberry Pi وصل کنید.
- پین SDA ماژول DS3231 را به پین SDA (GPIO 2) در Raspberry Pi وصل کنید.
- پین SCL ماژول DS3231 را به پین SCL (GPIO 3) در Raspberry Pi وصل کنید.
فعالسازی I2C در Raspberry Pi:
- در ترمینال Raspberry Pi باز کنید یا از طریق SSH به آن متصل شوید.
- دستور sudo raspi-config را اجرا کنید.
- به "گزینههای Interfacing" بروید و "I2C" را انتخاب کنید.
- "بله" را انتخاب کنید تا رابط I2C فعال شود.
- برای اعمال تغییرات، Raspberry Pi را راهاندازی مجدد کنید.
نصب بستههای لازم:
- با اجرای sudo apt update لیست بستهها را بهروزرسانی کنید.
- با اجرای sudo apt install python3-smbus i2c-tools بستههای مورد نیاز را نصب کنید.
تأیید اتصال:
- دستور sudo i2cdetect -y 1 را اجرا کنید. این دستور برای اسکن دستگاههای متصل شده به رابط I2C استفاده میشود.
- باید جدولی را با آدرس ماژول DS3231 (معمولاً 0x68) مشاهده کنید.
import smbus2
import time
# آدرس DS3231
address = 0x68
# باز کردن رابط I2C
bus = smbus2.SMBus(1)
def read_rtc():
# خواندن دادهها از RTC
raw_data = bus.read_i2c_block_data(address, 0x00, 7)
# تبدیل دادهها به مقادیر زمانی
second = bcd_to_decimal(raw_data[0] & 0x7F)
minute = bcd_to_decimal(raw_data[1])
hour = bcd_to_decimal(raw_data[2] & 0x3F)
day = bcd_to_decimal(raw_data[4])
month = bcd_to_decimal(raw_data[5])
year = bcd_to_decimal(raw_data[6]) + 2000
# بازگرداندن زمان به صورت رشته
return f"{year}-{month:02d}-{day:02d} {hour:02d}:{minute:02d}:{second:02d}"
def bcd_to_decimal(bcd):
return ((bcd >> 4) * 10) + (bcd & 0x0F)
# خواندن و چاپ زمان از RTC
print(read_rtc())
نصب کتابخانه پایتون:
شما میتوانید از کتابخانه smbus2 برای ارتباط با ماژول DS3231 استفاده کنید. آن را با اجرای pip install smbus2 نصب کنید.نوشتن یک اسکریپت پایتون برای خواندن زمان از RTC.یک فایل پایتون جدید، به عنوان مثال `rtc_test .py`، ایجاد کنید و آن را در یک ویرایشگر متن باز کنید.کد زیر را به فایل اضافه کنید:اسکریپت پایتون را ذخیره کنید و اجرا کنید:فایل rtc_test.py را ذخیره کنید.ترمینال را باز کنید و به دایرکتوریای که فایل ذخیره شده است بروید.دستور python3 rtc_test.py را اجرا کنید.باید زمان فعلی را در کنسول چاپ شده ببینید.این اسکریپت زمان را از ماژول DS3231 خوانده و آن را به یک فرمت قابل خواندن برای انسان تبدیل میکند. شما میتوانید آن را بر اساس نیازهای خود برای استفادههای بیشتر تغییر دهید.
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- ساعت
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 13x13mm
14mm x 13mm x 13mm
- ولتاژ مورد نياز
- 3.3V
- فرکانس
- 1Hz and 32.768kHz
- دقت اندازه گیری
- ± (± 0.432 sec/day)
- پردازنده
- DS3231
- سایر قابلیتها
- پشتیبانی از آردوینو و رزبری پای و سایر بردهای امبدد
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.
بله این امکان وجود دارد. با توجه به اینکه برد رزبری پای دارای پایههای GPIO است. امکان اتصال انواع ماژولهای مختلف را دارد. ماژولهای اترنت به SPI هم یکی از این موارد پر مصرف هستند. میتوانید از شاخه ماژول اترنت و شبکه انواع این بردها را برای اتصال به رزبری پای بررسی کنید.
دوربین IMX219 یک دوربین با رابط MIPI CSI-2 است که اکثرا با بردهای توسعهی مبتنی بر پردازندههای ARM که دارای رابط CSI-2 هستند، سازگاری دارد. برخی از این بردها شامل Raspberry Pi، Jetson Nano، Odroid و Orange Pi is هستند. با این حال، برای استفاده از دوربین IMX219 با هر برد دیگری، باید بررسی کنید که آیا برد شما دارای رابط MIPI CSI-2 است یا خیر. CSI2 یک رابط سریال پایدار برای انتقال داده های تصویری از سنسورهای تصویری به پردازنده ها است. برخی از بردهایی که دارای CSI2 هستند عبارتند از:
1- Raspberry Pi CM4
2- Nvidia Jetson Nano
3- Orange Pi
4- BeagleBone Black
5- Coral Dev Board
6- Qualcomm DragonBoard
7- HiKey 960
و بسیاری بردهای دیگر با پردازنده های مختلف از جمله ARM و x86.
لازم به ذکر است که برخی از این بردها ممکن است نیاز به ماژول تبدیل CSI2 به HDMI یا USB داشته باشند تا بتوانند با دوربین های دیگری که از رابط های HDMI یا USB استفاده می کنند سازگاری پیدا کنند.
باگ های نرم افزاری به مرور زمان با بهروزرسانی جدید به صورت اتوماتیک رفع خواهد شد. پیشنهاد میشود ورژن 3 را نصب کنید.
اگر نسخه 4 از Thonny IDE بر روی ویندوز 7 برای شما مشکلساز است و به دنبال جایگزینی مناسب برای توسعه میکروپایتون هستید، میتوانید از محیطهای توسعه دیگری استفاده کنید.
Mu: Mu یک محیط توسعه سبک و کم حجم برای میکروپایتون است. این نرمافزار بر روی ویندوز 7 نصب و اجرا میشود و ویژگیهای ساده و کاربرپسندی دارد.
IDLE (Integrated Development and Learning Environment): IDLE یک IDE رسمی برای میکروپایتون است و به صورت پیشفرض در همراه با نصب پایتون نصب میشود. این IDE از ورژنهای مختلف میکروپایتون پشتیبانی میکند.
Visual Studio Code (VS Code): اگر از یک IDE قدرتمند و انعطافپذیر برای توسعه میکروپایتون بهره میبرید، میتوانید از VS Code با استفاده از افزونههای مرتبط با میکروپایتون استفاده کنید. این IDE روی ویندوز 7 نیز عملکرد مناسبی دارد.
PyCharm Community Edition: اگر به دنبال یک IDE حرفهای برای توسعه پروژههای میکروپایتون هستید، میتوانید از نسخه رایگان PyCharm Community Edition استفاده کنید. این IDE ویژگیهای بسیار زیادی دارد و بر روی ویندوز 7 نیز قابل نصب است.