Ich habe einen SIM800l 6V, und einen Arduino uno.
Ich bin schon seit zwei wochen dran meinen arduino uno darauf zu programmieren das er eine nachricht schicken soll. Wenn ich auf einen button drücke der an den stromkreis angeschlossen zeigt der serial monitor an das auf pin 2 zu viel strom reinkommt aber der SIM800l sendet keine nachricht geschweigen den das er blink.
Der programm code sieht so aus.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10);
void setup()
{ pinMode(2 , INPUT_PULLUP);
mySerial.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino)
delay(100);
}
void loop()
{
if (digitalRead(2)==LOW){
int X = Serial.read();
if (mySerial.available()>0)
Serial.write(mySerial.read());
}
void SendMessage(String z)
{
mySerial.println("AT+CMGF=1"); // Sets the GSM Module in Text Mode
delay(60000); // Delay 1000 milliseconds or 1s x60
mySerial.println("AT+CMGS="+4176xxxxxxx"\r"); // Replace x with mobile number
delay(1000);
mySerial.println(Die Maschine BOY T30 meldet Alarm); // The SMS text you want to send
delay(100);
mySerial.println((char)26); // ASCII code of CTRL+Z
delay(1000);
}
Danke für Ihre Antwort. Ich bin sehr froh, da ich mich erst in das Thema einarbeite und schon bald naht das Ende der Schularbeit (7. Klasse).
Die Pause vor dem Absenden der Nachricht ist dazu da, um einen Fehlalarm, der vom Bediener der Maschine bestätigt werden könnte, abzufangen. Für Testzwecke ist aber eine kürzere Verzögerung sicher besser. Ich werde das anpassen.
Leider löst das mein momentanes Problem (noch) nicht. Die PIN auf der SIM-Karte habe ich bereits entfernt. Der Hinweis mit der Stromversorgung mit mindestens 2A ist sehr hilfreich. Das werde ich wohl als Erstes machen und mich dann nochmals melden.
Wie kann ich prüfen, ob der SIM800L 5V-konform ist?
Poste bitte mal einen Link deines Sim800, dann können wir sicher erkennen, welche Spannung er genau benötigt.
Was genau ist damit gemeint, "der serielle Monitor meldet, dass am Pin 2 zuviel Strom rein kommt" ?
arduinobest:
Hier sind bilder wie mein SIM800l aussieht.
Warum postest du keinen Link vom Lieferanten ?
Nur da sehen wir ein richtiges Datenblatt.
Aber so wie das Bild aussieht, ist es ein schlechtes Modul.
Da wird die VCC über 2 Dioden geleitet. Das ist sehr schlecht für eine stabile Funktion.
Mein Tipp, finde einen Pin, an dem du eine Spannung von 4,3Volt anlegen kannst und betreibe das Modul dann mit 4,3V, nur so funktioniert das sicher. Alles andere ist Bastelkram und nicht sicher, dass es funktioniert.
Und wo steht die Warnung: zu viel Spannung auf Pin 2 ?
Abhängig von der Implementierung des SIM800-Moduls kann es Fehler als Nachrichten auf der Tx-Leitung auslösen oder einfach nicht richtig funktionieren.
Mein modul leuft ohne 5,1 volt nicht
==> #3... Poste bitte mal einen Link deines Sim800, dann können wir sicher erkennen, welche Spannung er genau benötigt.
Auf dem Modul befunden sich 2 Dioden, die die Versorgungsspannung von 5 Volt auf eine vom GSM-Modul benötigte Spannung reduzieren.
Und genau das ist dein Problem. Diese Reduzierung funktioniert meist nicht.
Daher mein Tipp: suche den Anschluss auf der Platine, die eine Spannung von 4,3V benötigt und versorge dein Modul mit den stabilen 4,3Volt aus einem Stepdown-Regler und du wirst dein Problem lösen können..
Alles andere ist Bastelkram und führt zu keinem Ziel.
Edit:
Im übrigen hatten wir dieses Thema schon öfter hier und da hat nur diese Änderung richtig geholfen.
Sorry für die Verzögerung, ich habe eine Weile rumprobiert und verschiedene Konfigurationen durchgetestet.
Ich habe den Arduino komplett ausgewechselt weil ich mein Programm nicht fehlerfrei hochladen konnte, und jetzt geht wenigstens das Hochladen des Codes.
Danach habe ich den SIM800l direkt mit Spannung versorgt, betreibe ihn jetzt mit 4,3 Volt von einem Labornetzteil, wie von HotSystems vorgeschlagen. Genug stabile Power sollte also jetzt anliegen.
Danach habe ich ein Kabel vom 5 Volt pin des Arduinos auf das Breadboard gezogen wo ein Taster befestigt ist, und mit einem anderen Kabel ging gebe ich das Signal weiter auf Pin 2 des Arduinos. Wen man nun den Taste mindestens eine Sekunde drückt, fliessen die 5 Volt auf Pin2. Obwohl ich mit dem Multimeter geprüft habe, dass die 5 Volt anliegen, wird keine Nachricht am Mobiltelefon empfangen. Wie kann ich feststellen,ob der Arduino auch etwas macht? Oder ob er den Input überhaupt erhält. Ich denke, das sollte doch mit Serial monitor gehen, aber dazu müsste ich den Code noch ergänzen, wenn ich die Beschreibung richtig interpretiere.
Nach mir sollte die Mitteilung mit dem Arduino gesendet werden können. Oder habe ich einen Fehler gemacht?
ANbei das Setup mit dem Arduino und dem GSM-Modul auf dem Breadboard.
Ich freu mich auf einen hilfreichen Tip, denn ich weiss nicht mehr weiter.
Constantin
arduinobest:
Danach habe ich den SIM800l direkt mit Spannung versorgt, betreibe ihn jetzt mit 4,3 Volt von einem Labornetzteil, wie von HotSystems vorgeschlagen. Genug stabile Power sollte also jetzt anliegen.
Und wo bzw. wie hast du die 4,3Volt angeschlossen ?