2.4 گیگا ہرٹز 10 چینل ریموٹ کنٹرول سوئچ

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم ISM (صنعتی ، سائنسی اور میڈیکل) بینڈ پر مبنی 10 چینل ریموٹ کنٹرول سوئچ تعمیر کرنے جارہے ہیں۔

تعارف

آئی ایس ایم بینڈ 2.4 گیگا ہرٹز پر چلتا ہے ، جو بجلی کی مناسب پیداوار کے بغیر لائسنس کے استعمال کیا جاسکتا ہے۔



مجوزہ پروجیکٹ کا مقصد عام طور پر آن / آف وائرلیس سوئچ ہے ، جس کا استعمال اس لائٹ ، مداحوں ، گھریلو سامان کو گھریلو آٹومیشن میں تبدیل کرنے کے لئے استعمال کیا جاسکتا ہے اگر وہ اس پروجیکٹ میں ہارڈ ویئر یا سافٹ ویئر کی تبدیلی لانے کے لئے کافی پراعتماد ہوں۔

اس منصوبے کو دو حصوں میں تقسیم کیا گیا ہے: ریموٹ اور وصول کنندہ۔



ریموٹ کنٹرولر:

ریموٹ کنٹرولر وصول کنندہ میں 10 انفرادی رلیوں کو کنٹرول کرنے کے لئے 10 پش بٹنوں پر مشتمل ہوتا ہے۔ ریموٹ 9V بیٹری کے ذریعہ چلاتا ہے جو اسے پورٹیبل بناتا ہے۔

اس منصوبے کا ہارٹ 2.4 گیگا ہرٹز ٹرانسیور ماڈیول NRF24L01 ہے جس کی وجہ سے دو اردوینوس کے مابین مواصلات ممکن ہیں۔

ریموٹ کھیلوں ایک شناخت ایل ای ڈی.

جب تک ہم ریموٹ پر ایک بٹن دبائیں اور صرف اس صورت میں جب منتقلی سگنل وصول کنندہ کے ذریعہ موصول ہوتا ہے اور تب وصول کنندہ ایل ای ڈی کو متحرک کرنے کے لئے ریموٹ پر ایک آراء سگنل بھیجتا ہے تو ، ایل ای ڈی کی شناخت ہر لمحہ لمحہ روشن ہوگی۔

یہ عمل بصیرت کی تصدیق کے ساتھ ریموٹ کنٹرولر کے آن / آف کمانڈ کی منزل تک پہنچنے کو یقینی بنائے گا۔

ریموٹ کنٹرولر کے سرکٹ میں بیکار رہتے ہوئے زیادہ توانائی کے ضیاع سے بچنے کے لئے ایک آن / آف سوئچ فراہم کیا جاتا ہے۔

ایردوینو نینو یا اریڈوینو پرو منی کو ریموٹ کی تعمیر کے لئے تجویز کیا گیا ہے کیونکہ یہ ایک چھوٹی سی شکل میں ہے جو پورٹیبل بناتا ہے۔

سرکٹ ڈایاگرام:

2.4 گیگا ہرٹز 10 چینل ریموٹ کنٹرول ٹرانسمیٹر

اوپر ریموٹ کنٹرولر کے لئے مکمل سرکٹ آریھ ہے۔ این آر ایف 24 ایل01 کے لئے پن کنکشن ڈایاگرام بھی اسی اسکیمیٹ میں دیا گیا ہے۔

کام ختم ہونے پر ریموٹ آف کریں۔

براہ کرم لائبریری کی فائل یہاں ڈاؤن لوڈ کریں: github.com/nRF24/RF24.git

ریموٹ کے لئے پروگرام:

