Sisällysluettelo:
- Vaihe 1: Virtalähde
- Vaihe 2: Digitaalitulot
- Vaihe 3: Digitaaliset lähdöt
- Vaihe 4: Mikro -ohjaimen oskillaattori
- Vaihe 5: Merkkivalot
- Vaihe 6: Mikroprosessorin nollauspiiri
- Vaihe 7: SIM800L -moduuli
- Vaihe 8: Mikro -ohjain
- Vaihe 9: SRAM -muistin optimointi
- Vaihe 10: Ohjelmiston sarjapuskurin koko
- Vaihe 11: PC -kortin tekeminen
- Vaihe 12: PC -kortin kokoaminen
- Vaihe 13: AtMega328p: n ohjelmointi
- Vaihe 14: Laitteen liittäminen
- Vaihe 15: Alkuasetukset
- Vaihe 16: Tekstiviestikomennot
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
! ! ! ILMOITUS !
Alueellani päivitettävän paikallisen matkapuhelintornin vuoksi en voi enää käyttää tätä GSM -moduulia. Uudempi torni ei enää tue 2G -laitteita. Siksi en voi enää tukea tätä hanketta.
Koska harrastajalle on tarjolla laaja valikoima GSM -moduuleja, useimmat meistä päättivät ostaa sellaisen. Ostin SIM800L -moduulin paikallisesti ja päädyin pelaamaan moduulin eri komentoilla.
Arduino Unon ja Arduino IDE: n avulla pystyin muuttamaan ideani todellisuudeksi. Tämä ei tullut helposti, sillä YKSI SUURIN ONGELMA oli vain 2 kt: n SRAM -rajoitus. Monien Internetin ja eri foorumien tutkimusten jälkeen pystyin voittamaan tämän rajoituksen.
Eri ohjelmointitekniikat, paljon parempi ymmärrys Arduino -kääntäjästä ja SIM -kortin ja EEPROMin käyttö lisämuistiin pelasti tämän projektin. Muutosten jälkeen koodiin rakennettiin vakaa prototyyppi ja sitä testattiin viikon ajan.
Rajoitetun SRAM: n haittana oli, että yksikköä ei voitu varustaa näytöllä ja käyttäjäavaimilla. Tämä johti koodin täydelliseen uudelleen kirjoittamiseen. Kun käyttöliittymää ei ollut, ainoa vaihtoehto projektin jatkamiseksi oli käyttää tekstiviestejä laitteen ja käyttäjien määrittämiseen.
Tämä osoittautui jännittäväksi projektiksi, ja uusia futuureja lisättiin kehityksen edetessä.
Päätavoitteeni oli pysyä Arduino Unon tai tässä tapauksessa ATMEGA328p: n kanssa eikä käyttää mitään pinta -asennuskomponentteja. Tämä helpottaa suuren yleisön kopioimista ja rakentamista.
Yksikön tekniset tiedot:
- Laitteeseen voidaan ohjelmoida enintään 250 käyttäjää
- Neljä digitaalista lähtöä
- Neljä digitaalituloa
- Jokainen lähtö voidaan konfiguroida PULSE- tai ON/OFF -lähtöksi
- Lähtöpulssin kesto voidaan asettaa välille 0,5.. 10 sekuntia
- Jokainen tulo voidaan konfiguroida laukaisemaan OFF -ON -muutokset.
- Jokainen tulo voidaan konfiguroida käynnistämään ON -OFF -muutokset
- Jokainen tulon viiveaika voidaan asettaa välille 0 sekuntia - 1 tunti
- Tekstiviestit tulojen muutoksista voidaan lähettää 5 eri käyttäjälle
- Käyttäjä voi asettaa kunkin syötteen nimet ja tilatekstin
- Käyttäjä voi asettaa kunkin lähdön nimet ja tilatekstin
- Yksikkö voidaan määrittää vastaanottamaan SIM -kortin saldosanomat USSD -viestien kautta.
- Kaikki käyttäjät voivat pyytää laitteen I/O -tilan päivityksiä
- Kaikki käyttäjät voivat ohjata yksittäisiä lähtöjä tekstiviesteillä
- Kaikki käyttäjät voivat ohjata yksittäisiä lähtöjä soittamalla laitteeseen
Turvaominaisuudet
- Laitteen alkuasetukset voidaan tehdä vain yksikön ollessa.
- Vain MASTER USER voi suorittaa alkuasetukset
- Alkuasetukset poistetaan automaattisesti käytöstä kymmenen minuutin kuluttua.
- Vain tunnetuilta käyttäjiltä saadut puhelut ja tekstiviestit voivat ohjata laitetta
- Käyttäjät voivat käyttää vain PÄÄKÄYTTÄJÄN heille määrittämiä lähtöjä
Muut ominaisuudet
- Puhelut tähän laitteeseen ovat ilmaisia, koska puheluun ei koskaan vastata.
- Kun laite soitetaan, puhelu katkeaa vasta 2 sekunnin kuluttua. Tämä on vahvistus soittajalle, että laite vastasi puheluun.
- Jos SIM -kortin palveluntarjoaja tukee USSD -viestejä, MASTER USER voi tehdä saldotiedusteluja. Saldoa sisältävä USSD -viesti välitetään sitten MASTER USERille.
Vaihe 1: Virtalähde
Jotta yksikkö voidaan liittää vakioturvajärjestelmiin (hälytysjärjestelmät, sähkökäyttöiset autotallin ovet, sähkömoottorit), yksikkö saa virran 12 V DC: stä, joka yleensä on saatavana tällaisissa järjestelmissä.
Virta syötetään 12V IN- ja 0V -liittimiin, ja se on suojattu 1A: n sulakkeella. Saatavana on myös muita 12 V OUT -liittimiä, ja ne on myös suojattu sulakkeella.
Diodi D1 suojaa laitetta 12V -linjojen napaisuuskytkennöiltä.
Kondensaattorit C1 ja C2 suodattavat pois melun, joka esiintyy 12 V: n syöttöjohdoissa. 12 V: n syöttöjännitettä käytetään laitteen releiden virransyöttöön.
5 V: n syöttö koostuu LM7805L -jännitesäätimestä, ja sen lähtö on vakaa +5 V, jota tarvitaan SIM800L GSM -moduulille ja mikroprosessorille. Kondensaattorit C3 ja C4 suodattavat pois melun, joka saattaa esiintyä +5 V: n syöttöjohdossa. Suhteellisen suuria elektrolyyttikondensaattoreita käytettiin, koska SIM800L GSM -moduuli käyttää melko vähän virtaa lähettäessään.
Jännitteensäätimessä ei tarvita jäähdytyselementtiä.
Vaihe 2: Digitaalitulot
Kaikki digitaaliset tulosignaalit ovat 12 V, ja ne on liitettävä 5 V: n mikro -ohjaimeen. Tätä varten opto -liittimiä käytetään 12V -signaalien eristämiseen 5V -järjestelmästä.
1K -tulovastus rajoittaa opto -liittimen tulovirran noin 10 mA: iin.
Tilarajoitusten vuoksi PC-kortilla ei ollut tilaa 5 V: n vetovastusvastuksille. Mikro-ohjain on asetettu mahdollistamaan tulonappien heikot vetot.
Kun optokytkimen tulossa (LOW) ei ole signaalia, virtaa ei kulje optokytkimen LED -valon läpi. Siten optokytkintransistori kytkeytyy pois päältä. Mikro-ohjaimen heikko vetäminen nostaa kollektorin lähes 5 V: iin, ja mikro-ohjain näkee sen loogisena HIGH.
Kun 12 V on kytketty (HIGH) optokytkimen tuloon, noin 10 mA virtaa optokytkimen LED -valon läpi. Näin opto -liittimen transistori kytkeytyy päälle. Tämä alentaa kollektorin lähes 0 V: iin, ja mikro -ohjain näkee sen LOGIC LOW.
Huomaa, että mikro -ohjaimen näkemä tulo on käänteinen verrattuna 12 V: n tuloon.
Normaali koodi syöttötapin lukemiseen näyttää seuraavalta:
boolean Input = digitalRead (inputpin);
Käänteisen signaalin korjaamiseksi käytä seuraavaa koodia:
boolean Input =! digitalRead (inputpin); // HUOM! luetun edessä
Nyt mikro -ohjaimen näkemä tulo vastaa 12 V: n tulon tuloa.
Viimeinen tulopiiri koostuu 4 digitaalitulosta. Jokainen tulo on kytketty PC -kortin liittimiin.
Vaihe 3: Digitaaliset lähdöt
Normaalisti, kun piiri käyttää vain vähimmäismäärää releitä, paras tapa on käyttää transistorin ohjainpiiriä kuvan mukaisesti. Se on yksinkertainen, edullinen ja tehokas.
Vastukset tarjoavat vedon maahan ja transistorikannan virranrajoituksen. Transistoria käytetään lisäämään releen käyttämiseen käytettävissä olevaa virtaa. Kun mikro -ohjaimen tapista on vedetty vain 1 mA, transistori voi vaihtaa 100 mA: n kuorman. Useimmille releille enemmän kuin tarpeeksi. Diodi on palautusdiodi, joka suojaa piiriä korkeajännitepiikeiltä releen kytkennän aikana. Tämän piirin käytön lisäetuna on, että releen käyttöjännite voi olla erilainen kuin mikro -ohjaimen jännite. Näin ollen 5 V: n releen käytön sijaan voidaan käyttää mitä tahansa tasavirtajännitettä jopa 48 V asti.
Esittelyssä ULN2803
Mitä enemmän releitä projekti vaatii, sitä suurempi on komponenttien määrä. Tämä vaikeuttaa piirilevyjen suunnittelua ja saattaa kuluttaa arvokasta PCB -tilaa. Mutta ULN2803: n kaltaisten transistorijärjestelmien käyttö auttaa varmasti pitämään piirilevyn koon pienenä. ULN2803 sopii ihanteellisesti 3,3 V: n ja 5 V: n tuloille mikro -ohjaimesta ja voi käyttää jopa 48 V DC: n releitä. Tässä ULN2803 -laitteessa on 8 yksittäistä transistoripiiriä, joista jokaisessa on kaikki releen kytkemiseen tarvittavat komponentit.
Lopullinen lähtöpiiri koostuu ULN3803: sta, joka käyttää 4 12 V: n tasavirtarelettä. Jokainen releen kosketin on saatavana PC -kortin liittimissä.
Vaihe 4: Mikro -ohjaimen oskillaattori
Oskillaattoripiiri
Mikro -ohjain tarvitsee oskillaattorin toimiakseen oikein. Arduino Uno -mallin säilyttämiseksi piiri käyttää tavallista 16 MHz: n oskillaattoria. Käytettävissä on kaksi vaihtoehtoa:
Kristalli
Tämä menetelmä käyttää kristallia, joka on kytketty kahteen latauskondensaattoriin. Tämä on yleisin vaihtoehto.
Resonaattori
Resonaattori on pohjimmiltaan kide ja kaksi latauskondensaattoria yhdessä 3-nastaisessa paketissa. Tämä vähentää komponenttien määrää ja lisää käytettävissä olevaa tilaa PC -kortilla.
Jotta komponenttien määrä pysyisi mahdollisimman pienenä, valitsin 16 MHz: n resonaattorin.
Vaihe 5: Merkkivalot
Mikä tahansa piiri on ilman joitain LED -valoja? PC -levyllä oli 3 mm: n LED -valot.
1K-vastuksia käytetään rajoittamaan LEDin kautta kulkeva virta alle 5 mA: iin. Kun käytetään 3 mm: n suurikirkkaita LED-valoja, kirkkaus on erinomainen.
Tilan merkkivalojen tulkinnan helpottamiseksi käytetään kahta väriä. Yhdistämällä kaksi LEDiä vilkkuviin merkkivaloihin saadaan melko paljon tietoa vain kahdesta LEDistä.
Punainen LED
Punaista LEDiä käytetään ilmaisemaan vikaolosuhteet, pitkät viiveet ja mahdolliset virheelliset komennot.
Vihreä LED
Vihreää LEDiä käytetään ilmaisemaan terveitä ja/tai oikeita tuloja ja komentoja.
Vaihe 6: Mikroprosessorin nollauspiiri
Turvallisuussyistä osa laitteen toiminnoista on käytettävissä vain ensimmäisten 10 minuutin aikana laitteen käynnistämisen jälkeen.
Palautuspainikkeen avulla laitteen virtaa ei tarvitse katkaista laitteen nollaamiseksi.
Kuinka se toimii
10K -vastus pitää RESET -linjan lähellä 5 V. Kun painiketta painetaan, RESET -linja vedetään 0 V: iin, jolloin mikro -ohjain pysyy nollassa. Kun painike vapautetaan, RESET -rivi palaa kohtaan %v ja palauttaa mikro -ohjaimen uudelleen.
Vaihe 7: SIM800L -moduuli
Laitteen sydän on SIM800L GSM -moduuli. Tämä moduuli käyttää vain 3 I/O -nastaa mikro -ohjaimessa.
Moduuli liitetään mikro -ohjaimeen tavallisen sarjaportin kautta.
- Kaikki komennot laitteelle lähetetään sarjaportin kautta käyttämällä AT -vakiokomentoja.
- Saapuvan puhelun tai tekstiviestin saapuessa tiedot lähetetään mikro -ohjaimeen sarjaportin kautta ASCII -tekstin avulla.
Tilan säästämiseksi GSM-moduuli on liitetty PC-korttiin 7-nastaisen otsikon kautta. Tämä helpottaa GSM -moduulin irrottamista. Tämän avulla käyttäjä voi myös helposti asentaa/poistaa SIM -kortin moduulin pohjasta.
Aktiivinen SIM -kortti vaaditaan, ja SIM -kortin on voitava lähettää ja vastaanottaa tekstiviestejä.
SIM800L GSM -moduulin asennus
Kun laitteeseen kytketään virta, GSM -moduulin nollaustappi vedetään alhaalle sekunniksi. Tämä varmistaa, että GSM -moduuli käynnistyy vasta, kun virtalähde on vakiintunut. GSM -moduulin uudelleenkäynnistys kestää muutaman sekunnin, joten odota 5 sekuntia, ennen kuin lähetät AT -komentoja moduulille.
Varmistaaksesi, että GSM -moduuli on määritetty kommunikoimaan oikein mikro -ohjaimen kanssa, seuraavia AT -komentoja käytetään käynnistyksen aikana:
AT
käytetään määrittämään, onko GSM -moduuli käytettävissä
AT+CREG?
Polla tätä komentoa, kunnes GSM -moduuli on rekisteröity matkapuhelinverkkoon
AT+CMGF = 1
Aseta tekstiviestitilaksi ASCII
AT+CNMI = 1, 2, 0, 0, 0
Jos tekstiviesti on käytettävissä, lähetä tekstiviestitiedot GSM -moduulin sarjaporttiin
AT+CMGD = 1, 4
Poista kaikki SIM -kortille tallennetut tekstiviestit
AT+CPBS = / "SM
Aseta GSM -moduulin puhelinluettelo SIM -kortille
AT+COPS = 2, sitten AT+CLTS = 1, sitten AT+COPS = 0
Aseta GSM -moduulin aika matkapuhelimen verkkoajaksi
Odota 5 sekuntia, kunnes aika on asetettu
AT+CUSD = 1
Ota USSD -viestitoiminto käyttöön
Vaihe 8: Mikro -ohjain
Mikro -ohjain on vakio AtMega328p, sama kuin Arduino Unossa. Koodi on siis verrattavissa molempiin. Sisäisen ohjelmoinnin helpottamiseksi PC-levyllä on 6-nastainen ohjelmointiotsikko.
Yksikön eri osat on kytketty mikroprosessoriin, ja ne sisältävät seuraavat:
- Neljä digitaalituloa
- Neljä digitaalista lähtöä
- Oskillaattori
- Kaksi merkkivaloa
- Nollaa piiri
- SIM800L GSM -moduuli
Kaikki viestintä GSM -moduuliin ja sieltä tapahtuu SoftwareSerial () -toiminnon avulla. Tätä menetelmää käytettiin Arduino IDE: n pääsarjan vapauttamiseen kehitysvaiheessa.
Kun käytössä on vain 2 kt SRAM -muistia ja 1 kt EEPROM -muistia, muisti ei riitä useiden laitteeseen liitettävien käyttäjien tallentamiseen. SRAMin vapauttamiseksi kaikki käyttäjätiedot tallennetaan GSM -moduulin SIM -kortille. Tällä järjestelyllä yksikkö voi palvella jopa 250 eri käyttäjää.
Yksikön kokoonpanotiedot tallennetaan EEPROMiin, jolloin käyttäjätiedot ja järjestelmätiedot erotetaan toisistaan.
Saatavilla on edelleen useita vara -I/O -nastoja, mutta LCD -näytön ja/tai näppäimistön lisääminen ei ollut mahdollista SoftWareSerialin () vastaanotto- ja lähetyspuskurien suuren SRAM -määrän vuoksi, Koska laitteessa ei ole minkäänlaista käyttöliittymää, kaikki asetukset ja käyttäjät on ohjelmoitu tekstiviesteillä.
Vaihe 9: SRAM -muistin optimointi
Melko varhaisessa kehitysvaiheessa Arduino IDE ilmoitti vähäisestä SRAM -muistista koodia koottaessaan. Tämän ratkaisemiseksi käytettiin useita menetelmiä.
Rajoita sarjaporttiin vastaanotettuja tietoja
GSM -moduuli raportoi kaikki viestit mikro -ohjaimelle sarjaportista. Kun vastaanotat joitakin tekstiviestejä, vastaanotetun viestin kokonaispituus voi olla yli 200 merkkiä. Tämä voi kuluttaa nopeasti kaikki AtMega -sirulla saatavilla olevat SRAM -muistit ja aiheuttaa vakausongelmia.
tämän estämiseksi käytetään vain 200 ensimmäistä merkkiä MITÄ tahansa GSM -moduulista vastaanotetuista viesteistä. Alla oleva esimerkki osoittaa, kuinka tämä tehdään laskemalla vastaanotetut merkit muuttujassa Laskuri.
// skannaa tietoja ohjelmiston sarjaportista
// ----------------------------------------------- RxString = ""; Laskuri = 0; while (SSerial.available ()) {delay (1); // lyhyt viive antaa aikaa uusien tietojen sijoittamiseen puskuriin // saada uusi merkki RxChar = char (SSerial.read ()); // lisää ensimmäiset 200 merkkiä merkkijonoon, jos (laskuri <200) {RxString.concat (RxChar); Laskuri = laskuri + 1; }}
Serial.print () -koodin pienentäminen
Vaikka Arduino Serial Monitor on kätevä kehityksen aikana, se voi käyttää paljon SRAM -muistia. Koodi kehitettiin käyttämällä mahdollisimman vähän Serial.print () -koodia. Yksi koodiosa on testattu toimivaksi, kaikki Serial.print () -koodit poistettiin koodin osasta.
Serial.print (F (("")) -koodin käyttäminen
Monet tiedot, jotka tavallisesti näytetään Arduino Serial Monitorissa, ovat järkevämpiä, kun kuvauksia lisätään. Ota seuraava esimerkki:
Serial.println ("Odotetaan tiettyjä toimia");
Jono "Odotetaan tiettyjä toimintoja" on kiinteä, eikä sitä voi muuttaa.
Koodin kääntämisen aikana kääntäjä sisältää merkkijonon "Odotetaan tiettyjä toimintoja" FLASH -muistiin.
Lisäksi kääntäjä näkee, että merkkijono on vakio, jota käytetään komennossa "Serial.print" tai "Serial.println". Mikroa käynnistettäessä tämä vakio tallennetaan myös SRAM-muistiin.
Käyttämällä F -etuliitettä Serial.print () -funktioissa se kertoo kääntäjälle, että tämä merkkijono on käytettävissä vain FLASH -muistissa. Tässä esimerkissä merkkijono sisältää 28 merkkiä. Tämä on 28 tavua, jotka voidaan vapauttaa SRAM: ssa.
Serial.println (F ("Odotetaan tiettyjä toimia"));
Tämä menetelmä koskee myös SoftwareSerial.print () -komentoja. Koska GSM -moduuli toimii AT -komennoilla, koodi sisältää lukuisia SoftwareSerial.print ("xxxx") -komentoja. F -etuliitteen käyttäminen vapautti lähes 300 tavua SRAM -muistia.
Älä käytä laitteiston sarjaporttia
Koodin virheenkorjauksen jälkeen laitteiston sarjaportti poistettiin käytöstä poistamalla KAIKKI Serial.print () -komennot. Tämä vapautti muutaman ylimääräisen tavun SRAM: sta.
Ilman Serial.print () -komentoja koodissa oli jäljellä 128 tavua SRAM: a. Tämä tehtiin poistamalla laitteiston sarjaportti koodista. Tämä lisäsi 64 tavun lähetys- ja 64 tavua vastaanottopuskureita.
// Sarja.alku (9600); // laitteiston sarjaportti poistettu käytöstä
EEPROMin käyttäminen merkkijonoille
Jokaista tuloa ja lähtöä varten oli tallennettava kolme merkkijonoa. Ne ovat kanavan nimi, merkkijono, kun kanava on päällä, ja merkkijono, kun kanava on pois päältä.
Niillä on yhteensä 8 I/O -kanavaa
- 8 merkkijonoa, jotka sisältävät kanavien nimet, kukin 10 merkkiä pitkä
- 8 merkkijonoa, jotka sisältävät kanavan kuvauksen, kukin 10 merkkiä pitkä
- 8 merkkijonoa, jotka sisältävät kanavan pois päältä kuvauksen, kukin 10 merkkiä pitkä
Tämä mainos jopa 240 tavua SRAM. Sen sijaan, että nämä merkkijonot tallennetaan SRAM: iin, ne tallennetaan EEPROMiin. Tämä vapautti vielä 240 tavua SRAM: a.
Ilmoitetaan merkkijono oikeilla pituuksilla
Muuttuja ilmoitetaan yleensä koodin alussa. Yleinen virhe julistettaessa merkkijonomuuttujaa on, että emme ilmoita merkkijonoa oikealla merkkimäärällä.
Jono GSM_Nr = "";
Jono GSM_Nimi = ""; Jono GSM_Msg = "";
Käynnistyksen aikana mikro -ohjain ei varaa muistia SRAM: lle näille muuttujille. Tämä voi myöhemmin aiheuttaa epävakautta, kun näitä merkkijonoja käytetään.
Tämän estämiseksi ilmoita merkkijonot, joissa on oikea määrä merkkejä, joita merkkijono käyttää ohjelmistossa.
Merkkijono GSM_Nr = "1000000000";
Merkkijono GSM_Name = "2000000000"; Merkkijono GSM_Msg = "3000000000";
Huomaa, kuinka en ilmoittanut merkkijonoja, joissa on samat merkit. Jos ilmoitat nämä merkkijonot sanomalla "1234567890", kääntäjä näkee saman merkkijonon kolmessa muuttujassa ja varaa tarpeeksi muistia SRAM: lle vain jollekin merkkijonolle.
Vaihe 10: Ohjelmiston sarjapuskurin koko
Seuraavassa koodissa huomaat, että jopa 200 merkkiä voidaan lukea ohjelmiston sarjaportista.
// skannaa tietoja ohjelmiston sarjaportista
// ----------------------------------------------- RxString = ""; Laskuri = 0; while (SSerial.available ()) {delay (1); // lyhyt viive antaa aikaa uusien tietojen sijoittamiseen puskuriin // saada uusi merkki RxChar = char (SSerial.read ()); // lisää ensimmäiset 200 merkkiä merkkijonoon, jos (laskuri <200) {RxString.concat (RxChar); Laskuri = laskuri + 1; }}
Tämä vaatii myös vähintään 200 tavun puskurin ohjelmiston sarjaportille. oletusarvoisesti ohjelmiston sarjaporttipuskuri on vain 64 tavua. Voit lisätä puskuria etsimällä seuraavan tiedoston:
SoftwareSerial.h
Avaa tiedosto tekstieditorilla ja muuta puskurin koko 200: ksi.
/******************************************************************************
*Määritelmät ************************************************ *******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX -puskurin koko #endif
Vaihe 11: PC -kortin tekeminen
PC Board on suunniteltu käyttämällä Cadsoft Eaglen ilmaisversiota (uskon, että nimi on muuttunut).
- PC Board on yksipuolinen muotoilu.
- Pinta -asennettavia komponentteja ei käytetä.
- Kaikki komponentit on asennettu PC -kortille, mukaan lukien SIM800L -moduuli.
- Ulkoisia osia tai liitäntöjä ei tarvita
- Lankahyppyjä on piilotettu komponenttien alle puhtaamman ilmeen saavuttamiseksi.
Käytän PC -levyjen valmistuksessa seuraavaa menetelmää:
- PC-levyn kuva tulostetaan Press-n-Peel-lasertulostimella.
- Press-n-Peel asetetaan sitten puhtaan PC-levyn päälle ja kiinnitetään teipillä.
- PC-levyn kuva siirretään sitten Press-n-Peelistä tyhjälle PC-levylle viemällä levy laminaattorin läpi. Minulle 10 passia toimii parhaiten.
- Kun PC-levy on jäähtynyt huoneenlämpötilaan, Press-n-Peel nostetaan hitaasti levyltä.
- PC -levy syövytetään sitten käyttämällä ammoniumpersulfaattikiteitä, jotka on liuotettu kuumaan veteen.
- Etsauksen jälkeen sininen Press-n-Peel ja musta väriaine poistetaan puhdistamalla syövytetty PC-levy jollakin asetonilla.
- Levy leikataan sopivan kokoiseksi Dremelillä
- Kaikkien reikäkomponenttien reiät porataan 1 mm: n poranterällä.
- Liitinruuviliittimet porataan 1,2 mm: n poranterällä.
Vaihe 12: PC -kortin kokoaminen
Kokoonpano tehdään lisäämällä ensin pienimmät komponentit ja siirtymällä suurimpiin osiin.
Kaikki tässä Instructable -ohjelmassa käytetyt komponentit, lukuun ottamatta SIM800 -moduulia, hankittiin paikalliselta toimittajalta. Ajattelee heille, että heillä on aina varastossa. Katso heidän eteläafrikkalaista verkkokauppaa:
www.shop.rabtron.co.za/catalog/index.php
HUOMAUTUS! Juotetaan ensin kaksi ATMEGA328p IC: n alla olevaa hyppääjää
Järjestys on seuraava:
- Vastukset ja diodi
- Nollaus painike
- IC -pistorasiat
- Jännitteensäädin
- Otsikon nastat
- Pienet kondensaattorit
- LEDit
- Sulakkeen pidike
- Riviliittimet
- Releet
- Elektrolyyttikondensaattorit
Kytke laite 12 V: n jännitteeseen ennen IC: n asettamista ja testaa, että kaikki jännitteet ovat oikein.
Lopuksi peitä PC -levyn kuparipinta käyttämällä kirkasta lakkaa suojaamalla se elementteiltä.
Kun lakka on kuivunut, aseta IC: t paikalleen, mutta jätä GSM -moduuli, kunnes AtMega on ohjelmoitu.
Vaihe 13: AtMega328p: n ohjelmointi
# # Laiteohjelmistopäivitys versioon 3.02 # #
Käytössä olevat tekstiviestit lähetetään PÄÄKÄYTTÄJÄLLE, kun laitteeseen palautetaan virta
Käytän yksikön ohjelmointiin Arduino Unoa, jossa on ohjelmointikilpi. Lisätietoja Arduino Unon käyttämisestä ohjelmoijana on tässä ohjeessa:
Arduino UNO AtMega328P -ohjelmoijana
GSM -moduuli on poistettava PC -kortilta saadakseen pääsyn ohjelmointiotsikkoon. Varo vahingoittamasta antennijohtoa, kun irrotat GSM -moduulia.
Liitä ohjelmointikaapeli ohjelmoijan ja laitteen välille käyttämällä PC -levyn ohjelmointiotsikkoa. Ja lataa luonnos laitteeseen.
Laitteen ohjelmointiin ei tarvita ulkoista 12 V: n syöttöä. PC -kortti saa virtaa Arduinosta ohjelmointikaapelin kautta.
Avaa liitteenä oleva tiedosto Arduino IDE: ssä ja ohjelmoi se laitteeseen.
Irrota ohjelmointikaapeli ohjelmoinnin jälkeen ja aseta GSM -moduuli paikalleen.
Laite on nyt käyttövalmis.
Vaihe 14: Laitteen liittäminen
Kaikki liitännät laitteeseen tehdään ruuviliittimien kautta.
Virran kytkeminen laitteeseen
Varmista, että olet asettanut rekisteröidyn SIM -kortin GSM -moduuliin ja että SIM -kortti voi lähettää ja vastaanottaa tekstiviestejä.
Liitä 12V DC -virtalähde 12V IN -liitäntään ja mihin tahansa 0V -liittimeen. Kun virta on kytketty, PC -kortin punainen LED -valo syttyy. Noin minuutin kuluttua GSM -moduulin olisi pitänyt muodostaa yhteys matkapuhelinverkkoon. Punainen LED -valo sammuu ja punainen LED -valo GSM -moduulissa vilkkuu nopeasti.
Kun tämä vaihe on saavutettu, laite on valmis määritettäväksi.
Tuloliitännät
Digitaalitulot toimivat 12V jännitteellä. Tulon kytkemiseksi päälle on kytkettävä 12V. 12V: n poistaminen kytkee tulon pois päältä.
Lähtöliitännät
Jokainen ulostulo koostuu vaihtokoskettimesta. Johdota jokainen kosketin tarpeen mukaan.
Vaihe 15: Alkuasetukset
Yksikön alkuasetukset on suoritettava sen varmistamiseksi, että kaikki parametrit on asetettu tehdasasetuksiin ja että SIM -kortti on määritetty hyväksymään käyttäjätiedot oikeassa muodossa.
Koska kaikki komennot perustuvat tekstiviesteihin, tarvitset toisen puhelimen asennuksen suorittamiseen.
Alkuasetuksia varten sinun on oltava yksikössä.
Aseta PÄÄKÄYTTÄJÄ -puhelinnumero
Koska vain PÄÄKÄYTTÄJÄ voi määrittää laitteen, tämä vaihe on suoritettava ensin.
- Laitteeseen on kytkettävä virta.
- Paina Reset -painiketta ja vapauta se ja odota, kunnes PC -levyn punainen LED -valo sammuu.
- GSM -moduulin NET -merkkivalo vilkkuu nopeasti.
- Laite on nyt valmis hyväksymään alkuasetukset. Tämä on suoritettava 10 minuutin kuluessa.
- Lähetä tekstiviesti, joka sisältää MASTER, kuvaus laitteen puhelinnumeroon.
- Jos vastaanotetaan, PC -kortin vihreä LED -valo vilkkuu kaksi kertaa.
- PÄÄKÄYTTÄJÄ on nyt ohjelmoitu.
Palauta laite tehdasasetuksiin
Kun PÄÄKÄYTTÄJÄ on ohjelmoitu, laitteen asetukset on asetettava tehdasasetuksiin.
- Lähetä tekstiviesti vain CLEARALL laitteen puhelinnumeroon.
- Jos vastaanotettu, vihreä ja punainen merkkivalo PC -kortilla vilkkuu vuorotellen kerran sekunnissa. Laite on palautettu tehdasasetuksilla.
- Kaikki asetukset on palautettu tehdasasetuksiin.
- Käynnistä laite uudelleen painamalla Reset -painiketta ja vapauttamalla se.
SIM -kortin alustaminen
Viimeinen vaihe on poistaa kaikki SIM -kortille tallennetut tiedot ja määrittää ne käytettäväksi tässä laitteessa.
- Paina Reset -painiketta ja vapauta se ja odota, kunnes PC -levyn punainen LED -valo sammuu.
- GSM -moduulin NET -merkkivalo vilkkuu nopeasti.
- Laite on nyt valmis hyväksymään alkuasetukset. Tämä on suoritettava 10 minuutin kuluessa.
- Lähetä tekstiviesti, jossa on vain ERASESIM, laitteen puhelinnumeroon.
- Jos se vastaanotetaan, PC -kortin vihreä LED -valo vilkkuu puuaikana.
Laite on nyt määritetty ja se on käyttövalmis.
Vaihe 16: Tekstiviestikomennot
Yksikkö käyttää kolmea erityyppistä komentoa. Kaikki komennot lähetetään tekstiviestillä ja ne ovat seuraavassa muodossa:
COMMAND,,,,,
- Kaikki komennot, paitsi NORMAL USER -komennot, erottavat isot ja pienet kirjaimet.
- Parametrit eivät erota kirjainkokoa.
Alkuasetukset
Mestari, nimi
Tekstiviestin lähettäjän puhelinnumeroa käytetään MASTER USER -puhelinnumerona. a Yksikön kuvaus voidaan lisätä tähän.
TYHJENNÄ
Palauta laite tehdasasetuksiin
CLEARSIM
Poista kaikki tiedot SIM -kortilta
PALAUTA
Käynnistä laite uudelleen
MASTER USER Laitteen konfigurointikomennot
OUTMODE, c, m, t HUOM! ! ! EI VIELÄ TOTEUTETTU
Aseta tietyille kanaville PULSED-, TIMED- tai LATCHING -lähdöt. t on TIMED -lähtöjen kesto minuutteina
PULSSI, cccc
Aseta tietyt kanavat PULSED -lähtöihin. Jos sitä ei ole asetettu, kanavat asetetaan LATCHING -lähdöiksi.
PULSETIME, t Asettaa pulssilähdön keston sekunneissa (0.. 10 s)
INPUTON, cccc
Aseta kanavat, joiden on käynnistettävä, ja lähetä tekstiviesti, kun tila vaihtuu OFF -tilasta ON -tilaan
INPUTOFF, cccc
Määritä kanavat, joiden on käynnistettävä, ja lähetettävä tekstiviesti, kun tila vaihtuu PÄÄLLÄ ja POIS
INTIME, c, t
Asettaa tulon viiveajan tilan muutosten havaitsemiseksi sekunneissa
INTEXT, kanava, nimi, päällä, pois päältä
Aseta kunkin syöttökanavan nimi tekstiksi ja pois tekstistä
OUTTEXT, kanava, nimi, päällä, pois päältä
Aseta jokaisen lähtökanavan nimi tekstiksi ja pois tekstistä
Lisää, sijainti, numero, huomiotekstit, tekstiviestit, tulot
Lisää käyttäjä SIM -kortille muistin "sijainnissa", ja lähtö- ja tulokanavat on määritetty käyttäjälle
Del, sijainti
Poista käyttäjä SIM -kortin muistista
Kanavan nimi
Lähettää pulssin nimellä ChannelName
ChannelName, onText tai ChannelName, offText
Kytkee lähdön päälle/pois päältä ChannelName -nimellä ja onText/offText
Normaalit käyttäjän komennot laitteen ohjaamiseen
Pyydä I/O -tilan päivitystä. Tila -tekstiviesti lähetetään lähettäjälle.
Kanavan nimi
Lähettää pulssin nimellä ChannelName
ChannelName, onText
Kytkee lähdön päälle kanavanimen nimen ja tilatekstin tekstinä
ChannelName, offText Kytkee lähdön pois päältä ChannelName -nimellä ja tilatekstillä offText
Lisätietoja komennoista on liitteenä olevassa PDF -asiakirjassa.