- Materials necessaris:
- Mòdul GSM Fly Scale SIM900:
- Mòdul de veu ISD1820:
- Diagrama del circuit i explicació:
- Programació del vostre Arduino:
- Treball:
Al món actual, tots dependem dels telèfons mòbils com a principal mitjà de comunicació sense fils. Però, tots ens hem enfrontat a situacions durant les quals és possible que no puguem respondre a les nostres trucades, aquestes trucades poden ser una trucada personal important o una trucada empresarial que canvia la vida i podríeu haver perdut aquesta oportunitat ja que no heu pogut respondre trucar en aquell moment concret.
Aquest projecte té com a objectiu resoldre aquest problema creant un contestador automàtic de trucades mitjançant el mòdul Arduino i GSM. La propera vegada que canvieu a un número de telèfon nou o que feu un llarg viatge de pelegrinatge o gaudiu d’unes merescudes vacances, utilitzeu aquesta màquina per enregistrar la vostra veu indicant el motiu de l’absència i aquesta màquina i la vostra respondran automàticament a totes les vostres trucades. se’ls reproduirà la veu gravada. Això també es pot utilitzar per als números de la vostra empresa per respondre a les trucades dels vostres clients en horari extern Sona interessant oi? Així que anem a construir-lo..
Materials necessaris:
El projecte pot semblar una mica complicat, però és molt fàcil de construir, només necessiteu els components següents
- Arduino Uno
- Mòdul GSM: Flyscale SIM 900
- Mòdul de veu ISD 1820
- Adaptador de 12V per alimentar el mòdul GSM
- Bateria de 9V per alimentar Arduino
- Connexió de cables

Abans d’iniciar el projecte, familiaritzem-nos amb el mòdul GSM i el mòdul de veu ISD 1820
Mòdul GSM Fly Scale SIM900:
Els mòduls GSM són fascinants d’utilitzar sobretot quan el nostre projecte requereix accés remot. Aquests mòduls poden fer totes les accions que el nostre telèfon mòbil normal podria fer, com fer / rebre una trucada, enviar / rebre un SMS, connectar-se a Internet mitjançant GPRS, etc. També podeu connectar un micròfon i un altaveu normals a aquest mòdul i conversar al vostre telèfon. trucades mòbils. Aquí teniu alguns tutorials sobre ells mitjançant diferents microcontroladors:
- Truqueu i envieu missatges mitjançant el mòdul Arduino i GSM
- Truqueu i envieu missatges de text mitjançant el mòdul Raspberry Pi i GSM
- Interfície del mòdul GSM amb microcontrolador PIC: fer i rebre trucades
Com es mostra a la imatge següent, el mòdul GSM inclou un adaptador USART que es pot connectar directament a l'ordinador mitjançant un mòdul MAX232 o es poden utilitzar els pins Tx i Rx per connectar-lo a un microcontrolador. També podeu notar els altres pins com MIC +, MIC-, SP +, SP-, etc. on es pot connectar un micròfon o un altaveu. El mòdul es pot alimentar mitjançant un adaptador de 12V mitjançant una presa normal de barril de CC.
![]()
Introduïu la targeta SIM a la ranura del mòdul i engegueu-la, ja que notareu que s’encén un LED d’alimentació. Ara espereu un minut més o menys i hauríeu de veure un LED vermell (o qualsevol altre color) que parpellegi una vegada cada 3 segons. Això significa que el vostre mòdul va poder establir connexió amb la vostra targeta SIM. Ara podeu continuar connectant el mòdul amb el telèfon o qualsevol microcontrolador.
Mòdul de veu ISD1820:
El mòdul ISD 1820 Voice és realment un mòdul interessant que podria condimentar els vostres projectes amb anuncis de veu. Aquest mòdul és capaç de gravar un clip d'àudio durant 10 segons i després reproduir-lo quan sigui necessari. El mòdul en si inclou un micròfon i un altaveu (8ohms 0,5 watts) i hauria de ser semblant al que es mostra a continuació.


