SIM900A envia SMS cuando sensor Ultrasónico esta a menos de 10cm

necesito ayuda, tengo un proyecto el cual consiste en activar un sensor ultrasonico, el cual al activarse active un buzzer y active un modulo SIM900A v3.8.2 el cual notifique ya sea por mensaje o una llamada al numero asignado cuando el sensor ultrasonico sea activado el cual se activa al detectar movimiento a una distancia menor a 10cm. Solo he logrado hacer la funcion del sensor ultrasonico, pero no encuentro como activar el modelo sim900a para que realize mensaje de texto o llamada telefonica, aca comparto el codigo, por favor ayuda.

#include <SoftwareSerial.h>
SoftwareSerial SIM900A(10, 11);

#define trig 7 // Emisor de pulso o señal
#define echo 6 // Receptor "del eco" del pulso o señal
#define buzzer 12 // Zumbador

void setup() {
  SIM900A.begin(9600); // Configurando el módulo GSM
  Serial.begin(9600); // Configurando el Monitor Serial (Arduino)
  Serial.println("SIM900A Listo");
  pinMode(trig, OUTPUT); // Emisor
  pinMode(echo, INPUT); // Receptor
  pinMode(buzzer, OUTPUT); // Zumbador
}

void loop() {
  // Bucle para el sensor ultrasónico
  long duration, distance;
  digitalWrite(trig, LOW);
  delayMicroseconds(1);
  digitalWrite(trig, HIGH);
  delayMicroseconds(5);
  digitalWrite(trig, LOW);
  duration = pulseIn(echo, HIGH);
  distance = (duration / 2) * 0.0343;

  if (distance < 10) {
    RealizarLlamada(); // Si la distancia es menor a 10 cm, se realiza la llamada
    tone(buzzer, 1000);
    delay(5000);
  } else {
    noTone(buzzer);
  }
}

void RealizarLlamada() {
  Serial.println("Realizando llamada");
  SIM900A.println("ATD+503XXXX;"); // Reemplaza la XXXXXX con el número al que deseas llamar
  delay(1000);
  Serial.println("Llamada realizada");
}

Has confirmado que la velocidad del puerto serie del SIM900 está seteada a 9600?

Intenta cambiando

  SIM900A.begin(9600); // Configurando el módulo GSM

por

  SIM900A.begin(19200); 

por si acaso es eso.

Gracias por responder, hice el cambio que me menciono, pero no logro hacer que realize la llamada al numero asignado, algo que olvide mensionar es que al modulo sim le he colocado un chip movistar, tendra algo que ver eso ?

Aqui le muestro fisicamente como esta realizado, el codigo es el mismo, solo logro hacer que funcione el sensor ultrasonico, activa el buzzer y en el monitor serial muestra el proceso de envio de llamada pero no recibo la llamada en el numero telefonico que le e asignado

Aquí se discute un caso que puede darte la solución: https://forum.arduino.cc/t/sim900a-serial-read-returns-messy-string-and-sms-sending-error/934818/17

Moderador:
Titulo modificado de acuerdo a las normas del Foro.
Ver Punto 5.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.