আমরা অনেকেই Arduino নিয়ে কাজ করতে ভালবাসি । কারণ আরডিওনো and GSM Sim900A এর সাহায্যে সহজভাবে কোডিং করে খুবই অল্প খরচে অনেক মজার মজার প্রজেক্ট করার সম্ভব । আর Arduino সাথে GSM GSM Sim900A ইন্টারফেসিং করে আরো অনেক মজার প্রজেক্ট করা তৈরি করা সম্ভব । কারণ জিএসএম এর সাহায্যে আপনি ফোন মেসেজের সাহায্যে যেকোনো কিছু কন্ট্রোল করতে পারবেন । যেমন আপনার ঘরের লাইট পাম্প মটর বা অন্য যেকোনো লোড আপনি কন্ট্রোল করতে পারবেন এই জিএসএম Module এর মাধ্যমে । তো আরডিওনো কোডিং করে কিভাবে জিএসএম এর সাহায্যে আপনারা এমন প্রজেক্ট তৈরি করবেন সেটা আজকে আপনাদের দেখাব এবং বোঝাবো ।
এই ব্লগ পোস্টের মাধ্যমে আমি আপনাদের দেখাবো যে GSM এবং ARDUINO মধ্যেই ইন্টারফেসিং করে কিভাবে GSM – SMS Read করে এবং এসএমএস সেন্ড করে এই বিষয়ে ।চলুন আমরা দেখেনি এই প্রজেক্ট প্র্যাকটিক্যালে করার জন্য আমাদের কি কি Module লাগবে এবং কম্পনেন্ট লাগবে ।
- Arduino Uno R3 Board.
- GSM Sim900A Module.
- Jumper wire.
- 5v 2Amp Power supply.
- SIM.
- Mobile Phone.
- led
এখন আমি আপনাদের কোডিং পার্টটা দেখাবো ।
দেখুন জিএসএম দিয়ে প্রজেক্ট করার জন্য উপরে আমি পিন ডায়াগ্রাম বা কানেকশন ডায়াগ্রাম দেখিয়ে দিলাম। আপনারা এই ডায়াগ্রাম অনুযায়ী কানেকশন করে ফেলবেন । এখন কোডিং করার জন্য আপনাকে অবশ্যই একটা লাইব্রেরী ফাইল Arduino IDE Software এ অ্যাড করতে হবে ।
নিচের থেকে আপনি এই লাইব্রেরী ফাইল টা click here করে নিন ।
প্রথমে আমি আপনাদের SMS Read করার কোডিং টা দেখাবো ।
SMS Read Code:
#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#define PIN_TX 6
#define PIN_RX 7
#define BAUDRATE 9600
#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;
char phone[16];
char datetime[24];
GPRS gprs(PIN_TX,PIN_RX,BAUDRATE);//RX,TX,PWR,BaudRate
void setup() {
gprs.checkPowerUp();
Serial.begin(9600);
while(!gprs.init()) {
Serial.print("init error\r\n");
delay(1000);
}
delay(3000);
Serial.println("Init Success, please send SMS message to me!");
}
void loop() {
messageIndex = gprs.isSMSunread();
if (messageIndex > 0) { //At least, there is one UNREAD SMS
gprs.readSMS(messageIndex, message, MESSAGE_LENGTH, phone, datetime);
//In order not to full SIM Memory, is better to delete it
gprs.deleteSMS(messageIndex);
Serial.print("From number: ");
Serial.println(phone);
Serial.print("Datetime: ");
Serial.println(datetime);
Serial.print("Recieved Message: ");
Serial.println(message);
}
}
এই কোডিং এর মাধ্যমে আপনি জিএসএম এর মাধ্যমে এসএমএস Read করার প্রজেক্ট করতে পারবেন ।
SMS Send Code:
#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#define PIN_TX 6
#define PIN_RX 7
#define BAUDRATE 9600
#define PHONE_NUMBER "183******27"
#define MESSAGE "friendtechbd"
GPRS gprs(PIN_TX,PIN_RX,BAUDRATE);//RX,TX,BaudRate
void setup() {
gprs.checkPowerUp();
Serial.begin(9600);
while(!gprs.init()) {
delay(1000);
Serial.println("Initialization failed!");
}
while(!gprs.isNetworkRegistered())
{
delay(1000);
Serial.println("Network has not registered yet!");
}
Serial.println("gprs initialize done!");
Serial.println("start to send message ...");
if(gprs.sendSMS(PHONE_NUMBER,MESSAGE)) //define phone number and text
{
Serial.print("Send SMS Succeed!\r\n");
}
else {
Serial.print("Send SMS failed!\r\n");
}
}
void loop() {
//nothing to do
}
উপরের এই কোডিং এর মাধ্যমে আপনি এসএমএস সেন্ড প্রজেক্ট করতে পারবেন ।এছাড়াও আপনি এই মডিউল এর মাধ্যমে কল রিসিভ কল সেন্ড করতে পারবেন । এবং মাইক্রোফোন এবং এয়ারফোন লাগিয়ে ও আপনি একটা মোবাইল ফোনের মত ব্যবহার করতে পারবেন ।