Arduino کے لیے TTP223 Capacitive Touch Module کا تعارف
اس ٹیوٹوریل میں، ہم TTP223 کیپیسٹیو ٹچ ماجیول کو دریافت کریں گے اور یہ کہ اسے Arduino کے ساتھ کیسے مربوط کیا جا سکتا ہے تاکہ ایک ٹچ حساس سوئچ بنایا جا سکے۔ TTP223 ایک سادہ اور مؤثر ماجیول ہے جو آپ کو صرف ایک ٹچ سے ریلے یا لائٹس جیسے آلات کو آن یا آف کرنے کی اجازت دیتا ہے۔ یہ پروجیکٹ ظاہر کرے گا کہ ماجیول کو کیسے جوڑنا ہے اور ٹچ ان پٹ پڑھنے اور آؤٹ پٹ ڈیوائس کو کنٹرول کرنے کے لیے ایک بنیادی Arduino پروگرام کیسے لکھنا ہے۔ اس پروجیکٹ کے کوڈ اور وائرنگ کی تفصیل سے وضاحت کی جائے گی تاکہ آپ سیٹ اپ کو آسانی سے دوبارہ بنا سکیں۔ بصری سیکھنے والوں کے لیے، میں سیٹ اپ اور کوڈنگ کے عمل کی وضاحت کے لیے متعلقہ ویڈیو ٹیوٹوریل دیکھنے کی تجویز دیتا ہوں (ویڈیو میں 03:15 پر)۔ہارڈویئر کی وضاحت
TTP223 کیپیسٹیو ٹچ ماجیول ایک کمپیکٹ اور استعمال میں آسان ڈیوائس ہے جو کیپیسٹیو سینسنگ کے ذریعے ٹچ ان پٹ کا پتہ لگاتا ہے۔ اس میں ایک واحد آؤٹ پٹ پن ہے جو ٹچ کا پتہ چلنے پر ہائی ہو جاتا ہے، جو اسے ان ایپلیکیشنز کے لیے مثالی بناتا ہے جہاں آپ سادہ ٹچ سے الیکٹرانکس کو کنٹرول کرنا چاہتے ہیں۔ ماجیول 2.0 سے 5.5 وولٹ کی سپلائی وولٹیج پر کام کرتا ہے، جو اسے زیادہ تر Arduino بورڈز کے ساتھ مطابقت رکھتا ہے۔ ماجیول میں عام طور پر چند پن ہوتے ہیں: پاور کے لیے VCC، گراؤنڈ کے لیے GND، اور آؤٹ پٹ پن جو ٹچ کا پتہ چلنے پر سگنل بھیجتا ہے۔ اس آؤٹ پٹ پن کو Arduino کے ڈیجیٹل ان پٹ پن سے جوڑا جا سکتا ہے، جس سے آپ ٹچ کی حالت آسانی سے پڑھ سکتے ہیں۔ TTP223 ماجیول خاص طور پر ان پروجیکٹس میں مفید ہے جہاں فزیکل سوئچ مطلوبہ نہیں ہوتا۔ڈیٹاشیٹ کی تفصیلات
| مینوفیکچرر | Seeed Studio |
|---|---|
| پارٹ نمبر | TTP223 |
| لاجک/آئی او وولٹیج | 2.0 – 5.5 V |
| سپلائی وولٹیج | 2.0 – 5.5 V |
| آؤٹ پٹ کرنٹ | 20 mA زیادہ سے زیادہ |
| پیک کرنٹ | 30 mA |
| آپریٹنگ درجہ حرارت | -40 سے 85 °C |
| پیکیج | TO-220 |
- ماجیول کو نقصان پہنچانے سے بچنے کے لیے مناسب وولٹیج سپلائی (2.0 – 5.5 V) یقینی بنائیں۔
- آؤٹ پٹ پن کو Arduino کے کسی بھی ڈیجیٹل پن سے جوڑا جا سکتا ہے۔
- GND پن کو Arduino گراؤنڈ سے جوڑیں۔
- غلط ٹرگرنگ سے بچنے کے لیے ماجیول کو برقی شور کے ذرائع سے دور رکھیں۔
- مستحکم ریڈنگ کے لیے ضرورت پڑنے پر پل اپ ریزسٹر استعمال کریں۔
وائرنگ ہدایات
TTP223 کیپیسٹیو ٹچ ماجیول کو اپنے Arduino سے جوڑنے کے لیے، ماجیول کے VCC پن کو Arduino کے 5V پن سے جوڑ کر شروع کریں۔ اگلا، ماجیول کے GND پن کو Arduino کے کسی ایک GND پن سے جوڑیں۔ TTP223 کا آؤٹ پٹ پن، جو ٹچ سگنل بھیجتا ہے، Arduino کے ڈیجیٹل پن سے جوڑا جانا چاہیے، مثال کے طور پر پن 2۔ اگر آپ ٹچ ماجیول کے ساتھ ریلے استعمال کر رہے ہیں، تو ریلے کے کنٹرول پن کو دوسرے ڈیجیٹل پن سے جوڑیں، جیسے پن 8۔ یقینی بنائیں کہ ریلے کی پاور سپلائی اس کی وضاحتوں کے مطابق درست طریقے سے جڑی ہوئی ہے۔ اگر آپ ایک سے زیادہ ٹچ ماجیول استعمال کر رہے ہیں، تو آپ اضافی آؤٹ پٹ پنوں کو Arduino کے دوسرے ڈیجیٹل پنوں سے جوڑ سکتے ہیں اور وائرنگ کا عمل اسی طرح دہرا سکتے ہیں۔کوڈ مثالیں اور واک تھرو
درج ذیل کوڈ سنیپٹ پنوں کو انیشیالائز کرتا ہے اور سیریل کمیونیکیشن سیٹ کرتا ہے۔ متغیرtouchPin TTP223 ماجیول کے آؤٹ پٹ سے جڑا ہوا ہے، جبکہ relayPin ریلے کو کنٹرول کرتا ہے۔
int touchPin = 2; // TTP223 سے آؤٹ پٹ کو اس سے جوڑیں
int relayPin = 8; // ریلے سے جڑا ہوا
void setup() {
Serial.begin(9600);
pinMode(touchPin, INPUT);
pinMode(relayPin, OUTPUT);
}
یہ کوڈ ٹچ ماجیول اور ریلے پن کو انیشیالائز کرتا ہے، انہیں لوپ فنکشن میں استعمال کے لیے تیار کرتا ہے۔ Serial.begin(9600) کمانڈ سیریل کمیونیکیشن کے لیے باؤڈ ریٹ سیٹ کرتی ہے، جس سے آپ سیریل مانیٹر کے ذریعے ٹچ کی حالت مانیٹر کر سکتے ہیں۔
لوپ میں، پروگرام ٹچ ان پٹ کی حالت چیک کرتا ہے اور اس کے مطابق ریلے کو ٹوگل کرتا ہے۔ اگر ٹچ کا پتہ چلتا ہے، تو یہ سیریل مانیٹر پر "Touched" پرنٹ کرتا ہے اور ریلے کو آن کرتا ہے۔
void loop() {
val = digitalRead(touchPin);
if(val == 1) {
Serial.println("Touched");
digitalWrite(relayPin, LOW); // ریلے آن کریں
}
delay(100);
}
یہ اقتباس ظاہر کرتا ہے کہ ٹچ ان پٹ کیسے پڑھا اور پروسیس کیا جاتا ہے۔ digitalRead(touchPin) فنکشن چیک کرتا ہے کہ آیا ٹچ کا پتہ چلا ہے۔ اگر ایسا ہے، تو relayPin کو LOW سیٹ کرکے ریلے کو فعال کیا جاتا ہے۔
ڈیمونسٹریشن / کیا توقع کریں
جب آپ کوڈ چلاتے ہیں اور TTP223 ماجیول کو چھوتے ہیں، تو آپ کو سیریل مانیٹر میں "Touched" پرنٹ ہوتا دیکھنا چاہیے، جو اس بات کی نشاندہی کرتا ہے کہ ٹچ کا پتہ چلا ہے۔relayPin سے جڑا ریلے بھی فعال ہو جائے گا، جس سے آپ اس سے جڑے کسی بھی ڈیوائس کو کنٹرول کر سکتے ہیں۔ ڈیباؤنس اثر کا خیال رکھیں؛ اگر آپ سینسر کو بہت تیزی سے چھوتے ہیں، تو یہ ایک سے زیادہ ٹچ رجسٹر کر سکتا ہے۔
زیادہ پیچیدہ سیٹ اپ کے لیے، آپ مختلف ڈیوائسز کو کنٹرول کرنے کے لیے ایک سے زیادہ TTP223 ماجیول شامل کر سکتے ہیں۔ ہر ماجیول کو ایک علیحدہ ان پٹ پن سے جوڑا جا سکتا ہے اور اسی لوپ فنکشن میں منظم کیا جا سکتا ہے، جس سے متعدد آؤٹ پٹس کا ورسٹائل کنٹرول ممکن ہوتا ہے (ویڈیو میں 10:45 پر)۔
ویڈیو ٹائم اسٹیمپس
- 00:00 - TTP223 ماجیول کا تعارف
- 03:15 - وائرنگ ہدایات
- 05:30 - کوڈ واک تھرو
- 10:45 - ٹچ ماجیول کا ڈیمونسٹریشن
8-The source code for the TTP223 touch module for Arduino
زبان: C++
/*
* This is the Arduino code for a TTP223 Touch module switch.
* By touching the module, the pin 8 sends a signal to turn the relay or switch ON.
*
* Written by Ahmad S. for Robojax.com
* Date: April 1, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*/
int touchPin = 2;// connect output from TTP223 to this
int val = 0;
int relayPin = 8;// Connected to relay
void setup() {
Serial.begin(9600);
pinMode(touchPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
digitalWrite(relayPin, HIGH);
val = digitalRead(touchPin);
if(val ==1){
Serial.println("Touched");
digitalWrite(relayPin, LOW);
}
delay(100);
Serial.println();
}
9-The source code for the TTP223 touch module for Arduino for a two-touch module
زبان: C++
/*
* This is the Arduino code for a TTP223 touch module switch.
* By touching the module, the pin 8 is sending a signal to turn the relay or switch ON.
*
* Written by Ahmad S. for Robojax.com
* Date: April 1, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*/
// 1st channel
int touchPin1 = 2;// connect output from TTP223 to this
int val = 0;
int relayPin = 8;// Connected to relay
// 2nd channel
int touchPin2 = 3;// connect output from TTP223 to this
int val2 = 0;
int relayPin2 = 9;// Connected to relay
void setup() {
Serial.begin(9600);
pinMode(touchPin, INPUT); // input from touch
pinMode(relayPin, OUTPUT);// output to relay
pinMode(touchPin2, INPUT); // input from touch (2)
pinMode(relayPin2, OUTPUT);// output to relay (2)
}
void loop() {
// start of channel 1 code
digitalWrite(relayPin, HIGH);// set the relay to HIGH (if your relay is low-trigger. If not, remove this line)
val = digitalRead(touchPin); // read channel 1 touch module value
if(val ==1){
Serial.println("Channel 1 Touched");
digitalWrite(relayPin, LOW);// turn relay (of switch) 1 ON
}
delay(100);
Serial.println();
// end of channel 1 code
// start of channel 2 code
digitalWrite(relayPin2, HIGH);// set the relay to HIGH (if your relay is low-trigger. If not, remove this line)
val2 = digitalRead(touchPin2); // read channel 2 touch module value
if(val2 ==1){
Serial.println("Channel 2 Touched");
digitalWrite(relayPin2, LOW);// turn relay (of switch) 2 ON
}
delay(100);
Serial.println();
// end of channel 2 code
}
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
دیگر فائلیں
-
TP223 ڈیٹا شیٹ
robojax-0492_TTP223_Datasheet.pdf0.24 MB