SIM800L V2(blau)

Hey! Kommunikation mit dem Modul und verbinden mit dem Netzwerk funktionieren nicht. Hab schon das Modul extern mithilfe eines Labornetzgerätes versorgt. LED blinkt! Bin ur verzweifelt weil ich ein Anfänger bin. LG

Hey! Vielleicht möchtest du deinen Sketch und deinen hardwareaufbau mit uns teilen?
Habe hier z.b. ein Beispiel Projekt gefunden. Ist deins so oder so ähnlich aufgebaut?

#include <SoftwareSerial.h>

// Pins für die serielle Kommunikation mit dem SIM800L-Modul
SoftwareSerial sim800lSerial(1, 0);  // RX, TX

void setup() {
  // Initialisierung der seriellen Kommunikation mit einer Baudrate von 9600
  Serial.begin(9600);
  sim800lSerial.begin(9600);

  // Warten Sie, bis die serielle Kommunikation hergestellt wurde
  delay(2000);

  // Überprüfen Sie die Kommunikation mit dem SIM800L-Modul
  sim800lSerial.println("AT");
  delay(1000);
  if (sim800lSerial.find("OK")) {
    Serial.println("Kommunikation mit dem SIM800L-Modul hergestellt.");
  } else {
    Serial.println("Fehler bei der Kommunikation mit dem SIM800L-Modul.");
  }

  // Aktivieren Sie das Mobilfunknetzwerk
  sim800lSerial.println("AT+CFUN=1");
  delay(3000);
  if (sim800lSerial.find("OK")) {
    Serial.println("Mobilfunknetzwerk aktiviert.");
  } else {
    Serial.println("Fehler beim Aktivieren des Mobilfunknetzwerks.");
  }
}

void loop() {
  // Hier können Sie weitere Aktionen durchführen, z. B. SMS senden, Anrufe tätigen, etc.

  delay(5000); // Warten Sie 5 Sekunden zwischen den Aktionen
}

Die Aufgabe des Projektes ist,das Modul anzurufen und der schaltet einen Alarm(Signal). Dies dient als Ersatz eines alten Haustelefons. Das heisst ein Buzzer wird auch noch hinzugefügt.

Du könntest mal probieren mit dem softwareSerial nicht die pins 0,1 zu benutzen sondern zwei andere. 0,1 sind ja HardwareSerial.



Funktioniert noch immer nicht.

In der doku zu der lib werden die rx,tx pins noch explizit als input und output gesetzt

pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3
// Pins für die serielle Kommunikation mit dem SIM800L-Modul

SoftwareSerial mySerial = SoftwareSerial (rxPin, txPin);

void setup() {
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);// Initialisierung der seriellen Kommunikation mit einer Baudrate von 9600
  Serial.begin(9600);
  mySerial.begin(9600);


  // Warten Sie, bis die serielle Kommunikation hergestellt wurde
  delay(2000);

  // Überprüfen Sie die Kommunikation mit dem SIM800L-Modul
  mySerial.println("AT");
  delay(1000);
  if (mySerial.find("OK")) {
    Serial.println("Kommunikation mit dem SIM800L-Modul hergestellt.");
  } else {
    Serial.println("Fehler bei der Kommunikation mit dem SIM800L-Modul.");
  }

  // Aktivieren Sie das Mobilfunknetzwerk
  mySerial.println("AT+CFUN=1");
  delay(3000);
  if (mySerial.find("OK")) {
    Serial.println("Mobilfunknetzwerk aktiviert.");
  } else {
    Serial.println("Fehler beim Aktivieren des Mobilfunknetzwerks.");
  }
}

void loop() {
  // Hier können Sie weitere Aktionen durchführen, z. B. SMS senden, Anrufe tätigen, etc.

  delay(5000); // Warten Sie 5 Sekunden zwischen den Aktionen
}

Hat sich noch immer nichts geändert.

Wieviel Volt gibst du dem Modul? Das blaue kenn ich nicht, ich benutze nur das rote. Dies betreibe ich mit 4,2 V und ganz wichtig (beim roten) die Pins sind nicht 5V tollerant. Sprich da braucht es noch einen Spannungsteiler an den Arduino Pins.

Ich betreibe das Modul mit 4,2 Volt

4,2 passt. Aber laut Datenblatt vertragen die Eingangspins nur 2,8V. Wenn ich deine Schaltung so ansehe gibst du denen aber direkt die 5V vom Arduino.
Ich hatte mir da lange Zeit auch keine Gedanken gemacht, hab das Modul an einem ESP32 und hab der ganzen Sache immer 3,3 V gegönnt. Lief recht lange bis das Modul plötzlich nur noch empfangen hat, aber nicht mehr senden wollte, nach umfangreicher Fehlersuche war dann klar das ich den "senden" Pin geschrottet habe. Also neues Modul und auf 2,8V runtergeregelt und seitdem keine Probleme mehr.
Was auch geholfen hat, war ein 1200uf Kondensator Am Vin Pin vom Sim800.

Also das Modul habe ich an ein Labornetzgerät angeschlossen. Wie soll ich jetzt weiter vorgehen? Bin noch ein Anfänger

Hast du es richtig angeschlossen?
Wenn ja, was kommt denn anstelle der erwarteten Antwort "OK", wenn du nach dem Einschalten
"AT" per println gesendet hast?

Dazu musst du bei

if (sim800lSerial.find("OK"))

ansetzen.

Serial.println(sim800lSerial.readString());

oder so, und im Serial Monitor schauen.

Hast du den Blink Sketch auf dem Arduino schonmal laufen lassen?
Andere Beispiele?

Schon andere Threads gelesen.

Für "funktioniert nicht" und "bin Anfänger" wird man zu Recht verhauen.

Probiere es mal nach dem Tutorial da wird auch der Spannungsteiler benutzt. Und wenns damit immer noch nicht geht, nehme ein neues Modul, weil dann hast du beim jetzigen Modul die Pins wohl schon ins Jenseits befördert.

GND vom Arduino mit GND vom Modul verbunden?
Auf dem ersten Bild sieht es aus, als könnte es (mit viel Glück) verbunden sein.
Auf dem zweiten Bild sieht man nichts mehr davon.

1 Like

Fehler bei der Kommunikation mit dem SIM800L-Modul.
Fehler beim Aktivieren des Mobilfunknetzwerks.
Das kommt anstatt dem ''OK''

Ja den Blink Sketch hab ich schonmal laufen lassen. Und kleine Projekte mit LEDS hab ich auch schonmal ausprobiert.

Ja, ist verbunden

Nein. Das kommt nicht statt OK.
Das schreibst DU, wenn nichts oder was anderes als "OK" kommt.
Lies die Referenz zu find

Viel Spaß noch.