GSM Relais schalten

Hallo Arduino Gemeinde.

Ist mir einwenig Peindlich das ich mein Problem nicht selber auf die Reihe bringe.

Folgenden Situation:
Ich habe ein Arduino UNO, ein GSM Modul A6 und eine Relais Karte
Ich möchte das das Arduino bei eingehen einer SMS eine Pin Schaltet für ein Relais und dies für eine Bestimmte zeit. Der Absender und der Inahlt der SMS sind nicht Relevant.

Ein Sketch für die Komunikation des Arduinos und des GSM Modul habe ich.

Jetzt meine Frage wo und wie muss ich den Sketch anpassen das einen Pin geschaltet wird.

Vielen Dank schon mal.

Hier noch den Sketch:

#include <SoftwareSerial.h>

//Create software serial object to communicate with A6
SoftwareSerial mySerial(3, 2); //A6 Tx & Rx is connected to Arduino #3 & #2

void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  
  //Begin serial communication with Arduino and A6
  mySerial.begin(9600);

  Serial.println("Initializing..."); 
  delay(1000);

  mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
  updateSerial();
  
  mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
  updateSerial();
  mySerial.println("AT+CNMI=1,2,0,0,0"); // Decides how newly arrived SMS messages should be handled
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
}

Das muss dir doch nicht peinlich sein
Aber, dass du nach 2 Jahren immer noch nicht weißt, dass man Sketch in Code-Tags postet, damit diese auch lesbar sind, ist schon bemerkenswert.

wo und wie muss ich den Sketch anpassen das einen Pin geschaltet wird

Wo ist egal, irgendwo in loop() oder in einer dort aufgerufenen Funktion.
Wie ist auch egal, digitalWrite ist die Arduino-Funktion dafür.
Mit dem Setzen des Pins musst du dir zusätzlich die Zeit ( millis() ) merken wann das passierte. Und später prüfen, ob diese Zeit lang genug vorbei ist, um den Pin wieder zurück zu schalten.

Du machst immer noch alles in einer Funktion namens updateSerial(). Deren Name sagt aber klar, dass sie nicht für Relais schalten zuständig ist. Deine Funktionsbeschreibung deutet auch nicht an, dass du das GSM-Shield per SerialMonitor mit händischen AT - Kommandos steuern willst. Solltest also erst mal deinen Sketch von "gefundenes Beispiel" auf "eigenen Sketch" umschreiben.

Du sagst auch, dass Inhalt und Absender egal sind. Aber eine empfangene SMS möchte es schon sein, oder?

Ja das mit dem Sketch in ein Code-Tags Posten kommt davon wenn mann sich nur selten im Forum aktive zeigt :roll_eyes:

Da meine Programmier Künste sehr sehr bescheiden sind und ich mehr die Idee habe. Habe ich mir mal nach einem Sketch umgeschaut und den gfunden. Leider macht diser Sketch noch nicht ganz das was ich möchte. Es sollte eifach ein Relais geschalteten werden für eine gewisse Zeit wenn eine SMS eingeht.