Hallo zusammen,
irgendwie blicke ich es nicht, oder sehe den Wald vor lauter Bäumen nicht ?
Ich bin vor ca. 6 Monaten mit den Arduinos angefangen und konnte mir bis heute bei meinen Projekten immer ganz gut weiterhelfen, auch als mitlesender hier im Forum. Doch nun komme ich irgendwie nicht mehr weiter.
Ich hatte mir ein GSM Modul gekauft: SainSmart Kompatibel Drahtlos Module Für GSM SIEMENS TC35 SMS Module Board UART/RS232.
Soweit habe ich es auch am laufen, doch nun wollte ich es ganz banal schalten, wenn ein Digital Pin am Arduino Nano geschaltet wird. So läuft das Modul wie gesagt perfekt. Ich glaube, ich habe einfach nur ein Brett vor dem Kopf
.
Hier ein Auszug aus dem Setup:
void setup() /----( SETUP: RUNS ONCE )----/
{
gsmSerial.begin(9600);
delay(2000);
Serial.begin(9600); // Used to type in characters
Serial.println("System startet...");
mlx.begin();
//Autostart des GSM-Moduls
pinMode(6, INPUT);
digitalWrite(6, LOW);
pinMode(6, OUTPUT);
delay(100);
pinMode(6, INPUT);
//Konfiguration des Relais-Outputs
pinMode(RELAIS10, OUTPUT);
pinMode(RELAIS9, OUTPUT);
pinMode(RELAIS8, OUTPUT);
pinMode(RELAIS7, OUTPUT);
Ich nutze eine Melexis-Infrarotmessung um ab einer bestimmten Temperatur einen Pin zu schalten.
Hier noch das Loop:
//Schaltbedingung für das Relais - Wann soll der Alarm ausgelöst werden
if (mlx.readObjectTempC() <= -8.0)
{
digitalWrite(RELAIS10, HIGH); // RELAIS anschalten
}
else
{
digitalWrite(RELAIS10, LOW); // RELAIS ausschalten
}
// Status des Sensors - LED Anzeige
if (mlx.readObjectTempC() >= 100.00)
{
digitalWrite(RELAIS9, HIGH); //Störungs-LED (Rot) An - Messung Defekt
digitalWrite(RELAIS8, LOW);
digitalWrite(RELAIS7, LOW);
}
else
{ digitalWrite(RELAIS9, LOW);
if (mlx.readObjectTempC() <= -8.0)
{
digitalWrite(RELAIS8, HIGH); //Status: Anzeige-LED (Gelb) - Erkennung positiv
digitalWrite(RELAIS7, LOW);
}
else
{ digitalWrite(RELAIS8, LOW); //Status: Anzeige-LED (Gelb) - Erkennung negativ
if (mlx.readObjectTempC() >= -8.0)
{
digitalWrite(RELAIS7, HIGH); //Status: Sensor aktiv - Betriebs-LED (Grün) an
}
else
{ digitalWrite(RELAIS7, LOW); //Status: Sensor aktiv - Betriebs-LED (Grün) aus
Wie muss ich den folgenden Block in das Loop eintragen, damit die dieser bei dem Schalten von Relais 8 gesendet wird ?
GSM-Loop-Block:
sendTextMessage();
delay(300000);
}
void sendTextMessage() {
gsmSerial.print("AT+CMGF=1\r");
delay(100);
gsmSerial.println("AT+CMGS="+49XXXXXXXXX"");
delay(100);
gsmSerial.print("Temperatur erreicht");
delay(100);
gsmSerial.println((char)26);
Ich bin da derzeit echt überfragt, wie das gehen soll.
Habt ihr da noch eine Idee ?
Viele Grüße und besten Dank
André