0% encontró este documento útil (0 votos)
52 vistas1 página

Programa Ejemplo Arduino M95

Este programa enciende un módulo M95 mediante pines de control y establece conexión serial para comunicarse con él. Detecta cuando se presiona un pulsador y hace que el M95 realice una llamada a un número predefinido. Configura los canales de audio para que funcione correctamente el micrófono y altavoz a través de un conector de 3.5 mm.

Cargado por

Galo Cárdenas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas1 página

Programa Ejemplo Arduino M95

Este programa enciende un módulo M95 mediante pines de control y establece conexión serial para comunicarse con él. Detecta cuando se presiona un pulsador y hace que el M95 realice una llamada a un número predefinido. Configura los canales de audio para que funcione correctamente el micrófono y altavoz a través de un conector de 3.5 mm.

Cargado por

Galo Cárdenas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

//este programa de ejemplo, enciende el M95 (si está apagado), luego incia conexion serial y se queda censando un pulsador.

//al accionar el pulsador, el arduino manda al M95 a hacer una llamada de voz a un numero predefinido en programa.

int led = 13; //led indicacion general


int pwrkey = 2; //salida, normalmente en 0 (con 0 en el pin, el transistor esta en corte y pwrkey esta en 1 por el M95)
int eoff = 3; //salida, normalmente en 0 (con 0 en el pin, el transistor esta en corte y eoff esta en 1 por el M95)
int stat = 4; //entrada, censar status del M95
int pulsador = 12; // pulsador de accion --> puede ser cualquier otro pin I/O (a parte del 0,1,2,3,4 y 13)
int val=0;

void setup(){
pinMode(0, INPUT); //RX del arduino
pinMode(1, OUTPUT); //TX del arduino
pinMode(led, OUTPUT); digitalWrite(led, LOW); //led del arduino
pinMode(pwrkey, OUTPUT); digitalWrite(pwrkey, LOW); //salida que opera el terminal PWRKEY del M95
pinMode(eoff, OUTPUT); digitalWrite(eoff, LOW); //salida que opera el terminal E_OFF del M95
pinMode(stat, INPUT_PULLUP); //entrada con pullup para censar el STATUS del M95
pinMode(pulsador, INPUT_PULLUP); //entrada con pull-up --> conectar pulsador N/A a GND en este pin.
delay(10);
if((digitalRead(stat))==LOW){ //revisar si el M95 esta apagado
digitalWrite(pwrkey, HIGH);while((digitalRead(stat))==LOW) //prender el M95, acciona pwrkey hasta que status sea 1
{delay(200);}
digitalWrite(pwrkey, LOW);
}
delay(100);
Serial.begin(115200); //inicia el puerto serial del Arduino (pines 0 y 1), para comunicarse con el M95
delay(100);
while((Serial.available())==0)//enviar AT continuamente y esperar a que el M95 rsponda OK. Hace prender y apagar el led (pin
13), para visualizar este paso.
{Serial.println("AT");digitalWrite(led, HIGH);delay(200);digitalWrite(led, LOW);delay(200);}

//Ajutar configuracion de audio, seleccionar MIC2 Y LOUDSPK.-> Para que el plug de audio (3.5mm) en el Shield funcione
correctamente.
delay(50); Serial.println("AT+QAUDCH=2");
delay(50); Serial.println("AT+QMIC=2,12");
delay(50);

void loop() {
digitalWrite(led, HIGH); // Todo OK, el led del pin 13 queda prendido.

while(1){
val = digitalRead(pulsador);//leer continuamente el pulsador. Siempre esta an HIGH (por la pull-up) y pasa a LOW al
presionarlo.
if(val==LOW){llamar();} //al presionar el boton, llamar a un numero.
}
}

void llamar(){
digitalWrite(led, LOW);delay(200); //apaga led (pin 13).
Serial.println("ATD3175172426;"); // ** CAMBIE ESTE NUMERO POR UNO DONDE USTED PUEDA RESPONDER.
// ** P/E, PARA EL NUMERO 3156709900 EL PARENTESIS QUEDARIA: ("ATD3156709900;")
// ** SIEMPRE USE EL ; (PUNTO Y COMA) DESPUES DEL NUMERO, dentor de las comillas dobles,
es parte del comando ATD.
digitalWrite(led, HIGH); //prende led (pin 13), para ver que esta función se ejecutó.
}

También podría gustarte