lectura de dht22 en thingspeak usando arduino uno y SIM900

#include <ThingSpeak.h>
#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, 8);
boolean pin2=LOW,pin3=LOW,pin4=LOW,pin5=LOW,pin6=LOW; 
float temp=1.0;


void setup()
{
  mySerial.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);    // the GPRS baud rate 
  
  delay(1000);
}
 
void loop()
{
      temp=analogRead(A0);
           delay(2);          
       Send2Pachube();
   
  if (mySerial.available())
    Serial.write(mySerial.read());
}
void Send2Pachube()
{
  mySerial.println("AT");
  delay(1000);

   mySerial.println("AT+CREG=1");
  delay(1000);

   mySerial.println("AT+CGATT=1");
  delay(1000);
    
  mySerial.println("AT+CIPSHUT");
  delay(1000);

  mySerial.println("AT+CIPSTATUS");
  delay(1000);

  mySerial.println("AT+CIPMUX=0");
  delay(2000);
 
  
  

  mySerial.println("AT+CSTT=\"internet.comcel.com.co,COMCELWEB,comcelweb\"");//start task and setting the APN,
  delay(1000);
 
  ShowSerialData();
 
  mySerial.println("AT+CIPSPRT=1");
  delay(4000);
 
  ShowSerialData();
  
  mySerial.println("AT+CIPSTART=TCP,api.thingspeak.com,80");//start up the connection    
  delay(20000);
 
  ShowSerialData();
 
  mySerial.println("AT+CIPSEND");//begin send data to remote server
  delay(4000);
  ShowSerialData();
  
  String str="GET https://api.thingspeak.com/update?api_key=08L71HX0303YW0OV&field1=1" + String(temp);
  mySerial.println(str);//begin send data to remote server
  delay(4000);
  ShowSerialData();

  mySerial.println((char)26);//sending
  delay(5000);//waitting for reply, important! the time is base on the condition of internet 
  mySerial.println();
 
  ShowSerialData();
 
  mySerial.println("AT+CIPSHUT");//close the connection
  delay(100);
  ShowSerialData();
} 
void ShowSerialData()
{
  while(mySerial.available()!=0)
    Serial.write(mySerial.read());
}