This is the code I've written. Please let me know what is wrong and how I could solve the problem.
// Include the GSM library
#include <GSM.h>
#include <Keypad.h>
char remoteNum[10];
#define PINNUMBER ""
const byte numRows = 4; //four rows
const byte numCols = 4; //four columns
//define the cymbols on the buttons of the keypads
char keymap[numRows][numCols] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'#','0','*','D'}
};
byte rowPins[numRows] = {12,11, 10, 9}; //connect to the row pinouts of the keypad
byte colPins[numCols] = {8, 6, 5, 4}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;
void setup()
{
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("SMS Messages Sender");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
}
void loop()
{
Serial.print("Enter a mobile number: ");
int i;
for (i=0; i<10; i++) {
char keypressed = myKeypad.getKey();
if (keypressed != NO_KEY) {
remoteNum = keypressed ;
- Serial.print(keypressed);*
- myKeypad.setDebounceTime(250);*
- char keypressed=myKeypad.waitForKey();*
- }*
_ remoteNum = '\0'; _
_}_
}
* // sms text*
* Serial.print("Now, enter SMS content: ");*
* char txtMsg[200];*
* readSerial(txtMsg);*
* Serial.println("SENDING");*
* Serial.println();*
* Serial.println("Message:");*
* Serial.println(txtMsg);*
* // send the message*
* sms.beginSMS(remoteNum);*
* sms.print(txtMsg);*
* sms.endSMS();*
* Serial.println("\nCOMPLETE!\n");*
}
/*
* Read input serial*
*/
int readSerial(char result[])
{
* int i = 0;*
* while(1)*
* {*
* while (Serial.available() > 0)*
* {*
* char inChar = Serial.read();*
* if (inChar == '\n')*
* {*
_ result = '\0';
* Serial.flush();
return 0;
}
if(inChar!='\r')
{
result = inChar;
i++;
}
}
}
}*_