SIM900 phone with LCD and Keypad

Hello! I write this code. Everything works :except: wont dial numbers. Can someone please take a look on my code?

Thanks in advance

#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);

String inputString;
long inputInt;

const int ROW_NUM = 4; // four rows
const int COLUMN_NUM = 4; // four columns

char keys[ROW_NUM][COLUMN_NUM] = {
{'1','2','3', 'A'},
{'4','5','6', 'B'},
{'7','8','9', 'C'},
{'*','0','#', 'D'}
};

byte pin_rows[ROW_NUM] = {11, 10, 9, 3}; // connect to the row pinouts of the keypad
byte pin_column[COLUMN_NUM] = {2, 12, 5, 4}; // connect to the column pinouts of the keypad

Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows

int cursorColumn = 0;

void setup(){
Serial.begin(19200);
lcd.begin(); // initialize the lcd
lcd.backlight();
SIM900.begin(19200);
inputString.reserve(20);

}

void loop(){
char key = keypad.getKey();

if (key) {
lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0)
lcd.print(key); // print key at (cursorColumn, 0)
Serial.print(key);
cursorColumn++;

if (key >= '0' && key <= '9') { // only act on numeric keys
inputString += key; // append new character to input string

} else if (key == 'D') {
  if (inputString.length() > 0) {
    inputInt = inputString.toInt(); // YOU GOT AN INTEGER NUMBER
    
     SIM900.println("ATD + +inputInt;");
     Serial.print(inputInt);
     lcd.setCursor(0, 1);
     lcd.print("SEND");
     delay(100);
     SIM900.println();

  }
} else if (key == 'B') {
  lcd.clear();                 // clear input
  cursorColumn = 0;
}


 else if (key == 'A') {
  SIM900.println("ATHrn");
  lcd.setCursor(0, 1);
  lcd.print("HANG UP");
}

}
}

What’s happening here ?
You can’t use + here... just use a separate print() and a print() on the int.

SIM900.println("ATD + +inputInt;");

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.