//-----Program Developed by R.Girish----//
#include
#include
RF24 radio(9,10)
const byte address[][6] = {'00001', '00002'}
const int ip1 = 2
const int ip2 = 3
const int ip3 = 4
const int ip4 = 5
const int ip5 = 6
const int ip6 = 7
const int ip7 = 8
const int ip8 = A0
const int ip9 = A1
const int ip10 = A2
const int buzzer = A3
char buzzchar[32] = ''
const char constbuzzer[32] = 'buzz'
const char button1[32] = 'activate_1'
const char button2[32] = 'activate_2'
const char button3[32] = 'activate_3'
const char button4[32] = 'activate_4'
const char button5[32] = 'activate_5'
const char button6[32] = 'activate_6'
const char button7[32] = 'activate_7'
const char button8[32] = 'activate_8'
const char button9[32] = 'activate_9'
const char button10[32] = 'activate_10'
void setup()
{
pinMode(ip1, INPUT)
pinMode(ip2, INPUT)
pinMode(ip3, INPUT)
pinMode(ip4, INPUT)
pinMode(ip5, INPUT)
pinMode(ip6, INPUT)
pinMode(ip7, INPUT)
pinMode(ip8, INPUT)
pinMode(ip9, INPUT)
pinMode(ip10, INPUT)
pinMode(buzzer, OUTPUT)
digitalWrite(ip1, HIGH)
digitalWrite(ip2, HIGH)
digitalWrite(ip3, HIGH)
digitalWrite(ip4, HIGH)
digitalWrite(ip5, HIGH)
digitalWrite(ip6, HIGH)
digitalWrite(ip7, HIGH)
digitalWrite(ip8, HIGH)
digitalWrite(ip9, HIGH)
digitalWrite(ip10, HIGH)
radio.begin()
radio.openWritingPipe(address[1])
radio.openReadingPipe(1, address[0])
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
}
void loop()
{
if(digitalRead(ip1) == LOW)
{
radio.write(&button1, sizeof(button1))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip2) == LOW)
{
radio.write(&button2, sizeof(button2))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip3) == LOW)
{
radio.write(&button3, sizeof(button3))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip4) == LOW)
{
radio.write(&button4, sizeof(button4))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip5) == LOW)
{
radio.write(&button5, sizeof(button5))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip6) == LOW)
{
radio.write(&button6, sizeof(button6))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip7) == LOW)
{
radio.write(&button7, sizeof(button7))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip8) == LOW)
{
radio.write(&button8, sizeof(button8))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip9) == LOW)
{
radio.write(&button9, sizeof(button9))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
if(digitalRead(ip10) == LOW)
{
radio.write(&button10, sizeof(button10))
radio.startListening()
while(!radio.available())
radio.read(&buzzchar, sizeof(buzzchar))
if(strcmp(buzzchar,constbuzzer) == 0)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer,LOW)
}
radio.stopListening()
}
}
//-----Program Developed by R.Girish----//

جو ریموٹ کنٹرولر سرکٹ سے اختتام پذیر ہوتا ہے۔

وصول کرنے والا:

رسیور سرکٹ آردوینو پر مشتمل ہوتا ہے جو آپ کی پسند کی ہوسکتی ہے ، 330 اوہم کے 10 موجودہ محدود مزاحم ، 10 ٹرانجسٹر اور 10 ریلے آؤٹ پٹ مرحلے کی تشکیل کرتی ہے۔

اردوینو کے 10 آؤٹ پٹ پنوں میں سے ہر ایک پر ریزٹر اور ٹرانجسٹر کے ذریعہ 10 ریلے سے منسلک ہوتا ہے۔

براہ کرم یقینی بنائیں کہ آپ کی بجلی کی فراہمی کم از کم موجودہ 1A فراہم کرنے کے قابل ہے جو فوری طور پر ایک سے زیادہ ریلے چلانے کے لئے ضروری ہے۔

ایک 2.4 گیگا ہرٹز ٹرانسیور ماڈیول NRF24L01 ریموٹ کے مابین مواصلت فراہم کرتا ہے۔

سرکٹ ڈایاگرام:



2.4 گیگا ہرٹز 10 چینل ریموٹ کنٹرول وصول

اگر آپ ارڈینو اور این آر ایف 24 ایل01 ماڈیول کے مابین وائرنگ آریھ کے ساتھ الجھے ہوئے ہیں ، تو صرف اسکیمیٹک کے ساتھ والی میز پر ایک نظر ڈالیں ، یہ ریموٹ کنٹرولر سرکٹ کے لئے بھی ایک جیسی ہے۔

آؤٹ پٹ ترتیب اور آؤٹ پٹ پن اس طرح ہیں:

ارڈینو پن - آؤٹ پٹ تسلسل

پن 2 - آؤٹ پٹ 1
پن 3 - آؤٹ پٹ 2
پن 4 - آؤٹ پٹ 3
پن 5 - آؤٹ پٹ 4
پن 6 - آؤٹ پٹ 5
پن 7 - آؤٹ پٹ 6
پن 8 - آؤٹ پٹ 7
پن A0 - آؤٹ پٹ 8
پن A1 - آؤٹ پٹ 9
پن A2 - آؤٹ پٹ 10

آؤٹ پٹ اسٹیج:

2.4 گیگا ہرٹز 10 چینل ریموٹ کنٹرول ریلے کنیکشن

آریھ کی سادگی کے لئے آؤٹ پٹ کو صرف دو آؤٹ پٹ مرحلے کے ساتھ دکھایا گیا ہے۔ اگر آپ تمام 10 چینلز استعمال کررہے ہیں تو آپ کو اسے دس تک بڑھانا ہوگا۔

وصول کنندہ کے لئے پروگرام:

