Im a newbie. I have a problem with displaying text in LCD (16x2). It shows incorrect message in the lcd. Here is the code and the picture that gives the wrong output : Kindly help Thank you.
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//gsm
SMSGSM sms;
int numdata;
boolean started = false;
char smsbuffer[160]; //message
String newsms;
char n[20];
unsigned char i;
//lcd
int sensorPin = A0; // select the input pin for the potentiometer
int sensorValue = 0; // variable to store the value coming from the sensor
int outputValue = 0; // value output to the %
int outputValue1 = 0; // value output to cursor
void setup()
{
//Serial connection.
//gsm
lcd.begin(16, 2);
Serial.begin(9600);
// lcd.setCursor(0, 1);
// lcd.clear();
// lcd.print(" Wireless Public via GSM"); //55 chars
// lcd.setCursor(0, 2);
// lcd.print(" Notice Board "); //55 chars
Serial.println("GSM Shield testing.");
if (gsm.begin(2400)) {
Serial.println("\nstatus=READY");
started = true;
}
else Serial.println("\nstatus=IDLE");
//lcd
// set up the LCD's number of columns and rows:
};
void loop()
{
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 100);
outputValue1 = map(sensorValue, 0, 1023, 0, 200);
//scroll = lcd.scrollDisplayLeft();
if (started) {
//Read if there are messages on SIM card and print them.
if (gsm.readSMS(smsbuffer, 160, n, 20))
{
//lcd
lcd.clear();
lcd.setCursor(0, 2);
lcd.print("SMS Received!");
delay(2000);
lcd.clear();
lcd.setCursor(0,1);
Serial.println(n);
Serial.println(smsbuffer);
lcd.print(smsbuffer);
delay(1000);
// lcd.clear();
}
delay(1000);
}
}
smsbuffer
? Have you tried running a minimal sketch to just test the LCD with a 'hello world'? – Maximilian Gerhardt May 12 '18 at 19:38when i print it in lcd it shows incorrect content
.... you are misunderstanding the problem ... the LCD is displaying exactly the correct content .... it is displaying what you are telling it to display ..... you have to figure out why your program is sending content that you do not want to see .... start by running the "helloWorld" demo – jsotola May 13 '18 at 2:20