Interface GSM Sim900A Module to Arduino – Send and Receive SMS

আমরা অনেকেই Arduino নিয়ে কাজ করতে ভালবাসি । কারণ আরডিওনো and GSM Sim900A এর সাহায্যে সহজভাবে কোডিং করে খুবই অল্প খরচে অনেক মজার মজার প্রজেক্ট করার সম্ভব । আর Arduino সাথে GSM GSM Sim900A  ইন্টারফেসিং করে আরো অনেক মজার প্রজেক্ট করা তৈরি করা সম্ভব । কারণ জিএসএম এর সাহায্যে আপনি ফোন মেসেজের সাহায্যে যেকোনো কিছু কন্ট্রোল করতে পারবেন । যেমন আপনার ঘরের লাইট পাম্প মটর বা অন্য যেকোনো লোড আপনি কন্ট্রোল করতে পারবেন এই জিএসএম  Module এর মাধ্যমে । তো আরডিওনো কোডিং করে কিভাবে জিএসএম এর সাহায্যে আপনারা এমন প্রজেক্ট তৈরি করবেন সেটা আজকে আপনাদের দেখাব এবং বোঝাবো ।

এই ব্লগ পোস্টের মাধ্যমে আমি আপনাদের দেখাবো যে GSM এবং ARDUINO  মধ্যেই ইন্টারফেসিং করে কিভাবে GSM – SMS Read করে এবং এসএমএস সেন্ড করে এই বিষয়ে ।চলুন আমরা দেখেনি এই প্রজেক্ট প্র্যাকটিক্যালে করার জন্য আমাদের কি কি Module  লাগবে এবং কম্পনেন্ট লাগবে ।

  1. Arduino Uno R3 Board.
  2. GSM Sim900A Module.
  3. Jumper wire.
  4. 5v 2Amp Power supply.
  5. SIM.
  6. Mobile Phone.
  7. led

 

   

 

এখন আমি আপনাদের কোডিং পার্টটা দেখাবো ।

দেখুন জিএসএম দিয়ে প্রজেক্ট করার জন্য উপরে আমি পিন ডায়াগ্রাম বা কানেকশন ডায়াগ্রাম দেখিয়ে দিলাম। আপনারা এই ডায়াগ্রাম অনুযায়ী কানেকশন করে ফেলবেন । এখন কোডিং করার জন্য আপনাকে অবশ্যই একটা লাইব্রেরী ফাইল Arduino IDE Software এ অ্যাড করতে হবে ।

নিচের থেকে আপনি এই লাইব্রেরী ফাইল টা ডাউনলোড করে নিন ।

প্রথমে আমি আপনাদের 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  
 }  

উপরের এই কোডিং এর মাধ্যমে আপনি এসএমএস সেন্ড প্রজেক্ট করতে পারবেন  ।এছাড়াও আপনি এই মডিউল এর মাধ্যমে কল রিসিভ কল সেন্ড করতে পারবেন । এবং মাইক্রোফোন এবং এয়ারফোন লাগিয়ে ও আপনি একটা মোবাইল ফোনের মত ব্যবহার করতে পারবেন ।

 

 

100% LikesVS
0% Dislikes

Leave a Comment