//-----Program Developed by R.Girish----//
#include
#include
RF24 radio(9,10)
const byte address[][6] = {'00001', '00002'}
const int op1 = 2
const int op2 = 3
const int op3 = 4
const int op4 = 5
const int op5 = 6
const int op6 = 7
const int op7 = 8
const int op8 = A0
const int op9 = A1
const int op10 = A2
const char buzzer[32] = 'buzz'
char buttonstate[32] = ''
const char button1[32] = 'activate_1'
const char button2[32] = 'activate_2'
const char button3[32] = 'activate_3'
const char button4[32] = 'activate_4'
const char button5[32] = 'activate_5'
const char button6[32] = 'activate_6'
const char button7[32] = 'activate_7'
const char button8[32] = 'activate_8'
const char button9[32] = 'activate_9'
const char button10[32] = 'activate_10'
boolean status1 = false
boolean status2 = false
boolean status3 = false
boolean status4 = false
boolean status5 = false
boolean status6 = false
boolean status7 = false
boolean status8 = false
boolean status9 = false
boolean status10 = false
void setup()
{
Serial.begin(9600)
pinMode(op1, OUTPUT)
pinMode(op2, OUTPUT)
pinMode(op3, OUTPUT)
pinMode(op4, OUTPUT)
pinMode(op5, OUTPUT)
pinMode(op6, OUTPUT)
pinMode(op7, OUTPUT)
pinMode(op8, OUTPUT)
pinMode(op9, OUTPUT)
pinMode(op10, OUTPUT)
radio.begin()
radio.openReadingPipe(1, address[1])
radio.openWritingPipe(address[0])
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
}
void loop()
{
while(!radio.available())
radio.read(&buttonstate, sizeof(buttonstate))
Serial.println(buttonstate)
if((strcmp(buttonstate,button1) == 0) && status1 == false)
{
digitalWrite(op1, HIGH)
status1 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button1) == 0) && status1 == true)
{
digitalWrite(op1, LOW)
status1 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button2) == 0) && status2 == false)
{
digitalWrite(op2, HIGH)
status2 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button2) == 0) && status2 == true)
{
digitalWrite(op2, LOW)
status2 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button3) == 0) && status3 == false)
{
digitalWrite(op3, HIGH)
status3 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button3) == 0) && status3 == true)
{
digitalWrite(op3, LOW)
status3 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button4) == 0) && status4 == false)
{
digitalWrite(op4, HIGH)
status4 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button4) == 0) && status4 == true)
{
digitalWrite(op4, LOW)
status4 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button5) == 0) && status5 == false)
{
digitalWrite(op5, HIGH)
status5 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button5) == 0) && status5 == true)
{
digitalWrite(op5, LOW)
status5 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button6) == 0) && status6 == false)
{
digitalWrite(op6, HIGH)
status6 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button6) == 0) && status6 == true)
{
digitalWrite(op6, LOW)
status6 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button7) == 0) && status7 == false)
{
digitalWrite(op7, HIGH)
status7 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button7) == 0) && status7 == true)
{
digitalWrite(op7, LOW)
status7 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button8) == 0) && status8 == false)
{
digitalWrite(op8, HIGH)
status8 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button8) == 0) && status8 == true)
{
digitalWrite(op8, LOW)
status8 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button9) == 0) && status9 == false)
{
digitalWrite(op9, HIGH)
status9 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button9) == 0) && status9 == true)
{
digitalWrite(op9, LOW)
status9 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button10) == 0) && status10 == false)
{
digitalWrite(op10, HIGH)
status10 = true
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
else if((strcmp(buttonstate,button10) == 0) && status10 == true)
{
digitalWrite(op10, LOW)
status10 = false
radio.stopListening()
for(int i = 0 i <10 i++)
{
radio.write(&buzzer, sizeof(buzzer))
delay(10)
}
radio.startListening()
}
}
//-----Program Developed by R.Girish----//

جو وصول کنندہ کو ختم کرتا ہے۔

اس کی نظریاتی حد 100 میٹر ہے عملی طور پر یہ تقریبا meters 30 میٹر اور اس سے اوپر کام کرسکتی ہے ، یہ دور دراز اور وصول کنندہ کے مابین ٹھوس رکاوٹوں پر انحصار کرتا ہے۔

اس پراجیکٹ کو کیسے چلائیں:

first پہلے وصول کنندہ اور پھر ریموٹ کو آن کریں۔

a ایک وقت میں دور دراز کے کسی بھی بٹن کو دبائیں۔

you اگر آپ پہلا بٹن دبائیں تو متعلقہ آؤٹ پٹ متحرک ہوجاتا ہے یعنی آؤٹ پٹ 1 آن ہوجاتا ہے۔ اگر آپ دوبارہ ریموٹ پر وہی بٹن دبائیں تو ، یہ وصول کنندہ میں آؤٹ پٹ 1 کو بند کردے گا۔

all یہ تمام بٹنوں اور 10 آؤٹ پٹس کے لئے لاگو ہوتا ہے۔

after استعمال کے بعد ریموٹ بند کردیں۔

اگر آپ کے پاس مذکورہ بالا زیربحث 2.4 گیگا ہرٹز 10 چینل ریموٹ کنٹرول سوئچ کے بارے میں کوئی سوال ہے تو ، براہ کرم انھیں تبصرہ سیکشن میں اظہار کریں۔




پچھلا: ارڈینوو پی ڈبلیو ایم سگنل جنریٹر سرکٹ اگلا: آئی سی 555 کا استعمال کرتے ہوئے سروو موٹر کیسے چلائیں