0
Κάνω έλεγχο στον κώδικα αφού εγκατέστησα τις βιβλιοθήκεςhttps://forum.arduino.cc/index.php?topic=329604.0
Διάβασε αυτό το νήμα.
Δεύτερον, δοκίμασε αυτό εδώ, είναι πολύ γρήγορο χωρίς πολλή σκέψη, τουλάχιστον να δεις αν κάνει κάτι:
Οι βιβλιοθήκες συνημμένες.Κώδικας:#include <Wire.h> #include "SIM900.h" #include <SoftwareSerial.h> #include "sms.h" //=========================================== #define relay_1 5//DIGITAL PIN D5 #define relay_2 6//DIGITAL PIN D6 #define relay_3 7//DIGITAL PIN D7 #define relay_4 8//DIGITAL PIN D8 #define A6_POWER_PIN 9//DIGITAL PIN D9 for power up modem //=========================================== SMSGSM sms; //instance for the modem //=========================================== boolean started = false; char telnumber_1[] = "+306999999999"; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ char pos; char *p; char phone_number[20]; // array for the phone number string char message[250]; int i = 0; //=========================================== void setup() { Wire.begin(); Serial.begin(9600); pinMode(relay_1, OUTPUT); pinMode(relay_2, OUTPUT); pinMode(relay_3, OUTPUT); pinMode(relay_4, OUTPUT); pinMode(A6_POWER_PIN, OUTPUT); digitalWrite(relay_1, LOW); digitalWrite(relay_2, LOW); digitalWrite(relay_3, LOW); digitalWrite(relay_4, LOW); digitalWrite(A6_POWER_PIN, LOW); A6Power(); if (gsm.begin(9600)) { started=true; } } //=========================================== void loop() { if(started) { pos = sms.IsSMSPresent(SMS_UNREAD); if((int)pos > 0 && (int)pos <= 20) { sms.GetSMS(pos, phone_number, message, 100); if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ { chooseRelayOutput(); } pos = sms.IsSMSPresent(SMS_READ); } delay(1000); } } //=========================================== void A6Power() { digitalWrite(A6_POWER_PIN, LOW); delay(1000); digitalWrite(A6_POWER_PIN, HIGH); delay(2000); digitalWrite(A6_POWER_PIN, LOW); } //=========================================== void chooseRelayOutput() { if(p == strstr(message,"RE1 ON"))//Πρέπει να στείλεις μήνυμα με το περιεχόμενο "RE1 ON" { digitalWrite(relay_1, HIGH); } else if(p == strstr(message,"RE1 OFF")) { digitalWrite(relay_1, LOW); } else if(p == strstr(message,"RE2 ON")) { digitalWrite(relay_2, HIGH); } else if(p == strstr(message,"RE2 OFF")) { digitalWrite(relay_2, LOW); } else if(p == strstr(message,"RE3 ON")) { digitalWrite(relay_3, HIGH); } else if(p == strstr(message,"RE3 OFF")) { digitalWrite(relay_3, LOW); } else if(p == strstr(message,"RE4 ON")) { digitalWrite(relay_4, HIGH); } else if(p == strstr(message,"RE4 OFF")) { digitalWrite(relay_4, LOW); } sms.DeleteSMS((int)pos); } //=========================================== //=========================================== //=========================================== //===========================================
και εκεί που γράφεις την εντολή :
A6Power(); --> αυτήν την γραμμή την κάνει ροζ και μου γράφει κάτω στο σφάλμα...'A6Power' was not declared in this scope
if(gsm,begin(9600))
{
started =true;
}