- Mga Materyal na Kinakailangan:
- Fly Scale SIM900 GSM Module:
- ISD1820 module ng Boses:
- Circuit Diagram at Paliwanag:
- Programming ang iyong Arduino:
- Nagtatrabaho:
Sa modernong mundo ngayon lahat tayo ay nakasalalay sa mga mobile phone bilang aming pangunahing paraan ng komunikasyon sa wireless. Ngunit, lahat tayo ay nahaharap sa mga sitwasyon kung saan maaaring hindi namin masagot ang aming mga tawag, ang mga tawag na ito ay maaaring isang mahalagang personal na tawag o isang pagbabago sa buhay na tawag sa negosyo at maaaring napalampas mo lang ang pagkakataong iyon dahil hindi mo masagot iyon tumawag sa partikular na oras.
Nilalayon ng proyektong ito na malutas ang problemang ito sa pamamagitan ng paglikha ng isang Machine ng Sagot na Awtomatikong Tawag sa pamamagitan ng paggamit ng Arduino at GSM module. Sa susunod na kapag nagbago ka sa isang bagong numero ng telepono o lumabas para sa isang mahabang paglalakbay sa paglalakbay o pagtangkilik sa isang nararapat na bakasyon gamitin lamang ang machine na ito upang maitala ang iyong boses na nagsasabi ng dahilan ng kawalan at lahat ng iyong mga tawag ay awtomatikong sasagutin ng machine na ito at ng ang naitala na boses ay ipe-play sa kanila. Maaari din itong magamit para sa mga numero ng iyong negosyo upang sagutin ang mga tawag ng iyong customer sa oras na hindi pang-opisina. Tunog nakakainteres di ba? Kaya't itayo natin ito..
Mga Materyal na Kinakailangan:
Ang proyekto ay maaaring tunog medyo kumplikado ngunit ito ay talagang madaling bumuo, kailangan mo lamang ng mga sumusunod na sangkap
- Arduino Uno
- GSM module - Flyscale SIM 900
- ISD 1820 Modyul ng Boses
- 12V adapter sa power module na GSM
- 9V na baterya upang mapagana ang Arduino
- Mga kumokonekta na mga wire
Bago tayo magpatuloy sa proyekto, pamilyar tayo sa module na GSM at ISD 1820 Voice Module
Fly Scale SIM900 GSM Module:
Ang mga module ng GSM ay kamangha-manghang gamitin lalo na kung ang aming proyekto ay nangangailangan ng malayuang pag-access. Ang mga modyul na ito ay maaaring gumawa ng lahat ng mga pagkilos na magagawa ng aming normal na mobile phone, tulad ng pagtawag / pagtanggap ng isang tawag, pagpapadala / pagtanggap ng isang SMS, pagkonekta sa internet gamit ang GPRS atbp Maaari mo ring ikonekta ang isang normal na mikropono at speaker sa modyul na ito at makipag-usap sa iyong mga tawag sa mobile. Narito ang ilang mga tutorial sa kanila gamit ang iba't ibang microcontroller:
- Tumawag at Mensahe gamit ang Arduino at GSM Module
- Tumawag at Mag-text gamit ang Raspberry Pi at GSM Module
- GSM module Interfacing sa PIC Microcontroller - Gumawa at Tumanggap ng Mga Tawag
Tulad ng ipinakita sa ibaba ng larawan ang module ng GSM ay may isang USART adapter na maaaring direktang ma-interfaced sa computer sa pamamagitan ng paggamit ng isang MAX232 module o maaaring magamit ang mga Tx at Rx pin upang ikonekta ito sa isang Microcontroller. Maaari mo ring mapansin ang iba pang mga pin tulad ng MIC +, MIC-, SP +, SP- atbp kung saan maaaring makakonekta ang isang mikropono o isang Speaker. Ang module ay maaaring pinalakas ng isang 12V adapter sa pamamagitan ng isang normal na DC barrel jack.
Ipasok ang iyong SIM card sa puwang ng modyul at paganahin ito, dapat mong mapansin ang isang LED na kuryente na papatuloy. Ngayon maghintay para sa isang minuto o higit pa, at dapat mong makita ang isang pula (o anumang iba pang kulay) LED Flashing isang beses sa bawat 3 segundo. Nangangahulugan ito na ang iyong Modyul ay may kakayahang magtaguyod ng koneksyon sa iyong SIM card. Ngayon ay maaari kang magpatuloy sa pagkonekta sa iyo ng module sa Telepono o anumang Microcontroller.
ISD1820 module ng Boses:
Ang module ng ISD 1820 Voice ay talagang isang cool na module na maaaring pagandahin ang iyong Mga Proyekto sa mga anunsyo ng Voice. Ang modyul na ito ay may kakayahang magrekord ng isang Audio clip sa loob ng 10 segundo at pagkatapos ay i-play ito kung kinakailangan. Ang module mismo ay mayroong isang mikropono at isang speaker (8ohms 0.5watts) at dapat magmukhang katulad nito na ipinakita sa ibaba.
Ang module ay gumagana sa 5 V at maaaring pinapatakbo gamit ang berg patpat sa kaliwa. Mayroon din itong tatlong mga pindutan sa ibaba kung saan ay si Rec. pindutan, PlayE. pindutan at PlayL. pindutan ayon sa pagkakabanggit. Maaari mong i- record ang iyong boses sa pamamagitan ng pagpindot sa Rec. pindutan at i-play ito gamit ang pindutang PlayE. Patugtugin ng PlayL ang boses hangga't hawak mo ang pindutan. Kapag nakikipag-ugnay sa isang MCU, maaari naming gamitin ang mga pin sa kaliwa. Ang mga pin na ito ay matatagalan ng 3V-5V at samakatuwid ay maaaring direktang hinihimok ng Arduino / ESP8266. Sa aming proyekto kinokontrol namin ang PLAYE pin gamit ang D8 pin ng aming Arduino module. Upang maaari naming i-play ang naitala na boses kapag ang isang tawag ay napansin at natanggap ng module ng GSM.
Circuit Diagram at Paliwanag:
Ang kumpletong diagram ng circuit ng proyekto ng Machine na tumutugon sa Awtomatikong Tawag sa Boses na ito ay ibinigay sa itaas. Tulad ng nakikita mo ang mga koneksyon ay talagang simple. Pinapagana namin ang module na GSM na may 12V 1A adapter at Arduino na may 9V na baterya, ang module na ISD Voice ay pinalakas ng + 5V pin ng Arduino. Tulad ng pagkakaalam na maaari nating mai-record ang anuman sa aming module ng boses sa pamamagitan ng pagpindot sa rec button at magpapalaro ito kapag pinindot ang PE, ang audio na ito ay kailangang maipadala sa mikropono ng module na GSM. Kaya ikinonekta namin ang speaker pin ng module ng Voice sa pin ng mikropono ng module na GSM.
Dito, ang Arduino at GSM module ay nakakonekta nang serial, ang Tx pin ng Arduino ay konektado sa pin 9 at ang Rx pin ay konektado pin 10. Makatutulong ito sa Arduino na makinig sa module ng GSM. Kapag dumating ang isang tawag sa module ng GSM makikinig ang Arduino dito at hilingin sa module ng GSM na sagutin ang tawag. Tinitiyak ng Arduino na ang tawag ay aktibo at pagkatapos ay i-play ang naitala na mensahe ng boses sa module ng boses sa pamamagitan ng paggawa ng pin 8 (Nakakonekta sa PE ng module ng boses) na mataas para sa 200ms.
Programming ang iyong Arduino:
Alam natin mula sa itaas na talata kung ano ang papel na ginagampanan ng Arduino dito; tingnan natin ngayon ang code na gumagawa ng pareho. Ang kumpletong Arduino code ng proyekto ay ibinibigay sa ilalim ng pahinang ito, karagdagang narito naibuhos ko ang code sa maliliit na junks upang ipaliwanag ito.
Bago namin mauna ang anumang karagdagang pag- install ng GSM Library, mangyaring mag-click sa link ng library ng Github GSM upang i-download ang library na ginamit sa proyektong ito. Makakakuha ka ng isang zip file na kung saan ay dapat idagdag sa iyong Arduino library sa pamamagitan ng Sketch -> Isama ang Libraryarey -> Magdagdag ng.Zip file .
Ang unang tatlong linya ng code na ipinakita sa ibaba ay ginagamit upang isama ang library sa aming code. Ginagamit namin ang serial library at wire library dahil hindi namin ginagamit ang default na mga pin ng Rx at Tx ng Arduino upang makipag-usap sa module ng GSM.
# isama
Pinapagana namin ang serial na komunikasyon sa mga pin 9 at 10 gamit ang sumusunod na linya. Ginawa itong posible ng software serial library na isinama namin sa itaas.
SoftwareSerial gprs (9,10); // TX, RX
Sa loob ng aming pag- andar sa pag- set up , pinasimulan namin ang serial monitor sa 9600 baud rate at ang module ng GSM ay pinasimulan din ng 9600 Baudrate. Ang pin 8 na nagpapalitaw ng boses ay idineklarang output pin.
void setup () {Serial.begin (9600); // Gumagawa ang serial monitor sa 9600 baudrate para sa pag-debug ng sim900_init (& gprs, 9600); // GSM module works on 9600 baudrate pinMode (8, OUTPUT); // pin upang i-on ang Voice Serial.println ("Arduino - Awtomatikong Voice Machine"); }
Susunod na kailangan nating lumikha ng isang pagpapaandar na maaaring basahin at maunawaan kung ano ang sinasabi ng module ng GSM sa pamamagitan ng Serial port nito. Kung gagamit kami ng simpleng serial read line tulad ng "gprs.read ()" upang basahin ang mensahe makukuha namin sila sa anyo ng mga ASCII decimal na halaga, hindi ito magkakaroon ng kahulugan sa amin.
Kaya't ang sumusunod na pag-andar ay ginagamit upang mai-convert ang mga decimal na halaga sa mga string sa pamamagitan ng paggamit ng mga string object at pagkatapos ay pagsamahin ang mga ito upang makabuo ng isang string. Ang huling halaga ng string ay nakaimbak sa variable Fdata , na kung saan ay uri ng string at maaaring magamit upang ihambing sa anumang mga halaga ng String.
void check_Incoming () {if (gprs.available ()) // Kung may sinasabi ang GSM {Incomingch = gprs.read (); // Pakinggan ito at iimbak sa variable na ito kung (Incomingch == 10 - Incomingch == 13) // Kung sinasabi nitong space (10) o Newline (13) nangangahulugang nakumpleto nito ang isang salitang {Serial.println (data); Fdata = data; data = ""; } // I-print ang salita at i-clear ang variable upang simulan ang sariwang iba pa {String newchar = String (char (Incomingch)); // convert the char to string by using string object data = data + newchar; // Matapos ang pag-convert sa string, gawin ang string concatenation}}}
Ang mga sumusunod na linya ay ginagamit para sa pag-debug, kasama ang mga linya ng pag-debugger na ito maaari kang magpadala ng anumang mga utos ng AT mula sa Serial monitor ng Arduino sa GSM at tingnan din kung ano ang mga tugon sa serial monitor.
kung (Serial.available ()) {// Ginamit para sa pag-debug ng gprs.write (Serial.read ()); // Ginamit para sa pag-debug} // Ginamit para sa pag-debug
Tulad ng sinabi nang mas maaga, kailangang suriin ng Arduino kung ang module ng GSM ay tumatanggap ng anumang mga tawag. Maaari itong magawa sa pamamagitan ng paggawa ng Arduino upang suriin kung " RING " dahil ang module ng GSM ay maglalabas ng RING sa kaganapan ng isang tawag alinsunod sa listahan ng utos ng AT. Kapag nakakita ito ng tawag maghihintay ito ng 5 segundo at ipadala ang utos na " ATA " sa module ng GSM, gagawin nito ang module na GSM upang sagutin ang tawag at pagkatapos na sagutin ito ay tutugon sa "OK". Naghihintay muli ang Arduino para sa pagkilala na " OK " at pagkatapos ay i-on ang Pin 8 na mataas para sa 200ms upang i-play ang naitala na boses mula sa module ng boses.
kung (Fdata == "RING") // Kung sinasabi ng module ng GSM na RING {pagka-antala (5000); // maghintay para sa 5sec upang lumikha ng 3 ring pagkaantala. gprs.write ("ATA \ r \ n"); // Sagutin ang tawag na Serial.println ("Inilagay sa Nakatanggap"); // Ginamit para sa pag-debug habang (Fdata! = "OK") // Hanggang sa matagumpay na nasagot ang tawag {check_Incoming (); // Basahin kung ano ang sinasabi ng mode ng GSM na Serial.println ("Nagpe-play ng Naitala na mensahe"); // Ginamit para sa pag-debug // I-play ang recored na mensahe ng pagkaantala ng boses (500); digitalWrite (8, TAAS); // Go high delay (200); // maghintay para sa 200 msec digitalWrite (8, LOW); // Go low}
Nagtatrabaho:
Kapag handa na ang iyong code at hardware, oras na para sa ilang kasiyahan. Lakasin ang parehong mga module at pindutin ang pindutan ng REC sa module ng Voice at itala ang isang mensahe. Ang mensahe na ito ay maaari lamang sa 10 segundo ang haba.
Ngayon i-program ang iyong Arduino gamit ang nabigay na code sa ibaba at ipasok ang SIM car sa module ng GSM, dapat kang maghintay ng hindi bababa sa 2 minuto ngayon upang ang module ng GSM ay maaaring magtatag ng koneksyon sa iyong service provider ng Network. Kapag tapos ka dapat mong makita ang isang pulang kulay na LED na kumikislap nang isang beses sa bawat 3 segundo, ipinapahiwatig nito na handa na ang iyong SIM na tumawag. Maaari mo na ngayong subukang tumawag sa SIM card na ito mula sa anumang numero at dapat mong marinig ang naitala na mensahe pagkatapos ng tatlong tuluy-tuloy na singsing. Ang kumpletong pagtatrabaho ng proyekto ay ipinapakita sa video sa ibaba.
Tadaaaaaa !!! Ngayon ay mayroon ka ng iyong sariling Awtomatikong boses na tawag sa Machine sa pagsagot at magpatuloy lamang at gamitin ito kapag kinakailangan at humanga ang iyong mga kaibigan at pamilya kasama nito.
Inaasahan kong nasiyahan ka sa proyekto at bumuo ng isang bagay na katulad, Kung mayroon kang anumang mga problema i-post ang mga ito sa seksyon ng komento at tutulungan kita.