আমরা অনেকেই Arduino এর সাথে কাজ করতে পছন্দ করি। কারণ Arduino এবং GSM Sim808 এর সাহায্যে সহজভাবে কোডিং করে খুব কম খরচে অনেক মজার প্রজেক্ট করা সম্ভব। আর আরডুইনোর সাথে GSM Sim808 ইন্টারফেস করে আরও অনেক মজার প্রজেক্ট তৈরি করা সম্ভব। কারণ GSM এর সাহায্যে আপনি ফোনের বার্তার সাহায্যে যেকোনো কিছু নিয়ন্ত্রণ করতে পারবেন। আপনি এই জিএসএম মডিউলের মাধ্যমে আপনার বাড়ির হালকা পাম্প মোটর বা অন্য কোনও লোড নিয়ন্ত্রণ করতে পারেন। তাই আজ আমি আপনাদের দেখাব এবং ব্যাখ্যা করব কিভাবে আপনি আরডুইনো কোডিং করে GSM এর সাহায্যে এরকম একটি প্রজেক্ট তৈরি করতে পারেন।
এই ব্লগ পোস্টের মাধ্যমে, আমি আপনাদের দেখাবো কিভাবে GSM এবং ARDUINO এর মধ্যে ইন্টারফেস করতে হয়, কিভাবে GSM-SMS পড়তে হয় এবং SMS পাঠাতে হয়। চলুন দেখি এই প্রজেক্টটি কার্যত করতে কি কি মডিউল এবং কম্পোনেন্ট লাগবে।
- Arduino Uno R3 Board.
- GSM Sim808 Module.
- Jumper wire.
- 5v 2Amp Power supply.
- SIM.
- Mobile Phone.
- led
Coding Part:
এখন আমি কোডিং অংশ দেখাবো। উপরে জিএসএম দিয়ে প্রজেক্ট করার জন্য দেখুন আমি পিন ডায়াগ্রাম বা সংযোগ চিত্রটি দেখিয়েছি। আপনি এই ডায়াগ্রাম অনুযায়ী সংযোগ তৈরি করবেন। এখন কোডিংয়ের জন্য আপনাকে অবশ্যই Arduino IDE সফটওয়্যারে দুটি লাইব্রেরি ফাইল যোগ করতে হবে। আপনি নীচে থেকে এই দুটি লাইব্রেরি ফাইল নিয়ে নিতে পারেন পারেন.
এখান থেকে ফাইলটি নিন : click here
এখান থেকে ফাইলটি নিন: click here
লাইব্রেরি ফাইলটিনিয়ে নেওয়ার পর, আপনাকে এটি Arduino IDE সফ্টওয়্যারে যুক্ত করতে হবে। লাইব্রেরি ফাইল যোগ করার পরে, আপনাকে এটি ছবিতে যুক্ত করতে হবে।
- Go to Arduino IDE software file option.
- Example.
- DFRobot_Sim808 Master.
- SIM808 call_up.
- Send SMS.
- Receive SMS.
TGSM SIM 808 মডিউলের মাধ্যমে আপনি কল করতে পারবেন কিন্তু কল রিসিভ করতে পারবেন। আপনি এই প্রকল্পটি করতে পারেন। প্রথমে আমরা কল আপ এর কোডিং দেখব।
CODE:
#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
#define PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,
//Mobile phone number,need to change
#define PHONE_NUMBER "187******39"
//DFRobot_SIM808 sim808(&Serial);
void setup() {
mySerial.begin(9600);
Serial.begin(9600);
//********Initialize sim808 module*************
while(!sim808.init()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}
Serial.println("Sim808 init success");
Serial.println("Start to call ...");
//*********Call specified number***************
sim808.callUp(PHONE_NUMBER);
}
void loop() {
//nothing to do
}
এই কোডিংয়ের মাধ্যমে দেখুন আপনি এই প্রকল্পটি করতে পারেন তবে GSM সিম 808 মডিউল এবং আরডুইনোর মধ্যে ইন্টারফেস করে প্রাপ্ত কলগুলি গ্রহণ করছেন। এখন আমি আপনাকে এসএমএস পাঠানোর কোডিং দেখাব…
Code Send SMS:
#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
//Mobile phone number,need to change
#define PHONE_NUMBER "187*******39"
//The content of messages sent
#define MESSAGE "hello,world"
#define PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,
//DFRobot_SIM808 sim808(&Serial);
void setup() {
//mySerial.begin(9600);
Serial.begin(9600);
//******** Initialize sim808 module *************
while(!sim808.init()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}
Serial.println("Sim808 init success");
Serial.println("Start to send message ...");
//******** define phone number and text **********
sim808.sendSMS(PHONE_NUMBER,MESSAGE);
}
void loop() {
//nothing to do
}
এই কোডিং দিয়ে আপনি এসএমএস পাঠানোর প্রজেক্ট করতে পারেন। এখন আমি এসএমএস পাওয়ার কোডিং দেখাব…
Code Read SMS:
#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;
char phone[16];
char datetime[24];
#define PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,
//DFRobot_SIM808 sim808(&Serial);
void setup() {
//mySerial.begin(9600);
Serial.begin(9600);
//******** Initialize sim808 module *************
while(!sim808.init()) {
Serial.print("Sim808 init error\r\n");
delay(1000);
}
delay(3000);
Serial.println("Init Success, please send SMS message to me!");
}
void loop() {
//*********** Detecting unread SMS ************************
messageIndex = sim808.isSMSunread();
Serial.print("messageIndex: ");
Serial.println(messageIndex);
//*********** At least, there is one UNREAD SMS ***********
if (messageIndex > 0) {
sim808.readSMS(messageIndex, message, MESSAGE_LENGTH, phone, datetime);
//***********In order not to full SIM Memory, is better to delete it**********
sim808.deleteSMS(messageIndex);
Serial.print("From number: ");
Serial.println(phone);
Serial.print("Datetime: ");
Serial.println(datetime);
Serial.print("Recieved Message: ");
Serial.println(message);
}
}
উপরে আমি GSM SIM808 মডিউল এবং Arduino এর মধ্যে ইন্টারফেস করে কল সিস্টেম প্রজেক্ট, কল রিসিভিং প্রজেক্ট এবং এসএমএস প্রজেক্ট পাঠানোর কোডিং দেখিয়েছি।