Problema invio sms con GSM SHIELD

Ho inserito i controlli che mi hai detto,il compilatore mi avvisa che non ha abbastanza memoria!Devo dire che ne ho messi un bel po'..
Lo sketch usa 24.134 byte (74%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 2.124 byte (103%) di memoria dinamica, lasciando altri -76 byte liberi per le variabili locali. Il massimo è 2.048 byte.
processing.app.debug.RunnerException: Memoria esaurita; guarda http://www.arduino.cc/en/Guide/Troubleshooting#size per consigli su come ridurne l'utilizzo.
at processing.app.Sketch.size(Sketch.java:1680)
at processing.app.Sketch.build(Sketch.java:1590)
at processing.app.Sketch.exportApplet(Sketch.java:1611)
at processing.app.Sketch.exportApplet(Sketch.java:1597)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2397)
at java.lang.Thread.run(Unknown Source)

Ne ho tolti qualcuno,sono riuscito a compilarlo:
Lo sketch usa 23.860 byte (73%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 2.032 byte (99%) di memoria dinamica, lasciando altri 16 byte liberi per le variabili locali. Il massimo è 2.048 byte.
Poca memoria disponibile, potrebbero verificarsi problemi di stabilità

infatti su seriale compaiono caratteri strani