Moin, für ein Projekt habe ich ein SIM 800L breakout board benutzt. Mit eurer Hilfe habe ich es ja auch zum laufen bekommen. Es funktionierte einige Tage. seit gestern geht es nicht mehr und ich weiß nicht wo ich noch nach dem Fehler suchen soll.
Das Modul verbindet sich mit dem Mobilfunknetz und der Arduino wartet darauf das die SMS raus geht. Da bleibt alles hängen. Eine SMS wird nicht gesendet.
#include <Servo.h>
#include <ServoPlus.h>
int ZU = 0 ;
int AUF = 0 ;
int z = 0 ;
#include <Sim800l.h>
#include <SoftwareSerial.h> //is necesary for the library!!
Sim800l Sim800l; //to declare the library
boolean __ardublockDigitalRead(int pinNumber)
{
pinMode(pinNumber, INPUT);
return digitalRead(pinNumber);
}
void auf();
//libraries at http://duinoedu.com/dl/lib/grove/EDU_ServoPlus_GroveDupont/
ServoPlus monServoPlus3;
void zu();
void setup()
{
pinMode( A1 , OUTPUT);
pinMode( 13 , OUTPUT);
Sim800l.begin(); // initializate the library.
Serial.begin(9600);
pinMode( 2 , OUTPUT);
pinMode( 8 , OUTPUT);
monServoPlus3.brancher(3,0,180);
ZU = 90 ;
AUF = 0 ;
z = 0 ;
digitalWrite(A1 , LOW);
digitalWrite(13 , LOW);
}
void loop()
{
Serial.print("z:");
Serial.print(z);
Serial.print(" ");
Serial.println();
z = ( z + 1 ) ;
if (( ( z ) == ( 1 ) ))
{
zu();
Serial.print("Falle zu!");
Serial.print(" ");
Serial.println();
digitalWrite(2 , HIGH);
}
if (( ( z ) == ( 8 ) ))
{
auf();
Serial.print("wieder scharf stellen!");
Serial.print(" ");
Serial.println();
}
if (( ( z ) == ( 20 ) ))
{
digitalWrite(A1 , HIGH);
digitalWrite(8 , HIGH);
Serial.print("SMS senden");
Serial.print(" ");
Serial.println();
Sim800l.sendSms("XXXXXXXXXXX","Falle 1 kontrollieren!");
Serial.print("SMS gesendet");
Serial.print(" ");
Serial.println();
digitalWrite(2 , LOW);
digitalWrite(8 , LOW);
digitalWrite(A1 , LOW);
}
if (__ardublockDigitalRead(5))
{
zu();
Serial.print("Schalter 1");
Serial.print(" ");
Serial.println();
delay( 1000 );
}
if (__ardublockDigitalRead(6))
{
auf();
Serial.print("Schalter 2");
Serial.print(" ");
Serial.println();
delay( 1000 );
}
delay( 1000 );
}
void auf()
{
digitalWrite(8 , HIGH);
monServoPlus3.ecrireAngle(AUF,500);
digitalWrite(8 , LOW);
}
void zu()
{
digitalWrite(8 , HIGH);
monServoPlus3.ecrireAngle(ZU,400);
digitalWrite(8 , LOW);
}
Auf den Fotos sieht man
Das Modul, meinen Schaltplan und ArduBlock.