logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Arduino Nano z modulem SIM800L - Alarm nie dzwoni, mimo poprawnej komunikacji AT

tomeczekqq 16 Sty 2023 22:11 543 3
REKLAMA
  • #1 20389188
    tomeczekqq
    Poziom 5  
    Posty: 25
    Witam mam problem próbuje zrobić alarm na Arduino nano i module sim 800l. Z modułu można się połączyć za pomocą komendy AT można też połączyć się z modułem, to znaczy jest sygnał jak dzwoni się z innego numeru. Na podglądzie portu szeregowego pisze że wykrył ruch i dzwoni, ale nie dzwoni. W kodzie nr telefonu na który ma dzwonić moduł zastąpiłem # poza tym wszystko jest tak jak wgrywam na Arduino.
    #include <SoftwareSerial.h>
    
    //Alarm reciever's phone number with country code
    const String PHONE = "+48#########";
    
    //GSM Module RX pin to Arduino 3
    //GSM Module TX pin to Arduino 2
    #define rxPin 2
    #define txPin 3
    SoftwareSerial sim800(rxPin,txPin);
    
    //the pin that the pir sensor is atteched to
    int pir_sensor = 11;
    
    void setup() {
      pinMode(pir_sensor, INPUT);    // initialize sensor as an input
      Serial.begin(115200);          // initialize serial
    
      sim800.begin(9600);
      Serial.println("SIM800L software serial initialize");
    
      sim800.println("AT");
      delay(1000);
      sim800.println("AT+CREG?");
      delay(1000);
      while(sim800.available()){
        Serial.println(sim800.readString());
      }
    }
    
    void loop(){
      int val = digitalRead(pir_sensor);  // read sensor value
      if (val == LOW) {                  // check if the sensor is HIGH
        //state = LOW;
        Serial.println("Motion detected!");
        Serial.println("calling....");
        delay(1000);
        sim800.println("ATD+48#########;");
        delay(20000); //20 sec delay
      }
    }
    
  • REKLAMA
  • REKLAMA
  • #3 20406795
    tomeczekqq
    Poziom 5  
    Posty: 25
    Witam tak skompilowany kod działa :) Sorki mam 53 lata i zaczynam przygodę z arduino nie wiele z tego rozumiem ale sie staram :)
    Cytat:
    #include <SoftwareSerial.h>

    const String PHONE = "+48#########"; //Alarm reciever's phone number with country code
    #define rxPin 2
    #define txPin 3

    SoftwareSerial sim800(rxPin,txPin);

    int pir_sensor = 11;

    void setup() {
    pinMode(pir_sensor, INPUT); // initialize sensor as an input
    Serial.begin(115200); // initialize serial
    sim800.begin(9600);
    Serial.println("SIM800L software serial initialize");
    sim800.println("AT+CMGF=1"); // set SMS mode to text
    delay(1000);
    sim800.println("AT+CLIP=1"); //enable calling line identification
    }

    void loop(){
    int val = digitalRead(pir_sensor); // read sensor value
    if (val == LOW) { // check if the sensor is LOW
    Serial.println("Motion detected!");
    Serial.println("calling....");
    delay(1000);
    sim800.println("ATD+48#########;");
    delay(20000); //20 sec delay
    }
    }
  • #4 20410807
    tomeczekqq
    Poziom 5  
    Posty: 25
    Powyższy kod zadziałał dziekuje za pomoc:)
REKLAMA