Orodha ya maudhui:
- Hatua ya 1: Ugavi wa Umeme
- Hatua ya 2: Pembejeo za dijiti
- Hatua ya 3: Matokeo ya dijiti
- Hatua ya 4: Oscillator Mdhibiti mdogo
- Hatua ya 5: Dalili za LED
- Hatua ya 6: Mzunguko wa Usindikaji wa Micro processor
- Hatua ya 7: Moduli ya SIM800L
- Hatua ya 8: Mdhibiti mdogo
- Hatua ya 9: Kuongeza Kumbukumbu ya SRAM
- Hatua ya 10: Ukubwa wa Bafu ya Programu
- Hatua ya 11: Kufanya Bodi ya PC
- Hatua ya 12: Mkutano wa Bodi ya PC
- Hatua ya 13: Kupanga programu ya AtMega328p
- Hatua ya 14: Kuunganisha Kitengo
- Hatua ya 15: Usanidi wa Awali
- Hatua ya 16: Amri za SMS
Video: Arduino Kulingana na Kitengo cha Udhibiti wa Kijijini cha GSM / SMS: Hatua 16 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
! ! ! N O T I C E! !
Kwa sababu ya mnara wa rununu wa eneo hili kuboreshwa katika eneo langu, siwezi tena kutumia moduli hii ya GSM. Mnara mpya hauhimili tena vifaa vya 2G. Kwa hivyo, siwezi tena kutoa msaada wowote kwa mradi huu.
Na moduli anuwai za GSM zinazopatikana kwa hobbyist, wengi wetu tuliishia kununua moja. Nilinunua moduli ya SIM800L ndani, na kuishia kucheza na amri tofauti za moduli.
Kutumia Arduino Uno na IDE ya Arduino, niliweza kubadilisha maoni yangu kuwa kweli. Hii haikuja kuwa rahisi, na suala la SINGLE BIGGEST likiwa upeo wa 2KB SRAM tu. Baada ya utafiti mwingi kwenye wavuti na vikao tofauti, niliweza kushinda kizuizi hiki.
Mbinu tofauti za programu, uelewa mzuri zaidi wa mkusanyaji wa Arduino, na kutumia SIM kadi na EEPROM kwa kumbukumbu ya ziada, iliokoa mradi huu. Baada ya mabadiliko kadhaa kwa nambari, mfano thabiti ulijengwa na kujaribiwa kwa kipindi cha wiki.
Upungufu wa SRAM mdogo ni kwamba kitengo hicho hakiwezi kuwekwa na funguo za onyesho na mtumiaji. Hii ilisababisha kuandikwa tena kwa nambari. Bila interface ya mtumiaji, chaguo pekee iliyoachwa kuendelea na mradi, ilikuwa kutumia ujumbe wa SMS kusanidi kitengo, na pia watumiaji.
Huu ukawa mradi wa kufurahisha, na baadaye zaidi yaliongezwa kadri maendeleo yalivyoendelea.
Lengo langu kuu lilikuwa kushikamana na Arduino Uno, au katika kesi hii, ATMEGA328p, na usitumie vifaa vya mlima wa uso. Hii itafanya iwe rahisi kwa umma kwa ujumla kunakili na kujenga kitengo.
Maelezo ya kitengo:
- Kiwango cha juu cha watumiaji 250 kinaweza kusanidiwa kwenye kitengo
- Matokeo manne ya dijiti
- Pembejeo nne za dijiti
- Kila pato linaweza kusanidiwa kama PULSE au ON / OFF pato
- Muda wa kunde wa pato unaweza kuwekwa kati ya 0.5.. sekunde 10
- Kila pembejeo inaweza kusanidiwa ili kusababisha mabadiliko ya ON na ON.
- Kila pembejeo inaweza kusanidiwa ili kuchochea mabadiliko ya ON na OFF
- Kila muda wa ucheleweshaji wa kuingiza unaweza kuwekwa kati ya sekunde 0 na saa 1
- Ujumbe wa SMS wa mabadiliko kwenye Pembejeo unaweza kutumwa kwa watumiaji 5 tofauti
- Majina na maandishi ya hali kwa kila pembejeo yanaweza kuwekwa na mtumiaji
- Majina na maandishi ya hali kwa kila pato yanaweza kuwekwa na mtumiaji
- Kitengo kinaweza kusanidiwa kupokea ujumbe wa salio ya SIM kupitia ujumbe wa USSD.
- Watumiaji wote wanaweza kuomba sasisho za hali ya I / O za kitengo
- Watumiaji wote wanaweza kudhibiti matokeo ya kibinafsi kupitia ujumbe wa SMS
- Mtumiaji wote anaweza kudhibiti matokeo ya mtu binafsi kwa kupiga kitengo
Makala ya Usalama
- Usanidi wa awali wa kitengo unaweza kufanywa tu ukiwa kwenye kitengo.
- Usanidi wa awali unaweza kufanywa tu na MTUMIAJI WA MASTER
- Amri za awali za usanidi zimelemazwa kiatomati baada ya dakika kumi.
- Simu na ujumbe mfupi tu kutoka kwa watumiaji wanaojulikana wanaweza kudhibiti kitengo
- Watumiaji wanaweza tu kutekeleza matokeo waliyopewa na MASTER USER
Vipengele vingine
- Wito kwa kitengo hiki ni bure, kwani simu haibiwi kamwe.
- Wakati kitengo kinaitwa, simu itashuka tu baada ya sekunde 2. Huu ni uthibitisho kwa mpigaji simu kwamba kitengo kiliitikia simu hiyo.
- Ikiwa mtoa huduma wa SIM kadi anaunga mkono ujumbe wa USSD, maswali ya usawa yanaweza kufanywa na MASTER USER. Ujumbe wa USSD ulio na salio, kisha utapelekwa kwa MASTER USER.
Hatua ya 1: Ugavi wa Umeme
Ili kuhakikisha kuwa kitengo kinaweza kushikamana na mifumo ya kiwango ya usalama (mifumo ya kengele, milango ya gereji ya umeme, motors za lango la umeme), kitengo hicho kitapewa nguvu kutoka 12V DC ambayo kawaida hupatikana kwenye mifumo kama hiyo.
Nguvu hutumiwa kwenye vituo vya 12V IN na 0V, na inalindwa na fyuzi ya 1A. Vituo vya ziada vya 12V OUT vinapatikana, na pia inalindwa na fuse.
Diode D1 inalinda kitengo dhidi ya unganisho la polarity ya nyuma kwenye laini za 12V.
Capacitors C1 na C2 huchuja kelele yoyote iliyopo kwenye laini za usambazaji za 12V. Ugavi wa 12V hutumiwa kuelekeza upitishaji wa kitengo.
Ugavi wa 5V unajumuisha mdhibiti wa voltage ya LM7805L, na hutoa utulivu + 5V inahitajika kwa moduli ya SIM800L GSM, pamoja na processor ndogo. Capacitors C3 na C4 huchuja kelele yoyote ambayo inaweza kuwapo kwenye laini ya usambazaji ya + 5V. Vipimo vya ukubwa mkubwa vya elektroniki vilitumika, kwani moduli ya SIM800L GSM hutumia nguvu kidogo wakati wa kupitisha.
Hakuna kuzama kwa joto kunahitajika kwenye mdhibiti wa voltage.
Hatua ya 2: Pembejeo za dijiti
Ishara za pembejeo za dijiti zote ni 12V, na lazima ziingiliane na mdhibiti mdogo wa 5V. Kwa hili, viboreshaji vya opto hutumiwa kutenganisha ishara za 12V kutoka kwa mfumo wa 5V.
Kinga ya pembejeo ya 1K inapunguza sasa pembejeo kwa kiboreshaji cha macho hadi karibu 10mA.
Kwa sababu ya upungufu wa nafasi, hakuna nafasi iliyokuwa ikipatikana kwenye Bodi ya PC kwa vipingamizi vya kuvuta 5V. Mdhibiti mdogo umewekwa kuwezesha pini za kuingiza dhaifu za kuvuta.
Bila ishara iliyopo kwenye pembejeo (CHINI) ya kiboreshaji cha macho, hakuna sasa itakayotiririka kupitia mwunganisho wa macho ya LED. Kwa hivyo transistor ya coupler ya opto imezimwa. Kuvuta dhaifu kwa mdhibiti mdogo kutavuta mtoza karibu 5V, na itaonekana kama mantiki ya JUU na mdhibiti mdogo.
Pamoja na 12V iliyotumiwa (JUU) kwa pembejeo ya kontakt ya opto, karibu 10mA itatiririka kupitia kiunganishi cha opto LED. Kwa hivyo transistor ya coupler ya opto itawashwa. Hii itashusha mtoza karibu 0V, na itaonekana kama mantiki LOW na mdhibiti mdogo.
Kumbuka kuwa pembejeo inayoonekana na mdhibiti mdogo imegeuzwa ikilinganishwa na pembejeo ya 12V.
Nambari ya kawaida ya kusoma pini ya kuingiza inaonekana kama ifuatavyo:
Uingizaji wa boolean = digitalRead (inputpin);
Ili kurekebisha ishara iliyogeuzwa, tumia nambari ifuatayo:
Uingizaji wa boolean =! digitalRead (inputpin); // KUMBUKA! mbele ya kusoma
Sasa, pembejeo inayoonekana na mdhibiti mdogo italingana na pembejeo kwenye uingizaji wa 12V.
Mzunguko wa mwisho wa pembejeo una pembejeo 4 za dijiti. Kila pembejeo imeunganishwa na vituo kwenye Bodi ya PC.
Hatua ya 3: Matokeo ya dijiti
Kawaida, na mzunguko unaendesha tu idadi ndogo ya upitishaji, njia bora ni kutumia mzunguko wa dereva wa transistor kama inavyoonyeshwa. Ni rahisi, ya gharama nafuu, na yenye ufanisi.
Vipinga vinatoa kuvuta chini, na msingi wa sasa wa msingi wa transistor. Transistor hutumiwa kuongeza sasa inayopatikana ili kuendesha relay. Na 1mA tu inayotolewa kutoka kwa pini ndogo ya mdhibiti, transistor inaweza kubadilisha mzigo wa 100mA. Zaidi ya kutosha kwa aina nyingi za relays. Diode ni diode ya kuruka-nyuma, inayolinda mzunguko kutoka kwa spikes zenye nguvu wakati wa kubadili relay. Faida iliyoongezwa ya kutumia mzunguko huu, ni kwamba voltage inayotumika ya relay inaweza kuwa tofauti na voltage ya mdhibiti mdogo. Kwa hivyo, badala ya kutumia relay ya 5V, mtu anaweza kutumia voltage yoyote ya DC hadi 48V.
Kuanzisha ULN2803
Kadri mradi unavyorudisha zaidi, ndivyo hesabu ya sehemu ilivyo juu. Hii itafanya muundo wa PCB kuwa mgumu zaidi, na inaweza kutumia nafasi muhimu ya PCB. Lakini kutumia safu ya transistor, kama ULN2803, itasaidia sana kuweka ukubwa wa PCB ndogo. ULN2803 hii ina mizunguko 8 ya transistor ya kibinafsi, kila mzunguko umewekwa na vifaa vyote vinavyohitajika kubadili relay.
Mzunguko wa mwisho wa pato una ULN3803, inayoendesha relays za pato la 4 12V DC. Kila mawasiliano ya relay inapatikana kwenye vituo vya Bodi ya PC.
Hatua ya 4: Oscillator Mdhibiti mdogo
Mzunguko wa Oscillator
Mdhibiti mdogo anahitaji oscillator kufanya kazi kwa usahihi. Ili kushika muundo wa Arduino Uno, mzunguko utatumia oscillator ya kiwango cha 16MHz. Chaguzi mbili zinapatikana:
Kioo
Njia hii hutumia kioo kilichounganishwa na capacitors mbili za kupakia. Hii ndio chaguo la kawaida.
Resonator
Resonator kimsingi ni kioo na capacitors mbili za kupakia katika kifurushi kimoja cha pini 3. Hii inapunguza kiwango cha vifaa, na kuongeza nafasi inayopatikana kwenye Bodi ya PC.
Ili kuweka hesabu ya sehemu iwe chini iwezekanavyo, nilichagua kutumia resonator ya 16MHz.
Hatua ya 5: Dalili za LED
Mzunguko wowote utakuwa bila LED zingine? Utoaji ulifanywa kwenye Bodi ya PC kwa 3mm LEDs.
Vipinga vya 1K hutumiwa kupunguza sasa kupitia LED kuwa chini ya 5mA, Unapotumia taa za 3mm zenye mwangaza mkali, mwangaza ni bora.
Kwa tafsiri rahisi ya hali ya LED, rangi mbili hutumiwa. Kwa kuchanganya LED mbili na dalili za kung'aa, habari nyingi zinaweza kupatikana kutoka kwa LED mbili tu.
LED nyekundu
LED nyekundu hutumiwa kuonyesha hali ya makosa, ucheleweshaji mrefu, amri yoyote isiyo sahihi.
LED ya kijani
LED ya kijani hutumiwa kuashiria pembejeo na maagizo yenye afya na / au sahihi.
Hatua ya 6: Mzunguko wa Usindikaji wa Micro processor
Kwa sababu za usalama, kazi zingine za kitengo zinapatikana tu katika dakika 10 za kwanza baada ya kuimarisha kitengo.
Kwa kitufe cha kuweka upya, nguvu ya kitengo haiitaji kuzima ili kuweka upya kitengo.
Inavyofanya kazi
Kinzani ya 10K itaweka laini ya RESET karibu na 5V. Wakati kitufe kinabanwa, laini ya RESET itavutwa hadi 0V, na hivyo kuweka kidhibiti kidogo katika kuweka upya. Wakati kitufe kinatolewa, laini ya RESET inarudi kwa% v, ikirudisha kidhibiti kidogo.
Hatua ya 7: Moduli ya SIM800L
Moyo wa kitengo ni moduli ya SIM800L GSM. Moduli hii hutumia pini 3 tu za I / O kwenye kidhibiti kidogo.
Njia za moduli kwa mdhibiti mdogo kupitia bandari ya kawaida ya kawaida.
- Amri zote kwa kitengo zinatumwa kupitia bandari ya serial kwa kutumia amri za kawaida za AT.
- Kwa simu inayoingia, au wakati SMS inapokelewa, habari hiyo inatumwa kwa mdhibiti mdogo kupitia bandari ya serial kwa kutumia maandishi ya ASCII..
Ili kuokoa nafasi, moduli ya GSM imeunganishwa o Bodi ya PC kupitia kichwa cha pini 7. Hii inafanya kuondolewa kwa moduli ya GSM iwe rahisi. Hii pia inamwezesha mtumiaji kuingiza / kuondoa SIM kadi kwa urahisi chini ya moduli.
SIM inayotumika inahitajika, na SIM kadi lazima iweze kutuma na kupokea ujumbe wa SMS.
Usanidi wa moduli ya SIM800L GSM
Wakati wa kuimarisha kitengo, pini ya kuweka upya moduli ya GSM imevutwa chini kwa sekunde. Hii inahakikisha kwamba moduli ya GSM inaanza tu baada ya usambazaji wa umeme kutulia. Moduli ya GSM inachukua sekunde kadhaa kuwasha upya, kwa hivyo subiri sekunde 5 kabla ya kutuma maagizo yoyote ya AT kwa moduli.
Ili kuhakikisha kuwa moduli ya GSM imesanidiwa kuwasiliana kwa usahihi na mdhibiti mdogo, amri zifuatazo za AT hutumiwa wakati wa kuanza:
KATIKA
hutumiwa kuamua ikiwa moduli ya GSM inapatikana
KWENYE + CREG?
Kupiga kura kwa amri hii hadi moduli ya GSM itakaposajiliwa kwenye mtandao wa rununu
+ CMGF = 1
Weka hali ya ujumbe wa SMS kwa ASCII
+ CNMI = 1, 2, 0, 0, 0
Ikiwa SMS inapatikana, tuma maelezo ya SMS kwa bandari ya serial ya moduli ya GSM
+ CMGD = 1, 4
Futa ujumbe wowote wa SMS uliohifadhiwa kwenye SIM kadi
+ CPBS = / "SM
Weka kitabu cha simu cha moduli ya GSM kwenye SIM kadi
+ COPS = 2, halafu AT + CLTS = 1, halafu AT + COPS = 0
Weka wakati wa moduli ya GSM kwa wakati wa mtandao wa rununu
Subiri sekunde 5 ili muda uwekewe
+ CUSD = 1
Wezesha kazi ya ujumbe wa USSD
Hatua ya 8: Mdhibiti mdogo
Mdhibiti mdogo ni AtMega328p ya kawaida, sawa na inayotumiwa kwenye Arduino Uno. Nambari hiyo inaweza kulinganishwa na zote mbili. Kuruhusu programu rahisi kwenye bodi, kichwa cha programu-pini 6 kinapatikana kwenye Bodi ya PC.
Sehemu tofauti za kitengo zimeunganishwa na processor ndogo, na inajumuisha yafuatayo:
- Pembejeo nne za dijiti
- Matokeo manne ya dijiti
- Kichocheo
- LED mbili za dalili
- Weka upya mzunguko
- Moduli ya SIM800L GSM
Mawasiliano yote kwenda na kutoka kwa moduli ya GSM hufanywa kwa kutumia kazi ya SoftwareSerial (). Njia hii ilitumika kufungua bandari kuu ya serial kwa IDE ya Arduino wakati wa awamu ya maendeleo.
Na 2KB tu ya SRAM, na 1KB ya EEPROM, hakuna kumbukumbu ya kutosha kuhifadhi zaidi ya watumiaji kadhaa ambao wanaweza kuunganishwa na kitengo. Ili kufungua SRAM, habari yote ya mtumiaji imehifadhiwa kwenye SIM kadi kwenye moduli ya GSM. Pamoja na mpangilio huu, kitengo kinaweza kuhudumia hadi watumiaji 250 tofauti.
Data ya usanidi wa kitengo imehifadhiwa kwenye EEPROM, na hivyo kutenganisha data ya mtumiaji na data ya mfumo kutoka kwa kila mmoja.
Bado kuna pini kadhaa za vipuri za I / O zinazopatikana, Walakini, chaguo la kuongeza onyesho la LCD na / au kibodi haikuwezekana kwa sababu ya idadi kubwa ya SRAM inayotumiwa na SoftWareSerial () kupokea na kusambaza bafa, Kwa sababu ya ukosefu wa aina yoyote ya kiolesura cha mtumiaji kwenye kitengo, mipangilio yote na watumiaji wamewekwa kwa kutumia ujumbe wa SMS.
Hatua ya 9: Kuongeza Kumbukumbu ya SRAM
Mapema kabisa katika hatua ya maendeleo, IDE ya Arduino iliripoti kumbukumbu ya chini ya SRAM wakati wa kukusanya nambari hiyo. Njia kadhaa zilitumika kushinda hii.
Punguza data iliyopokea kwenye bandari ya serial
Moduli ya GSM itaripoti ujumbe wote kwa mdhibiti mdogo bandari ya serial. Wakati wa kupokea ujumbe mfupi wa SMS, urefu wa jumla wa ujumbe uliopokea unaweza kuwa zaidi ya herufi 200. Hii inaweza kutumia SRAM yote inayopatikana kwenye chip ya AtMega, na itasababisha shida za utulivu.
kuzuia hili, ni herufi 200 za kwanza tu za ujumbe wowote UNAOPATA kutoka kwa moduli ya GSM zitakazotumika. Mfano hapa chini unaonyesha jinsi hii inafanywa kwa kuhesabu herufi zilizopokelewa katika Counter anuwai.
// tafuta data kutoka kwa bandari ya serial ya programu
// ----------------------------------------------- RxString = ""; Kaunta = 0; wakati (SSerial.patikana ()) {kuchelewesha (1); // kuchelewa mfupi kutoa wakati wa data mpya kuwekwa kwenye bafa // pata tabia mpya RxChar = char (SSerial.read ()); // ongeza herufi 200 ya kwanza kwenye kamba ikiwa (Counter <200) {RxString.concat (RxChar); Kaunta = Kaunta + 1; }}
Kupunguza msimbo wa Serial.print ()
Ingawa ni rahisi wakati wa maendeleo, Arduino Serial Monitor inaweza kutumia SRAM nyingi. Nambari hiyo ilitengenezwa kwa kutumia nambari chache iwezekanavyo ya Serial.print (). Sehemu moja ya nambari imejaribiwa kufanya kazi, nambari zote za Serial.print () ziliondolewa kutoka kwa sehemu hiyo ya nambari.
Kutumia nambari ya Serial.print (F ((""))
Habari nyingi kawaida huonyeshwa kwenye Arduino Serial Monitor hufanya akili zaidi wakati maelezo yanaongezwa. Chukua mfano ufuatao:
Serial.println ("Kusubiri vitendo maalum");
Kamba "Kusubiri vitendo maalum" imerekebishwa, na haiwezi kubadilika.
Wakati wa mkusanyiko wa nambari, mkusanyaji atajumuisha kamba "Kusubiri vitendo maalum" kwenye kumbukumbu ya FLASH.
Kwa kuongezea, mkusanyaji anaona kwamba kamba ni ya mara kwa mara, inayotumiwa na maagizo ya "Serial.print" au "Serial.println". Wakati wa boot-up ya micro, mara kwa mara hii pia imewekwa kwenye kumbukumbu ya SRAM.
Kwa kutumia kiambishi awali cha "F" katika kazi za Serial.print (), inamwambia mkusanyaji kwamba kamba hii inapatikana tu kwenye kumbukumbu ya FLASH. Kwa mfano huu, kamba ina herufi 28. Hii ni baiti 28 ambazo zinaweza kutolewa katika SRAM.
Serial.println (F ("Kusubiri vitendo maalum"));
Njia hii inatumika pia kwa amri za SoftwareSerial.print (). Kama moduli ya GSM inavyofanya kazi kwa amri za AT, nambari hiyo ina amri nyingi za SoftwareSerial.print ("xxxx"). Kutumia kiambishi awali cha "F" kiliweka huru karibu ka 300 za SRAM.
Usitumie bandari ya serial ya vifaa
Baada ya utatuzi wa nambari, bandari ya serial ya vifaa ililemazwa kwa kuondoa amri ZOTE za Serial.print (). Hii iliachilia ka chache za ziada za SRAM.
Bila amri yoyote ya Serial.print () iliyoachwa kwenye nambari, baiti 128 za SRAM zilipatikana. Hii ilifanywa kwa kuondoa bandari ya vifaa kutoka kwa nambari. Hii ilizidisha kupitisha kwa baiti 64 na baiti 64 hupokea bafa.
// Serial. Kuanza (9600); // bandari ya serial ya vifaa imezimwa
Kutumia EEPROM kwa kamba
Kwa kila pembejeo na pato, nyuzi tatu zinahitajika kuhifadhiwa. Ni jina la kituo, kamba wakati kituo kimewashwa, na kamba wakati kituo kimezimwa.
Na jumla ya chaneli 8 za I / O, zao zitakuwa
- Kamba 8 zilizo na majina ya kituo, kila herufi 10 ndefu
- Kamba 8 zenye kituo Kwenye maelezo, kila herufi 10 ndefu
- Kamba 8 zilizo na idhaa ya Off Off maelezo, kila herufi 10 ndefu
Matangazo haya hadi baiti 240 za SRAM. Badala ya kuhifadhi kamba hizi kwenye SRAM, zinahifadhiwa katika EEPROM. Hii ilitoa baiti 240 za SRAM.
Kutangaza kamba na urefu sahihi
Mabadiliko kawaida hutangazwa mwanzoni mwa nambari. Kosa la kawaida wakati wa kutangaza kutofautisha kwa kamba, ni kwamba hatutangazi kamba na idadi sahihi ya herufi.
Kamba GSM_Nr = "";
Kamba GSM_Name = ""; Kamba GSM_Msg = "";
Wakati wa kuanza, mdhibiti mdogo hatatoa kumbukumbu katika SRAM kwa anuwai hizi. Hii baadaye inaweza kusababisha kutokuwa na utulivu wakati nyuzi hizi zinatumiwa.
Ili kuzuia hili, tangaza masharti na idadi sahihi ya herufi ambayo kamba itatumia kwenye programu.
Kamba GSM_Nr = "1000000000";
Kamba GSM_Name = "2000000000"; Kamba GSM_Msg = "3000000000";
Angalia jinsi sikutangaza kamba na wahusika sawa. Ikiwa utatangaza masharti haya yote na sema "1234567890", mkusanyaji ataona kamba hiyo hiyo katika vigeuzi vitatu, na tu atenge kumbukumbu ya kutosha katika SRAM kwa moja ya kamba.
Hatua ya 10: Ukubwa wa Bafu ya Programu
Katika nambari ifuatayo, utaona kuwa hadi herufi 200 zinaweza kusomwa kutoka kwa bandari ya programu.
// tafuta data kutoka kwa bandari ya serial ya programu
// ----------------------------------------------- RxString = ""; Kaunta = 0; wakati (SSerial.patikana ()) {kuchelewesha (1); // kuchelewa mfupi kutoa wakati wa data mpya kuwekwa kwenye bafa // pata tabia mpya RxChar = char (SSerial.read ()); // ongeza herufi 200 ya kwanza kwenye kamba ikiwa (Counter <200) {RxString.concat (RxChar); Kaunta = Kaunta + 1; }}
Hii inahitaji bafa ya angalau 200 ka kwa bandari ya programu ya serial pia. kwa chaguo-msingi, bafa ya serial bandia ya programu ni baiti 64 tu. Ili kuongeza bafa hii, tafuta faili ifuatayo:
SoftwareSerial.h
Fungua faili na kihariri cha maandishi, na ubadilishe saizi ya bafa kuwa 200.
/******************************************************************************
* Ufafanuzi ************************************************ ****************************** / #ifndef _SS_MAX_RX_BUFF #fafanua _SS_MAX_RX_BUFF 200 // ukubwa wa bafa ya RX #endif
Hatua ya 11: Kufanya Bodi ya PC
Bodi ya PC iliundwa kwa kutumia toleo la bure la Cadsoft Eagle (naamini jina limebadilika).
- Bodi ya PC ni muundo mmoja wa upande.
- Hakuna vifaa vya mlima wa uso vinavyotumiwa.
- Vipengele vyote vimewekwa kwenye bodi ya PC, pamoja na moduli ya SIM800L.
- Hakuna vifaa vya nje au viunganisho vinahitajika
- Rukia za waya zimefichwa chini ya vifaa kwa muonekano safi.
Ninatumia njia ifuatayo kutengeneza Bodi za PC:
- Picha ya Bodi ya PC imechapishwa kwenye Press-n-Peel kwa kutumia printa ya laser.
- Press-n-Peel kisha imewekwa juu ya kipande safi cha Bodi ya PC, na kuulinda na mkanda.
- Picha ya Bodi ya PC kisha huhamishwa kutoka kwa Press-n-Peel kwenda kwa Bodi tupu ya PC kwa kupitisha bodi kupitia laminator. Kwangu, pasi 10 hufanya kazi bora.
- Baada ya Bodi ya PC kupoza hadi joto la kawaida, Press-n-Peel inainuliwa polepole kutoka kwa bodi.
- Kisha Bodi ya PC imewekwa kwa kutumia fuwele za Amonia ya Persulphate iliyoyeyushwa katika maji ya moto.
- Baada ya kuwasha, Press-n-Peel ya hudhurungi na toner nyeusi huondolewa kwa kusafisha Bodi ya PC iliyowekwa na asetoni.
- Bodi hiyo hukatwa kwa saizi na Dremel
- Mashimo ya vifaa vyote vya shimo hupigwa kwa kutumia kipenyo cha 1mm.
- Viunganisho vya screw screw vimepigwa kwa kutumia kidogo ya kuchimba visima 1.2mm.
Hatua ya 12: Mkutano wa Bodi ya PC
Mkutano unafanywa kwa kuongeza vitu vidogo zaidi kwanza, na kufanya kazi hadi vifaa vikubwa zaidi.
Vipengele vyote vilivyotumika ndani ya Maagizo haya, bila moduli ya SIM800, ilitolewa kutoka kwa muuzaji wangu wa ndani. Anawafikiria kwa kuwa na hisa kila wakati. Tafadhali angalia tovuti yao ya Afrika Kusini:
www.shop.rabtron.co.za/catalog/index.php
KUMBUKA! Kuuza kwanza kuruka mbili ziko chini ya ATMEGA328p IC
Agizo ni kama ifuatavyo:
- Resistors na diode
- Rudisha kitufe
- Soketi za IC
- Mdhibiti wa voltage
- Pini za kichwa
- Capacitors ndogo
- LEDs
- Mmiliki wa fuse
- Vitalu vya terminal
- Anarudia
- Capacitors elektroni
Kabla ya kuingiza IC, unganisha kitengo kwa 12V, na ujaribu voltages zote kuwa sahihi.
Mwishowe, ukitumia lacquer wazi, funika upande wa shaba wa Bodi ya PC ili kuilinda kutoka kwa vitu.
Wakati lacquer imekauka, ingiza IC, lakini acha moduli ya GSM hadi AtMega itakapopangwa.
Hatua ya 13: Kupanga programu ya AtMega328p
Sasisha # Firmware hadi Toleo la 3.02 # #
Imewezeshwa SMS kutumwa kwa MASTER USER wakati nguvu imerejeshwa kwenye kifaa
Ninatumia Arduino Uno na ngao ya programu kupanga kitengo. Kwa habari zaidi juu ya jinsi ya kutumia Arduino Uno kama programu, rejelea hii inayoweza kufundishwa:
Arduino UNO Kama Programu ya AtMega328P
Moduli ya GSM inahitaji kuondolewa kutoka kwa Bodi ya PC ili kupata kichwa cha programu. Jihadharini usiharibu waya wa antena wakati wa kuondoa moduli ya GSM.
Unganisha kebo ya programu kati ya programu na kitengo ukitumia kichwa cha programu kwenye Bodi ya PC, na upakie mchoro kwenye kitengo.
Ugavi wa 12V wa nje hauhitajiki kupanga kitengo. Bodi ya PC itapewa nguvu kutoka Arduino kupitia kebo ya programu.
Fungua faili iliyoambatanishwa kwenye IDE ya Arduino, na uipange kwenye kitengo.
Baada ya programu, ondoa kebo ya programu, na ingiza moduli ya GSM.
Kitengo sasa kiko tayari kutumika.
Hatua ya 14: Kuunganisha Kitengo
Uunganisho wote kwa kitengo hufanywa kupitia vituo vya screw.
Kuimarisha Kitengo
Hakikisha umeingiza SIM kadi iliyosajiliwa kwenye moduli ya GSM, na kwamba SIM kadi inaweza kutuma na kupokea ujumbe wa SMS.
Unganisha umeme wa 12V DC kwa 12V IN na vituo vyovyote vya 0V. Mara tu inapowashwa, LED nyekundu kwenye Bodi ya PC itawasha. Kwa dakika moja, moduli ya GSM inapaswa kushikamana na mtandao wa rununu. LED nyekundu itazimwa, na LED nyekundu kwenye moduli ya GSM itaangaza haraka.
Mara tu hatua hii imefikiwa, kitengo kiko tayari kusanidiwa.
Uunganisho wa Ingizo
Pembejeo za dijiti hufanya kazi kwenye 12V. Ili kuwasha uingizaji, 12V inahitaji kutumiwa kwa pembejeo. Kuondoa 12V itazima pembejeo.
Uunganisho wa Pato
Kila pato lina mawasiliano ya kubadilisha-juu. Funga kila mawasiliano kama inavyotakiwa.
Hatua ya 15: Usanidi wa Awali
Usanidi wa awali wa kitengo lazima ufanyike ili kuhakikisha kuwa vigezo vyote vimewekwa kwa chaguo-msingi za kiwanda, na SIM kadi iliyosanidiwa kukubali habari ya mtumiaji katika muundo sahihi.
Kwa kuwa amri zote ni za SMS, utahitaji simu nyingine kutekeleza usanidi.
Kwa usanidi wa awali, unahitaji kuwa kwenye kitengo.
Weka nambari ya simu ya MASTER USER
Kwa kuwa tu MASTER USER anaweza kusanidi kitengo, hatua hii lazima ifanyike kwanza.
- Kitengo lazima kiwe na nguvu.
- Bonyeza na uachilie kitufe cha Rudisha, na subiri LED nyekundu kwenye Bodi ya PC izime.
- LED ya NET kwenye moduli ya GSM itaangaza haraka.
- Kitengo sasa kiko tayari kukubali amri za usanidi wa awali. Hii lazima ifanyike ndani ya dakika 10.
- Tuma ujumbe wa SMS ulio na MASTER, maelezo kwa nambari ya simu ya kitengo.
- Ikiwa imepokea, LED ya kijani kwenye Bodi ya PC itaangaza mara mbili.
- MASTER USER sasa imepangwa.
Rejesha kitengo kwenye Chaguomsingi za Kiwanda
Baada ya MASTER USER kusanidiwa, mipangilio ya kitengo lazima iwekwe kwa chaguomsingi za kiwanda.
- Tuma ujumbe wa SMS ukiwa WAZI tu kwa nambari ya simu ya kitengo.
- Ikiwa imepokea, LED ya kijani na nyekundu kwenye Bodi ya PC itaangaza mbadala mara moja kwa sekunde. Kitengo kimerejeshwa na mipangilio chaguomsingi ya kiwanda.
- Mipangilio yote imerejeshwa kwa chaguomsingi za kiwandani.
- Bonyeza na uachilie kitufe cha Rudisha ili kuwasha tena kitengo.
Kubadilisha SIM kadi
Hatua ya mwisho ni kufuta habari zote zilizohifadhiwa kwenye SIM kadi, na kuisanidi kwa matumizi katika kitengo hiki.
- Bonyeza na uachilie kitufe cha Rudisha, na subiri LED nyekundu kwenye Bodi ya PC izime.
- LED ya NET kwenye moduli ya GSM itaangaza haraka.
- Kitengo sasa kiko tayari kukubali amri za usanidi wa awali. Hii lazima ifanyike ndani ya dakika 10.
- Tuma ujumbe wa SMS na ERASESIM tu kwa nambari ya simu ya kitengo.
- Ikiwa imepokea, LED ya kijani kwenye Bodi ya PC itaangaza mara za miti.
Kitengo sasa kimesanidiwa, na iko tayari kutumika.
Hatua ya 16: Amri za SMS
Kuna aina tatu za amri zinazotumiwa na kitengo. Amri zote ae tuma kupitia SMS, na zote ziko katika muundo ufuatao:
AMRI,,,,,
- Amri zote, isipokuwa amri za KAWAIDA ZA MTUMIAJI ni nyeti sana.
- Vigezo sio nyeti.
Amri za Usanidi wa Awali
MASTER, jina
Nambari ya simu ya mtumaji wa SMS hutumiwa kama nambari ya simu ya MASTER USER. Maelezo ya kitengo yanaweza kuongezwa hapa.
WAZI
Rudisha kitengo kwenye chaguomsingi za kiwanda
WAZI
Futa data zote kutoka kwa SIM kadi
Weka upya
Anzisha tena kitengo
MASTER USER Amri za kusanidi kitengo
OUTMODE, c, m, t KUMBUKA! ! ! BADO HATIMIWI
Weka njia maalum za kuwa na matokeo ya PULSED, TIMED au LATCHING. t ni muda wa muda kwa dakika kwa matokeo ya TIMED
PULSE, cccc
Weka njia maalum kwa matokeo ya PULSED. Isipowekwa, vituo vitawekwa kama matokeo ya LATCHING.
PULSETIME, huweka muda wa pato uliopigwa kwa sekunde (0.. 10s)
INPUTON, cccc
Weka vituo ambavyo vinapaswa kusababisha, na tuma ujumbe wa SMS wakati hali inabadilika kutoka OFF hadi ON
INPUTOFF, cccc
Weka vituo ambavyo vinapaswa kusababisha, na tuma ujumbe wa SMS wakati hali inabadilika kutoka ON hadi OFF
INTIME, c, t
Huweka muda wa ucheleweshaji wa ingizo kwa kugundua mabadiliko ya hali kwa sekunde
INTEXT, ch, jina, imezimwa
Weka jina la kila kituo cha kuingiza, kwenye maandishi na maandishi ya mbali
OUTTEXT, ch, jina, imezimwa
Weka jina la kila kituo cha pato, kwenye maandishi na maandishi ya mbali
Ongeza, mahali, nambari, Piga simu, pembejeo za SMS, pembejeo
Ongeza mtumiaji kwenye SIM kadi kwenye eneo la kumbukumbu, na pato na njia za kuingiza zilizopewa mtumiaji
Del, eneo
Futa mtumiaji kutoka eneo la kumbukumbu ya SIM kadi
ChannelName
Itapiga pato na jina ChannelName
ChannelName, onText, au ChannelName, offText
Itawasha / kuzima pato kwa jina la ChannelName, na onText / offText
Amri za kawaida za Mtumiaji za kudhibiti kitengo
Omba sasisho la hali ya I / O. Hali ya SMS itatumwa kwa mwanzilishi.
ChannelName
Itapiga pato na jina ChannelName
ChannelName, kwenyeText
Itawasha pato kwa jina la ChannelName, na maandishi ya hali kwenyeText
ChannelName, offText Itazima pato kwa jina la ChannelName, na hali ya maandishi kuzimaNakala
Kwa maelezo zaidi ya maagizo, tafadhali rejelea hati iliyoambatanishwa ya PDF.
Ilipendekeza:
Kitengo cha Kubadilisha Udhibiti wa Kijijini cha DIY na 2262/2272 Bodi ya Mkate ya M4 na Kupokea kwa Muumba: Hatua 4 (na Picha)
Kitengo cha Kubadilisha Kidhibiti cha Kijijini cha DIY na 2262/2272 Bodi ya Mkate ya M4 & Relay kwa Muumba: nyumba nzuri inakuja kwa maisha yetu. ikiwa tunataka nyumba nzuri itimie, tunahitaji swichi nyingi za udhibiti wa kijijini. leo tutafanya mtihani, fanya mzunguko rahisi kujifunza nadharia ya swichi ya kudhibiti kijijini. muundo huu wa kit na SINONING ROBOT
Simu ya Msingi ya Mkondoni Kutumia Kitengo cha Ugunduzi cha STM32F407 na Moduli ya GSM A6: Hatua 14 (na Picha)
Simu ya Msingi ya Mkononi Kutumia Kitengo cha Ugunduzi cha STM32F407 na Moduli ya GSM A6: Je! Umewahi kutaka kuunda mradi mzuri uliopachikwa? Ikiwa ndio, vipi kuhusu kujenga moja ya kifaa maarufu zaidi na cha kila mtu, yaani, Simu ya Mkononi !!!. Katika Agizo hili, nitakuelekeza jinsi ya kujenga simu ya msingi kwa kutumia STM
ARUPI - Kitengo cha Kurekodi Kiotomatiki cha Gharama ya chini / Kitengo cha Kurekodi kwa Uhuru (ARU) kwa Wanaikolojia wa Sauti za Sauti: Hatua 8 (na Picha)
ARUPI - Kitengo cha Kurekodi Kiotomatiki cha Gharama ya chini / Kitengo cha Kurekodi kwa Uhuru (ARU) kwa Wataalam wa Ikolojia ya Sauti: Hii inaweza kufundishwa na Anthony Turner. Mradi huo ulibuniwa kwa msaada mwingi kutoka kwa Shed katika Shule ya Kompyuta, Chuo Kikuu cha Kent (Bwana Daniel Knox alikuwa msaada mkubwa!). Itakuonyesha jinsi ya kuunda Kurekodi Sauti kwa Moja kwa Moja
Badilisha Kijijini chako cha IR kuwa Kijijini cha RF: Hatua 9 (na Picha)
Badilisha Kijijini chako cha IR kiwe Remote ya RF: Kwa leo inayoweza kufundishwa, nitakuonyesha jinsi unaweza kutumia moduli ya generic ya RF bila mdhibiti mdogo ambaye mwishowe atatuongoza kujenga mradi ambapo unaweza kubadilisha Remote ya IR ya kifaa chochote kuwa RF Kijijini. Faida kuu ya kubadilisha
Sensor ya Rangi ya Kuzungumza, Kulingana na Kitengo cha Sauti cha AIY: Hatua 4
Sensor ya Rangi ya Kuzungumza, Kulingana na Kitengo cha Sauti cha AIY: Baada ya kujifunza kidogo juu ya Braille hivi karibuni, nilikuwa najiuliza ikiwa ninaweza kujenga kitu kwa kutumia kitanda cha sauti cha AIY kwa Raspberry Pi, ambayo inaweza kuwa na faida ya moja kwa moja kwa walemavu wa macho . Kwa hivyo ilivyoelezwa katika yafuatayo utapata prototy