Arduino messenger
ইতোমধ্যে আমরা ব্লুটুথ টি শার্ট প্রজেক্ট করার সময় দেখেছি কিভাবে দুটি HC-05 ব্লুটুথ মডিউল পরস্পরের সাথে তথ্য আদান-প্রদান করতে সক্ষম। ব্লুটুথ টিশার্ট প্রজেক্টের জন্য আমরা বেশকিছু AT command লিখে একটি মডিউলকে Master এবং অপরটিকে Slave হিসেবে কনফিগার করে নিয়েছিলাম এবং পরস্পরের সাথে পেয়ার আপ করিয়েছিলাম। এই এক্সপেরিমেন্টে আমরা ঐ একই মূলনীতি কাজে লাগিয়ে একটি মেসেঞ্জার তৈরী করব। অর্থ্যাৎ, দুইজন মানুষ যার যার কাছে থাকা কাছে থাকা একটি করে আরডুইনো এবং ব্লুটুথ মডিউলের সাহায্যে আরডুইনো আইডিইর সিরিয়াল মনিটরের মাধ্যমে চ্যাটিং করতে পারবে। সুসংবাদ হচ্ছে, এবার আমাদেরকে কষ্ট করে কমান্ড লিখে লিখে দুটি ব্লুটুথ মডিউলকে পেয়ার আপ করতে হবে না। আমাদের কাজ সহজ করে দিচ্ছে HC-05 Pair Module। এই মডিউল পেয়ারটিকে পরস্পরের রেঞ্জের ভেতর রেখে পাওয়ার দিলেই তারা একে অন্যের সাথে সংযুক্ত হয়ে যাবে।
প্রয়োজনীয় যন্ত্রপাতি | পরিমান | প্রোডাক্ট লিংক |
Arduino UNO-R3 | 1 | এখানে ক্লিক করুন |
Arduino Nano V3.0 (China) | 1 | এখানে ক্লিক করুন |
HC-05 Pair Module | 1 | এখানে ক্লিক করুন |
Male to male jumpers | 4 | এখানে ক্লিক করুন |
Male to female jumpers | 4 | এখানে ক্লিক করুন |
Breadboard | 1 | এখানে ক্লিক করুন |
কোডঃ
আরডুইনো উনোর জন্যঃ
নিচের কোডটি কম্পাইল করে আরডুইনো উনোতে আপলোড করি।
/*
Messenger UNO part
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
String a,b;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}
void loop() { // run over and over
if (mySerial.available()) {
a=mySerial.readString();
Serial.print(a);
mySerial.print(a);
}
if (Serial.available()) {
b=Serial.readString();
Serial.print("UNO says:");
Serial.print(b);
mySerial.print("UNO says:");
mySerial.print(b);
}
}
আরডুইনো ন্যানোর জন্যঃ
নিচের কোডটি কম্পাইল করে আরডুইনো ন্যানোতে আপলোড করি।
/*
Messenger NANO part
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
String a,b;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}
void loop() { // run over and over
if (mySerial.available()) {
a=mySerial.readString();
Serial.print(a);
}
if (Serial.available()) {
b=Serial.readString();
mySerial.print("Nano says:");
mySerial.print(b);
}
}
সার্কিটঃ
আরডুইনো উনো ও HC-05 Pair Module এর একটি মডিউলের সাথে নিচের কানেকশনটি সম্পন্ন করি।
Arduino UNO-R3 | One of HC-05 Pair Module |
3.3V | 3.3V |
GND | GND |
10 | Tx |
11 | Rx |
এবার আরডুইনো উনোকে একটি কম্পিউটারের সাথে কানেক্ট করে আরডুইনোর আইডিইর সিরিয়াল মনিটর ওপেন করি। 57600 baud rate সিলেক্ট করা থাকতে হবে।
Both NL & CR অপশনটিও সিলেক্ট করা থাকতে হবে।
আরডুইনো ন্যানো এবং HC-05 Pair Module এর অপর মডিউলের সাথে নিচের কানেকশনটি সম্পন্ন করি।
Arduino Nano V3.0 (China) | Another one of HC-05 Pair Module |
3.3V | 3.3V |
GND | GND |
D10 | Tx |
D11 | Rx |
এবার আরডুইনো ন্যানোকে একটি কম্পিউটারের সাথে কানেক্ট করে আরডুইনো আইডিইর সিরিয়াল মনিটর ওপেন করি।
57600 baud rate সিলেক্ট করা থাকতে হবে। Both NL & CR অপশনটিও সিলেক্ট করা থাকতে হবে।
মেসেঞ্জার তৈরী। এবার চ্যাটিং হোক আরডুইনো দিয়েই।
ব্লুটুথ মডিউলদুটিকে অবশ্যই পরস্পরের রেঞ্জের ভেতর থাকতে হবে। সাধারন অবস্থায় পাওয়ার দেবার সাথে সাথে ব্লুটুথ মডিউলের ব্লু এলইডি খুব দ্রুত ব্লিংক করতে থাকবে।পরস্পরের রেঞ্জের ভেতর থাকা অবস্থায় ব্লু টুথ মডিউলদুটির এলইডি কিছুক্ষন পরপর দুইবার করে ব্লিংক করতে শুরু করবে। অর্থ্যাৎ, এলইডি’র ব্লিংক করার প্যাটার্ন দেখেই আমরা বুঝতে পারব, ব্লুটুথ মডিউলদুটি পরস্পরের রেঞ্জের মধ্যে আছে কি না।