ماژول تاچ 16 کاناله TTP229 مدل HW-136
ماژول تاچ سنسور TTP229 کلید لمسی 16 کانال مدل HW-136
ماژول تاچ سنسور TTP229، یک ماژول کیپد لمسی خازنی است. به کمک این ماژول می توانید ورودی اعداد از 1 الی 16 را به صورت تاچ از کاربر دریافت کنید. این ماژول می تواند به صورت Multi Keys(تشخیص چند کلید به صورت همزمان) نیز فعالیت نماید. همچنین ماژول تاچ پد به صورت عادی، کلیدهای 1 الی 8 و به کمک پورت I2C، کلیدهای 1 الی 16 را می تواند تشخیص دهد. این ماژول با بردهای آردوینو سازگاری کامل دارد. به منظور راه اندازی و کار با ماژول، کتابخانه آردوینو جهت سهولت در اجرا، توسعه یافته است.
مشخصات فنی و ویژگی های کلی تاچ سنسور TTP229
ولتاژ کاری 2.4 الی 5.5
جریان مصرفی در حدود 2 میکرو آمپر در حالت SLEEP
دارای رابط سریال I2C جهت ارتباط با میکروکنترلرها در حالت 16 کلید
دارای 8 پایه GPIO جهت خواندن کلیدهای 1 الی 8 بدون نیاز به پورت I2C
تطبیق خودکار تاچ با شرایط محیط
کاربردهای تاچ سنسور TTP229
قفل های رمزی
کنترل ورود و خروج
صفحه کلید آسانسور
دریافت ورودی از کاربر در دستگاه های مختلف
نکات فنی مهم صفحه کیپد 16 تایی تاچ سنسور TTP229
تراشه TTP229 یک مبدل رابط سریال به موازی 16 کاناله برای صفحه کلید 16 کلیدی (keypad) است. این تراشه با استفاده از رابط سریال (Serial Interface) با میکروکنترلرها ارتباط برقرار می کند و خروجی هایش را به صورت موازی ارائه می دهد. این تراشه برای استفاده در سیستم های کنترل دستگاه ها، سیستم های امنیتی و سیستم های رمزنگاری استفاده می شود. همچنین برای کاربردهایی مانند صفحه کلیدهای خودروها، ابزارهای پزشکی و سایر دستگاه های الکترونیکی نیز استفاده می شود. ماژول تاچ پد TTP229 می تواند به صورت چند لمسی(قابلیت تشخیص همزمان چند کلید) عمل کند. همچنین، این ماژول به کمک پورت I2C خود می تواند تا 16 کلید را تشخیص دهد. در ابتدا، جهت فعال سازی مد چند لمسی، قسمت های مشخص شده به رنگ نارنجی در تصویر زیر را به هم جامپر(اتصال) دهید.
در ادامه، جهت فعال سازی پورت I2C، دو پایه مشخص شده در تصویر به رنگ قرمز را به هم اتصال دهید. با فعال سازی پورت I2C و به کمک کتابخانه آردوینو، می توانید تا 16 کلید را بخوانید.
اتصال I2C این برد به صورت سخت افزاری صورت می گیرد. جهت ارتباط این برد با بردهای مختلف و ودریافت ورودی، برای هر برد به صورت زیر عمل کنید.
-
Uno:
- SDA <-> A4 (SDA)
- SCL <-> A5 (SCL)
-
Mega:
- SDA <-> 20 (SDA)
- SCL <-> 21 (SCL)
-
Leo:
- SDA <-> 2 (SDA)
- SCL <-> 3 (SCL)
-
ESP32-WROOM-32:
- SDA <-> GPIO 21 (SDA)
- SCL <-> GPIO 22 (SCL)
در صورت عدم نیاز به 16 کلید، می توانید خیلی ساده پایه های 1 الی 8 را به ورودی GPIO میکروکنترلر و یا آردوینو متصل کنید. با فشردن هر کلید، وضعیت این پایه ها تغییر کرده و شما می توانید در برنامه خود، مقدار پایه متناظر با کلید فشرده شده را بخوانید.
نمونه برنامه راه اندازی کیپد لمسی 16 کاناله ttp229 با آردوینو
برای راهاندازی کیپد لمسی 16 کاناله ttp229 با آردوینو میتوانید از کتابخانه TTP229 استفاده کنید. این کتابخانه به شما امکان میدهد که به راحتی با استفاده از آردوینو، دادههایی که توسط کیپد لمسی ttp229 ارسال میشود را دریافت کنید و سپس آنها را پردازش کنید. در ادامه نمونه کدی برای راهاندازی کیپد لمسی 16 کاناله ttp229 با آردوینو ارائه شده است.
#include <TTP229.h>
#define SCL_PIN 3 // این پین متصل به پایه SCL ماژول TTP229 میباشد
#define SDO_PIN 2 // این پین متصل به پایه SDO ماژول TTP229 میباشد
TTP229 keypad(SCL_PIN, SDO_PIN);
void setup() {
Serial.begin(9600);
keypad.begin();
}
void loop() {
if (keypad.available()) {
int key = keypad.read();
Serial.println(key);
}
}
در این کد، ابتدا پایههای SCL و SDO ماژول TTP229 به پینهای 3 و 2 آردوینو متصل شدهاند. سپس با فراخوانی تابع begin() از کتابخانه، ارتباط با ماژول برقرار میشود. در حلقه loop نیز با فراخوانی تابع available()، بررسی میشود که آیا دادهای از کیپد لمسی دریافت شده است یا خیر؛ در صورت دریافت داده، با فراخوانی تابع read() مقدار کلید فشرده شده را دریافت و در سریال پرینت میکنیم. لازم به ذکر است که این نمونه کد فقط به منظور نمایش نحوه کارکرد کتابخانه TTP229 طراحی شده است و برای پروژههای واقعی شما باید آن را تغییر داده و به نیازهای خودتان تنظیم کنید.
نمونه برنامه راه اندازی کیپد لمسی 16 کاناله ttp229 با میکروپایتون و ESP32
برای راه اندازی کیپد لمسی 16 کاناله ttp229 با میکروکنترلر ESP32 و زبان برنامهنویسی میکروپایتون، میتوانید از کتابخانهی ttp229py استفاده کنید. این کتابخانه به طور مشابهی به کتابخانهی TTP229 برای زبان برنامهنویسی آردوینو مشابه است. برای استفاده از این کتابخانه، ابتدا باید آن را به پروژه خود اضافه کنید. برای این کار، میتوانید از دستور !pip install ttp229py استفاده کنید. سپس با استفاده از کد زیر، میتوانید کیپد لمسی 16 کاناله ttp229 را با ESP32 و میکروپایتون راهاندازی کنید.
from machine import Pin, I2C
from ttp229 import TTP229
# تعریف پین های SDA و SCL برای اتصال به I2C
i2c = I2C(sda=Pin(21), scl=Pin(22))
# تعریف آدرس I2C ماژول ttp229
ADDR = 0x57
# تعریف ماژول ttp229 با استفاده از کتابخانه
keypad = TTP229(i2c, ADDR)
# خواندن داده ها از کیپد
while True:
if keypad.key_count > 0:
keys = keypad.read_keys()
print("Keys pressed:", keys)
در این کد، ابتدا پینهای SDA و SCL برای اتصال به I2C تعریف شدهاند. سپس با استفاده از کلاس TTP229، ماژول ttp229 با آدرس 0x57 تعریف شده است. سپس با استفاده از تابع read_keys() میتوانید دادههای فشرده شده از کیپد را خوانده و کلیدهایی که فشرده شدهاند را در خروجی چاپ کنید.
نمونه برنامه راه اندازی کیپد 16 کاناله ttp229 با میکروپایتون و rp2040
برای راه اندازی کیپد لمسی 16 کاناله TTP229 با میکروپایتون و RP2040 میتوانید از کتابخانه PicoMicropython و ماژول TTP229Micropython استفاده کنید. برای نصب این کتابخانه و ماژول میتوانید از ابزار upip استفاده کنید. نمونه کد زیر یک برنامه ساده برای خواندن دادههایی که توسط کیپد لمسی TTP229 ارسال میشود است.
import machine
from TTP229 import TTP229
# مقداردهی اولیه پایهها
scl = machine.Pin(2, machine.Pin.OUT)
sda = machine.Pin(3, machine.Pin.OUT)
scl.value(1)
sda.value(1)
# ایجاد شیء TTP229
keypad = TTP229(scl, sda)
# حلقه اصلی برنامه
while True:
# خواندن دادههای ارسال شده از کیپد
data = keypad.read_data()
# چاپ دادههای خوانده شده در صفحه کنسول
if data != None:
print("Keypad Data: ", data)
این برنامه ابتدا پایههای SCL و SDA را مقداردهی اولیه میکند و یک شیء از کلاس TTP229 ایجاد میکند. در حلقه اصلی برنامه، با فراخوانی تابع read_data() ارسال دادههایی که توسط کیپد لمسی TTP229 ارسال میشود خوانده میشوند و در صورت وجود چاپ میشوند. لازم به ذکر است که پایههای SCL و SDA به دقت باید به پایههای متناظر باشند و احتمال تداخل با دیگر پایهها وجود نداشته باشد. همچنین، قبل از اجرای برنامه حتما باید کتابخانه PicoMicropython و ماژول TTP229Micropython را به دستگاه RP2040 خود اضافه کنید.
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- تاچ
- تعداد فیبر
- 1
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 65x50mm
- ولتاژ مورد نياز
- 2.4 - 5.5 ولت DC
- وزن
- 12 گرم
- پروتکل ارتباطی
- I2C
- تعداد خروجی
- 8
- جریان مصرفی درحالت خواب
- با ولتاژ تغذیه 3 و نرخ نمونه برداری 8 هرتز: 2.5 میکروآمپر برای 16 کلید و 2 میکروآمپر برای 8 کلید
- پردازنده
- TTP229
- کد تجاری ماژول و برد
- HW-136
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.