El mòdul funciona a + 5V i es pot alimentar mitjançant els pals de Berg situats a l’esquerra. També té tres botons a la part inferior que són Rec. botó, PlayE. botó i PlayL. botó respectivament. Podeu gravar la vostra veu prement el botó Rec. i reprodueix-lo amb el botó PlayE. El PlayL reproduirà la veu sempre que mantingueu premut el botó. Quan fem interfícies amb una MCU, podem utilitzar els pins de l’esquerra. Aquests pins són tolerables de 3V a 5V i, per tant, poden ser accionats directament per Arduino / ESP8266. Al nostre projecte estem controlant el pin PLAYE mitjançant el pin D8 del nostre mòdul Arduino. De manera que puguem reproduir la veu gravada quan una trucada sigui detectada i rebuda pel mòdul GSM.
Diagrama del circuit i explicació:

El diagrama complet del circuit d’aquest projecte de resposta automàtica de trucades de veu es presenta a la part superior. Com podeu veure, les connexions són realment senzilles. Alimentem el mòdul GSM amb un adaptador de 12V 1A i Arduino amb bateria de 9V, el mòdul ISD Voice s’alimenta del pin + 5V de l’Arduino. Com sabem, podem gravar qualsevol cosa al nostre mòdul de veu prement el botó rec i això es reproduirà quan es prem PE, aquest àudio s’ha d’enviar al micròfon del mòdul GSM. Per tant, connectem el pin de l’altaveu del mòdul Voice al pin del micròfon del mòdul GSM.
Aquí, el mòdul Arduino i GSM es connecta en sèrie, el pin Tx d'Arduino està connectat al pin 9 i el pin Rx està connectat al pin 10. Això ajudarà l'Arduino a escoltar el mòdul GSM. Quan arriba una trucada al mòdul GSM, Arduino l'escoltarà i demanarà al mòdul GSM que respongui a la trucada. L'Arduino s'assegura que la trucada està activa i, a continuació, reprodueix el missatge de veu gravat al mòdul de veu fent que el pin 8 (connectat al mòdul de veu del PE) augmenti durant 200 ms.
Programació del vostre Arduino:
Sabem pel paràgraf anterior quin és el paper d'Arduino aquí; ara fem una ullada al codi que fa el mateix. El codi Arduino complet del projecte es dóna a la part inferior d’aquesta pàgina, més endavant aquí he vessat el codi en petits idiotes per explicar-ho.
Abans de precedir la instal·lació de la biblioteca GSM, feu clic a aquest enllaç de la biblioteca GSM de Github per descarregar la biblioteca utilitzada en aquest projecte. Rebreu un fitxer zip que haureu d’afegir a la vostra biblioteca Arduino mitjançant Sketch -> Inclou Librarey -> Afegeix un fitxer.Zip .
Les tres primeres línies del codi que es mostren a continuació s’utilitzen per incloure la biblioteca al nostre codi. Utilitzem la biblioteca en sèrie i la biblioteca de cables perquè no fem servir els pins Rx i Tx per defecte de l’Arduino per comunicar-nos amb el mòdul GSM.
#incloure
Ens permeten la comunicació en sèrie en els pins 9 i 10 utilitzant la següent línia. Això és possible gràcies a la biblioteca en sèrie del programari que hem inclòs més amunt.
SoftwareSerial gprs (9,10); // TX, RX
Dins de la nostra funció de configuració , inicialitzem el monitor sèrie a una velocitat de 9600 baud i el mòdul GSM també s’inicialitza amb 9600 baudrate. El pin 8 que activa la veu es declara com a pin de sortida.
configuració nul·la () {Serial.begin (9600); // El monitor sèrie funciona amb 9600 baudrate per a la depuració de sim900_init (& gprs, 9600); // El mòdul GSM funciona amb 9600 baudrate pinMode (8, OUTPUT); // fixar per activar Voice Serial.println ("Arduino - Màquina de veu automàtica"); }
A continuació, hem de crear una funció que pugui llegir i entendre el que diu el mòdul GSM a través del seu port sèrie. Si utilitzem una línia de lectura en sèrie simple com "gprs.read ()" per llegir el missatge, els obtindrem en forma de valors decimals ASCII, això no tindrà cap sentit per a nosaltres.
Per tant, la següent funció s’utilitza per convertir aquests valors decimals a cadenes mitjançant objectes de cadena i, a continuació, concatenar-los per formar una cadena. El valor final de la cadena s’emmagatzema a la variable Fdata , que és de tipus cadena i es pot utilitzar per comparar amb qualsevol valor de cadena.
void check_Incoming () {if (gprs.available ()) // Si GSM diu alguna cosa {Incomingch = gprs.read (); // Escolteu-lo i emmagatzemeu-lo en aquesta variable si (Incomingch == 10 - Incomingch == 13) // Si diu espai (10) o Newline (13) vol dir que ha completat una paraula {Serial.println (dades); Fdata = dades; dades = ""; } // Imprimiu la paraula i esborreu la variable per començar de nou {String newchar = String (char (Incomingch)); // converteix el caràcter en cadena mitjançant objectes de cadena data = data + newchar; // Després de convertir-lo en cadena, feu la concatenació de cadenes}}}
Les línies següents s’utilitzen per a la depuració, amb aquestes línies de depuració podeu enviar qualsevol ordre AT des del monitor sèrie d’Arduino a GSM i també veure quines són les respostes al monitor sèrie.
if (Serial.available ()) {// S'utilitza per depurar gprs.write (Serial.read ()); // S'utilitza per depurar} // S'utilitza per depurar
Com s’ha dit anteriorment, l’Arduino ha de comprovar si el mòdul GSM rep trucades. Això es pot fer fent que Arduino comprovi si hi ha " RING " perquè el mòdul GSM sortirà RING en cas de trucada segons la llista d'ordres AT. Quan trobi una trucada, esperarà 5 segons i enviarà l'ordre " ATA " al mòdul GSM, el mòdul GSM respondrà a la trucada i, després de respondre, respondrà amb "OK". L'Arduino torna a esperar l' acceptació " OK " i, a continuació, gira el pin 8 a 200 ms per reproduir la veu gravada des del mòdul de veu.
if (Fdata == "RING") // Si el mòdul GSM diu RING {delay (5000); // espereu 5 segons per crear un retard de 3 timbres. gprs.write ("ATA \ r \ n"); // Respondre a la trucada Serial.println ("Col·locat rebut"); // S’utilitza per depurar mentre (Fdata! = "OK") // Fins que la trucada no hagi estat contestada correctament {check_Incoming (); // Llegiu el que diu el mode GSM Serial.println ("Reproducció de missatges gravats"); // S’utilitza per depurar // Reprodueix el retard de missatges de veu registrats (500); digitalWrite (8, ALT); // Anar amb retard elevat (200); // espereu 200 msec digitalWrite (8, BAIX); // Baixa}
Treball:
Un cop el codi i el maquinari estiguin preparats, és hora de divertir-vos. Enceneu els mòduls i premeu el botó REC del mòdul de veu i enregistreu un missatge. Aquest missatge només pot durar 10 segons.

Ara programeu el vostre Arduino mitjançant el codi indicat a continuació i introduïu el cotxe SIM al mòdul GSM; haureu d’esperar almenys 2 minuts ara perquè el mòdul GSM pugui establir connexió amb el vostre proveïdor de serveis de xarxa. Un cop fet, hauríeu de veure un LED de color vermell parpellejant una vegada per cada 3 segons; això indica que la vostra targeta SIM està preparada per rebre trucades. Ara podeu provar de trucar a aquesta targeta SIM des de qualsevol número i hauríeu d’escoltar el missatge gravat després de tres trucades contínues. El funcionament complet del projecte es mostra al vídeo següent.
Tadaaaaaa !!! Ara teniu el vostre propi contestador automàtic de trucades de veu i seguiu endavant i utilitzeu-lo quan sigui necessari i sorprengueu els vostres amics i familiars.
Espero que us hagi agradat el projecte i construïu alguna cosa similar. Si teniu algun problema, publiqueu-los a la secció de comentaris i us ajudaré.
