Manpreet Singh Minhas
Published

Wireless Notice Board

A notice board that updates by sending an SMS to it.

Full instructions provided847
Wireless Notice Board

Things used in this project

Hardware components

SIM 300 module
×1

Story

Read more

Code

file_7241.txt

C/C++
char buffer[250];Serial.readBytes(buffer, 250);
String message = buffer;
String command = "<s>";
String commandEnd ="</s>";
int indexOfMessage = message.indexOf(command);
int indexOfMessageEnd = message.indexOf(commandEnd);
if(indexOfMessage>0 && indexOfMessageEnd>0){
String actualMessage = message.substring(indexOfMessage+3,indexOfMessageEnd);
Serial.print("Message             :");
Serial.println(message);
Serial.print("Command             :");
Serial.println(command);
Serial.print("CommandEnd          :");
Serial.println(commandEnd);
Serial.print("Actual Message      :");
Serial.println(actualMessage);
actualMessage.toCharArray(actualMessageArray,250);

file_7240.txt

C/C++
#include <LiquidCrystal.h>;
LiquidCrystal lcd(42,44,49,50,70, 69);
 
const int numRows = 2;
const int numCols = 16;
char actualMessageArray[250];
 
void setup()
{
      // put your setup code here, to run once:
      Serial.begin(9600);
      Serial7.begin(9600);
      Serial7.println("AT");
      while(Serial.available()>0)
      {
        Serial.print((char)Serial.read());
      }
      delay(1000);
      Serial7.println("AT+CMGF=1");
      while(Serial.available()>0)
      {
        Serial.print((char)Serial.read());
      }
      delay(1000);
      Serial7.println("AT+CNMI=2,2,0,0");
      delay(100);
      while(Serial.available()>0)
      {
        Serial.print((char)Serial.read());
      }
      delay(1000);
      lcd.begin(numCols, numRows);
      lcd.setCursor(0,0);
}
 
void loop()
{
  // put your main code here, to run repeatedly:
 if(Serial.available()>0)
 {
      char buffer[250];
      Serial.readBytes(buffer, 250);
      String message = buffer;
      String command = "<s>";
      String commandEnd = "</s>";
      int indexOfMessage = message.indexOf(command);
      int indexOfMessageEnd = message.indexOf(commandEnd);
      if(indexOfMessage>0 && indexOfMessageEnd>0){
      String actualMessage = message.substring(indexOfMessage+3,indexOfMessageEnd);
      Serial.print("message          :");
      Serial.println(message);
      Serial.print("command          :");
      Serial.println(command);
      Serial.print("commandEnd       :");
      Serial.println(commandEnd);
      Serial.print("actualMessage    :");
      Serial.println(actualMessage);
      actualMessage.toCharArray(actualMessageArray,250);
     }
 }
  marquee(actualMessageArray);
  delay(1000);
  lcd.clear();
}
void marquee( char *text)
{
    int length = strlen(text); // the number of characters in the text
    if(length < numCols)
    lcd.print(text);
    else
    {
        int pos;
        for( pos = 0; pos <= numCols; pos++)
        lcd.print(text[pos]);
        delay(1000); // allow time to read the first line before scrolling
        pos=1;
        while(pos <= length - numCols)
        {
        lcd.setCursor(0,0);
        for( int i=0; i < numCols; i++)
        lcd.print(text[pos+i]);
        delay(300);
        pos = pos + 1;
        }
    }
}

Credits

Manpreet Singh Minhas

Manpreet Singh Minhas

1 project • 3 followers
Electronics enthusiast | Loves microcontrollers

Comments