Tartalomjegyzék:
- 1. lépés: Tápegység
- 2. lépés: Digitális bemenetek
- 3. lépés: Digitális kimenetek
- 4. lépés: Mikrovezérlő oszcillátor
- 5. lépés: Jelző LED -ek
- 6. lépés: A mikroprocesszor visszaállítási áramköre
- 7. lépés: SIM800L modul
- 8. lépés: A mikrovezérlő
- 9. lépés: Az SRAM memória optimalizálása
- 10. lépés: Szoftver soros puffer mérete
- 11. lépés: A PC -kártya elkészítése
- 12. lépés: A PC -kártya összeállítása
- 13. lépés: Az AtMega328p programozása
- 14. lépés: Az egység csatlakoztatása
- 15. lépés: Kezdeti beállítás
- 16. lépés: SMS -parancsok
Videó: Arduino alapú GSM/SMS távirányító: 16 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
! ! ! N O T I C E!
Mivel a környékbeli mobiltelefon -tornyot korszerűsítették, már nem tudom használni ezt a GSM modult. Az újabb torony már nem támogatja a 2G eszközöket. Ezért már nem tudok semmilyen támogatást adni ehhez a projekthez.
Mivel a hobbista számára elérhető a GSM modulok ilyen széles választéka, a legtöbben befejeztük a vásárlást. Helyileg vásároltam egy SIM800L modult, és végül a modul különböző parancsaival játszottam.
Az Arduino Uno és az Arduino IDE segítségével sikerült megvalósítanom elképzeléseimet. Ez nem ment könnyen, mivel az EGYEDI NAGYON KÉRDÉS a 2KB SRAM korlátozása volt. Sok kutatás után az interneten és a különböző fórumokon sikerült leküzdenem ezt a korlátozást.
A különböző programozási technikák, az Arduino fordító sokkal jobb megértése, valamint a SIM -kártya és az EEPROM további memória használata mentette meg ezt a projektet. A kód néhány módosítása után egy stabil prototípust készítettek és teszteltek egy hét alatt.
A korlátozott SRAM hátránya az volt, hogy az egységet nem lehetett kijelzővel és felhasználói kulcsokkal felszerelni. Ez a kód teljes átírását eredményezte. Ha nincs felhasználói felület, az egyetlen lehetőség a projekt folytatására az volt, hogy SMS -eket használtak az egység és a felhasználók konfigurálásához.
Ez izgalmas projektnek bizonyult, és a fejlesztés folytatásával újabb jövők jöttek létre.
A fő célom az volt, hogy ragaszkodjak az Arduino Uno -hoz, vagy jelen esetben az ATMEGA328p -hez, és ne használjak semmilyen felületre szerelhető alkatrészt. Ez megkönnyíti a nagyközönség számára az egység másolását és építését.
Az egység specifikációja:
- Maximum 250 felhasználó programozható a készüléken
- Négy digitális kimenet
- Négy digitális bemenet
- Minden kimenet PULSE vagy ON/OFF kimenetként konfigurálható
- A kimeneti impulzus időtartama 0,5.. 10 másodperc között állítható be
- Mindegyik bemenet konfigurálható úgy, hogy az ON -ON változásokat aktiválja.
- Mindegyik bemenet konfigurálható úgy, hogy be- és kikapcsolja a változásokat
- Minden bemeneti késleltetési idő 0 másodperc és 1 óra között állítható be
- A bemenetek módosítására vonatkozó SMS -eket 5 különböző felhasználónak lehet elküldeni
- A felhasználó beállíthatja az egyes bemenetek nevét és állapotát
- A felhasználó beállíthatja az egyes kimenetek nevét és állapotát
- A készülék konfigurálható úgy, hogy fogadja a SIM -kártya egyenlegét az USSD üzenetek segítségével.
- Minden felhasználó kérheti az egység I/O állapotfrissítését
- Minden felhasználó SMS -ben vezérelheti az egyes kimeneteket
- Minden felhasználó vezérelheti az egyes kimeneteket az egység hívásával
Biztonsági jellemzők
- A készülék kezdeti beállítását csak az egységnél lehet elvégezni.
- A kezdeti beállítást csak a MASTER USER végezheti el
- A kezdeti beállítási parancsok tíz perc elteltével automatikusan letiltásra kerülnek.
- Csak az ismert felhasználóktól érkező hívások és SMS -ek vezérelhetik a készüléket
- A felhasználók csak a MASTER USER által kijelölt kimeneteket működtethetik
Más funkciók
- A készülékre történő hívások ingyenesek, mivel a hívásra soha nem válaszolnak.
- Amikor hívja a készüléket, a hívás csak 2 másodperc múlva bukik meg. Ez a megerősítés a hívó számára, hogy a készülék válaszolt a hívásra.
- Ha a SIM -kártya szolgáltatója támogatja az USSD üzeneteket, a MASTER USER lekérdezheti az egyenleget. Az egyenleget tartalmazó USSD üzenet ezután a MASTER USER felé kerül.
1. lépés: Tápegység
Annak érdekében, hogy a készüléket szabványos biztonsági rendszerekhez (riasztórendszerek, elektromos garázskapuk, elektromos kapumotorok) lehessen csatlakoztatni, a készüléket 12 V egyenáramról kell táplálni, amely általában rendelkezésre áll az ilyen rendszereken.
A tápellátás 12 V IN és 0 V csatlakozókon történik, és 1 A biztosíték védi. További 12V OUT sorkapcsok is rendelkezésre állnak, és biztosítékkal is védettek.
A D1 dióda megvédi a készüléket a 12V -os vezetékek fordított polaritású csatlakozóitól.
A C1 és C2 kondenzátorok kiszűrik a 12 V -os tápvezetékeken lévő zajokat. A 12V -os tápegység az egység reléinek táplálására szolgál.
Az 5 V -os tápegység LM7805L feszültségszabályozóból áll, és stabil +5 V kimenetet biztosít a SIM800L GSM modulhoz, valamint a mikroprocesszorhoz. A C3 és C4 kondenzátorok kiszűrik a zajt, amely a +5V tápvezetéken előfordulhat. Viszonylag nagy méretű elektrolit kondenzátorokat használtak, mivel a SIM800L GSM modul igen kevés energiát fogyaszt az átvitel során.
A feszültségszabályozó nem igényel hűtőbordát.
2. lépés: Digitális bemenetek
A digitális bemeneti jelek mindegyike 12 V -os, és össze kell kötni őket az 5 V -os mikrovezérlővel. Ehhez optocsatlakozókat használnak a 12 V -os jelek leválasztására az 5 V -os rendszerből.
Az 1K bemeneti ellenállás 10 mA -ra korlátozza az optocsatoló bemeneti áramát.
A helykorlátok miatt a PC-kártyán nem volt szabad hely az 5 V-os felhúzó ellenállások számára. A mikrovezérlő úgy van beállítva, hogy lehetővé tegye a bemeneti csapok gyenge felhúzását.
Ha nincs jel az optocsatoló bemenetén (LOW), nem folyik áram az optocsatoló LED -en. Így az optocsatoló tranzisztor ki van kapcsolva. A mikrovezérlő gyenge felhúzása majdnem 5 V-ra húzza fel a kollektorot, és a mikrovezérlő logikus HIGH-nak fogja tekinteni.
Ha az optocsatoló bemenetére 12 V feszültséget (HIGH) csatlakoztat, körülbelül 10 mA áramlik át az optocsatoló LED -en. Így az opto csatoló tranzisztor bekapcsol. Ezzel a kollektor majdnem 0 V -ra húzódik, és a mikrovezérlő logikailag LOW -nak fogja tekinteni.
Vegye figyelembe, hogy a mikrovezérlő által látott bemenet inverz a 12 V -os bemenethez képest.
A bemeneti pin olvasására szolgáló normál kód a következőképpen néz ki:
boolean Input = digitalRead (inputpin);
Az invertált jel javításához használja a következő kódot:
boolean Input =! digitalRead (inputpin); // MEGJEGYZÉS! az olvasmány előtt
Most a mikrovezérlő által látott bemenet megegyezik a 12 V -os bemenet bemenetével.
A végső bemeneti áramkör 4 digitális bemenetből áll. Minden bemenet a PC Board termináljaihoz van csatlakoztatva.
3. lépés: Digitális kimenetek
Általában, ha egy áramkör csak minimális számú relét hajt, a legjobb módja a tranzisztoros meghajtó áramkörének használata az ábrán látható módon. Egyszerű, olcsó és hatékony.
Az ellenállások biztosítják a földhöz való lehúzást és a tranzisztoros bázisáram korlátozását. A tranzisztor a relé meghajtásához rendelkezésre álló áram növelésére szolgál. A mikrovezérlő csapjából csak 1 mA áramot húzva a tranzisztor képes 100 mA terhelést váltani. Több mint elég a legtöbb típusú reléhez. A dióda visszarepülő dióda, amely megvédi az áramkört a nagyfeszültségű tüskétől a relékapcsolás során. Az áramkör további előnye, hogy a relé működési feszültsége eltérhet a mikrovezérlő feszültségétől. Így az 5 V -os relé helyett bármilyen 48 V -os egyenfeszültséget használhat.
Bemutatjuk az ULN2803 -at
Minél több relét igényel egy projekt, annál nagyobb a komponensek száma. Ez megnehezíti a NYÁK -tervezést, és értékes PCB -helyet foglalhat el. De az ULN2803 -hoz hasonló tranzisztor tömb használata minden bizonnyal elősegíti a NYÁK -méret kicsi tartását. Az ULN2803 ideálisan alkalmas 3,3 és 5 V -os bemenetekhez egy mikrovezérlőből, és akár 48 V egyenáramú reléket is képes meghajtani. Ennek az ULN2803 -nak 8 egyedi tranzisztor áramköre van, mindegyik áramkör rendelkezik a relé kapcsolásához szükséges összes komponenssel.
A végső kimeneti áramkör egy ULN3803 -ból áll, amely 4 db 12V DC kimeneti relét hajt. A relé minden érintkezője elérhető a PC Board csatlakozóin.
4. lépés: Mikrovezérlő oszcillátor
Oszcillátor áramkör
A mikrovezérlőnek oszcillátorra van szüksége a megfelelő működéshez. Az Arduino Uno tervezéshez való ragaszkodás érdekében az áramkör a szabványos 16 MHz -es oszcillátort használja. Két lehetőség áll rendelkezésre:
Kristály
Ez a módszer két betöltő kondenzátorhoz csatlakoztatott kristályt használ. Ez a leggyakoribb lehetőség.
Rezonátor
A rezonátor alapvetően egy kristály és két betöltő kondenzátor egyetlen 3 tűs csomagban. Ez csökkenti az alkatrészek mennyiségét, és növeli a PC Boardon rendelkezésre álló helyet.
Annak érdekében, hogy a komponensek száma a lehető legalacsonyabb legyen, úgy döntöttem, hogy egy 16 MHz -es rezonátort használok.
5. lépés: Jelző LED -ek
Milyen lesz az áramkör néhány LED nélkül? A PC -kártyán gondoskodtak a 3 mm -es LED -ekről.
Az 1K ellenállásokat arra használják, hogy a LED-en keresztüli áramot 5 mA alá korlátozzák. 3 mm-es nagy fényerejű LED-ek használata esetén a fényerő kiváló.
Az állapotjelző LED -ek egyszerű értelmezéséhez két színt használnak. A két LED és a villogó jelzések kombinálásával elég sok információ nyerhető csak két LED -ből.
Piros LED
A piros LED jelzi a hibaállapotokat, a hosszú késleltetést és a helytelen parancsokat.
Zöld LED
A zöld LED jelzi az egészséges és/vagy helyes bemeneteket és parancsokat.
6. lépés: A mikroprocesszor visszaállítási áramköre
Biztonsági okokból a készülék egyes funkciói csak a bekapcsolást követő első 10 percben érhetők el.
A reset gombbal az egység áramellátását nem kell kikapcsolni a készülék alaphelyzetbe állításához.
Hogyan működik
A 10K ellenállás a RESET vonalat 5V közelében tartja. Amikor megnyomja a gombot, a RESET vonal 0V -ra húzódik, így a mikrovezérlő visszaáll. A gomb elengedésekor a RESET sor visszatér %v értékre, visszaállítva a mikrovezérlőt.
7. lépés: SIM800L modul
Az egység szíve a SIM800L GSM modul. Ez a modul csak 3 I/O érintkezőt használ a mikrovezérlőn.
A modul szabványos soros porton keresztül kapcsolódik a mikrovezérlőhöz.
- A készülékre küldött összes parancsot a soros porton keresztül küldi szabványos AT parancsok használatával.
- Bejövő hívás vagy SMS fogadása esetén az információ a soros porton keresztül a mikrovezérlőre kerül ASCII szöveg használatával.
A helytakarékosság érdekében a GSM modult egy 7 tűs fejlécen keresztül csatlakoztatják a PC-kártyához. Ez megkönnyíti a GSM modul eltávolítását. Ez lehetővé teszi a felhasználó számára a SIM -kártya egyszerű behelyezését/eltávolítását a modul alján.
Aktív SIM -kártya szükséges, és a SIM -kártyának képesnek kell lennie SMS -ek küldésére és fogadására.
A SIM800L GSM modul beállítása
A készülék bekapcsolásakor a GSM modul alaphelyzetbe állító csapját egy másodpercre alacsonyra húzzák. Ez biztosítja, hogy a GSM modul csak az áramellátás stabilizálása után induljon el. A GSM modul néhány másodpercet vesz igénybe az újraindításhoz, ezért várjon 5 másodpercet, mielőtt bármilyen AT parancsot küld a modulnak.
Annak biztosítása érdekében, hogy a GSM modul úgy legyen konfigurálva, hogy megfelelően kommunikáljon a mikrovezérlővel, a következő AT parancsokat használja az indítás során:
NÁL NÉL
annak meghatározására szolgál, hogy rendelkezésre áll -e GSM modul
AT+CREG -nél?
Addig lekérdezze ezt a parancsot, amíg a GSM modul regisztrálva van a mobilhálózaton
AT+CMGF = 1
Állítsa az SMS üzenetmódot ASCII -re
AT+CNMI = 1, 2, 0, 0, 0
Ha SMS áll rendelkezésre, küldje el az SMS adatait a GSM modul soros portjára
AT+CMGD = 1, 4
Törölje a SIM -kártyán tárolt SMS -eket
AT+CPBS = / "SM
Állítsa a GSM modul telefonkönyvét a SIM -kártyára
AT+COPS = 2, majd AT+CLTS = 1, majd AT+COPS = 0
Állítsa a GSM modul idejét a mobiltelefon hálózati idejére
Várjon 5 másodpercet az idő beállítására
AT+CUSD = 1
Engedélyezze az USSD üzenetküldési funkciót
8. lépés: A mikrovezérlő
A mikrovezérlő szabványos AtMega328p, ugyanaz, mint az Arduino Uno -n. A kód tehát mindkettővel összehasonlítható. Az egyszerű fedélzeti programozás lehetővé tétele érdekében a PC-táblán 6 tűs programozási fejléc található.
Az egység különböző részei a mikroprocesszorhoz vannak csatlakoztatva, és a következőket tartalmazzák:
- Négy digitális bemenet
- Négy digitális kimenet
- Az oszcillátor
- Két jelző LED
- Áramkör visszaállítása
- SIM800L GSM modul
Minden kommunikáció a GSM modulhoz és onnan a SoftwareSerial () függvénnyel történik. Ezzel a módszerrel szabadították fel az Arduino IDE fő soros portját a fejlesztési szakaszban.
Csak 2 KB SRAM és 1 KB EEPROM esetén nincs elegendő memória ahhoz, hogy több, mint egy készülékhez kapcsolható felhasználó tárolására kerüljön sor. Az SRAM felszabadítása érdekében minden felhasználói információ a GSM modul SIM -kártyáján tárolódik. Ezzel az elrendezéssel a készülék akár 250 különböző felhasználó kiszolgálására is alkalmas.
Az egység konfigurációs adatait az EEPROM tárolja, ezáltal elválasztva egymástól a felhasználói adatokat és a rendszer adatokat.
Még mindig több tartalék I/O érintkező áll rendelkezésre. Az LCD -kijelző és/vagy billentyűzet hozzáadásának lehetősége azonban nem volt lehetséges a SoftWareSerial () fogadó- és adási pufferek által használt nagy mennyiségű SRAM miatt, Mivel a készüléken nincs semmilyen felhasználói felület, minden beállítás és felhasználó SMS -ben programozható.
9. lépés: Az SRAM memória optimalizálása
A fejlesztési szakasz elején az Arduino IDE alacsony SRAM memóriát jelentett a kód összeállításakor. Ennek leküzdésére többféle módszert alkalmaztak.
Korlátozza a soros porton kapott adatokat
A GSM modul minden üzenetet jelent a mikrovezérlőnek a soros porton. Néhány SMS üzenet fogadásakor a fogadott üzenet teljes hossza meghaladhatja a 200 karaktert. Ez gyorsan elfogyaszthatja az AtMega chipen elérhető összes SRAM -ot, és stabilitási problémákat okozhat.
ennek megakadályozására csak a GSM modulból érkező MINDEN üzenet első 200 karaktere kerül felhasználásra. Az alábbi példa bemutatja, hogyan kell ezt megtenni a kapott karakterek számlálóval való számlálásával.
// adatok keresése a szoftver soros portjáról
// ----------------------------------------------- RxString = ""; Számláló = 0; while (SSerial.available ()) {delay (1); // rövid késleltetés, hogy időt adjon az új adatok pufferbe helyezésére // új karakter megszerzése RxChar = char (SSerial.read ()); // add hozzá az első 200 karaktert a stringhez, ha (Counter <200) {RxString.concat (RxChar); Számláló = Számláló + 1; }}
Redukáló Serial.print () kód
Bár a fejlesztés során hasznos, az Arduino soros monitor sok SRAM -ot használhat fel. A kódot a lehető legkevesebb Serial.print () kód használatával fejlesztették ki. Egy kódrészlet működését tesztelték, az összes Serial.print () kódot eltávolították a kód ezen részéből.
Serial.print (F (("")) kód használata
Az Arduino soros monitoron általában megjelenített sok információ értelmesebb, ha leírásokat adunk hozzá. Vegyük a következő példát:
Serial.println ("Várakozás konkrét műveletekre");
A "Várakozás konkrét műveletekre" karakterlánc rögzített, és nem módosítható.
A kód fordítása során a fordító a "Várakozás konkrét műveletekre" karakterláncot tartalmazza a FLASH memóriában.
Ezenkívül a fordító látja, hogy a karakterlánc konstans, amelyet a "Serial.print" vagy "Serial.println" utasítás használ. A mikro indításakor ez az állandó az SRAM memóriába is bekerül.
Az "F" előtag használatával a Serial.print () függvényekben azt mondja a fordítónak, hogy ez a karakterlánc csak a FLASH memóriában érhető el. Ebben a példában a karakterlánc 28 karaktert tartalmaz. Ez 28 bájt, amely felszabadítható az SRAM -ban.
Serial.println (F ("Várakozás konkrét műveletekre"));
Ez a módszer a SoftwareSerial.print () parancsokra is vonatkozik. Mivel a GSM modul AT parancsokon működik, a kód számos SoftwareSerial.print ("xxxx") parancsot tartalmaz. Az "F" előtag használatával csaknem 300 bájtnyi SRAM szabadult fel.
Ne használja a hardver soros portját
A kód hibakeresése után a hardver soros port letiltásra került az ALL Serial.print () parancsok eltávolításával. Ez felszabadított néhány extra bájt SRAM -ot.
Anélkül, hogy a Serial.print () parancsok maradtak volna a kódban, további 128 bájt SRAM lett elérhetővé. Ez úgy történt, hogy eltávolították a hardver soros portot a kódból. Ez növelte a 64 bájtos adási és 64 bájtos fogadási puffereket.
// Serial.begin (9600); // hardveres soros port letiltva
EEPROM használata karakterláncokhoz
Minden bemenetre és kimenetre három karakterláncot kellett menteni. Ezek a csatorna neve, karakterlánc, amikor a csatorna be van kapcsolva, és karakterlánc, ha a csatorna ki van kapcsolva.
Összesen 8 I/O csatornával lesz
- 8 karakterlánc tartalmazza a csatornaneveket, mindegyik 10 karakter hosszú
- 8 karakterlánc tartalmazza a csatorna leírását, mindegyik 10 karakter hosszú
- 8 karakterlánc tartalmazza a csatorna ki leírását, mindegyik 10 karakter hosszú
Ez akár 240 bájtnyi SRAM hirdetést is tartalmaz. Ahelyett, hogy ezeket a karakterláncokat SRAM -ban tárolná, az EEPROM -ban tárolják. Ez további 240 bájt SRAM -ot szabadított fel.
A megfelelő hosszúságú karakterlánc deklarálása
A változókat általában a kód elején kell megadni. Gyakori hiba a karakterlánc változó deklarálásakor, hogy nem a megfelelő karakterszámmal deklaráljuk a karakterláncot.
Karakterlánc GSM_Nr = "";
Karakterlánc GSM_Name = ""; Karakterlánc GSM_Msg = "";
Indításkor a mikrovezérlő nem foglal le memóriát az SRAM -ban ezekhez a változókhoz. Ez később instabilitást okozhat ezeknek a karakterláncoknak a használatakor.
Ennek elkerülése érdekében deklarálja a karakterláncokat a megfelelő számú karakterrel, amelyeket a karakterlánc használni fog a szoftverben.
Karakterlánc GSM_Nr = "1000000000";
Karakterlánc GSM_Name = "2000000000"; Karakterlánc GSM_Msg = "3000000000";
Figyeld meg, hogyan nem deklaráltam a karakterláncokat ugyanazokkal a karakterekkel. Ha ezeket a karakterláncokat az "1234567890" mondattal deklarálja, a fordító ugyanazt a karakterláncot látja a három változóban, és csak az egyik karakterlánc számára foglal le elegendő memóriát az SRAM -ban.
10. lépés: Szoftver soros puffer mérete
A következő kódban észreveheti, hogy akár 200 karakter olvasható ki a szoftver soros portjáról.
// adatok keresése a szoftver soros portjáról
// ----------------------------------------------- RxString = ""; Számláló = 0; while (SSerial.available ()) {delay (1); // rövid késleltetés, hogy időt adjon az új adatok pufferbe helyezésére // új karakter megszerzése RxChar = char (SSerial.read ()); // add hozzá az első 200 karaktert a stringhez, ha (Counter <200) {RxString.concat (RxChar); Számláló = Számláló + 1; }}
Ez legalább 200 bájtos puffert igényel a szoftver soros portjához is. alapértelmezés szerint a szoftver soros port puffere csak 64 bájt. A puffer növeléséhez keresse meg a következő fájlt:
SoftwareSerial.h
Nyissa meg a fájlt szövegszerkesztővel, és módosítsa a puffer méretét 200 -ra.
/******************************************************************************
* Definíciók ************************************************ *******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX puffer mérete #endif
11. lépés: A PC -kártya elkészítése
A PC táblát a Cadsoft Eagle ingyenes verziójával tervezték (azt hiszem, a név megváltozott).
- A PC Board egyoldalas kivitel.
- Felületre szerelhető alkatrészeket nem használnak.
- Minden alkatrész a PC -kártyára van szerelve, beleértve a SIM800L modult is.
- Nincs szükség külső alkatrészekre vagy csatlakozásokra
- A huzalos jumper az alkatrészek alatt van elrejtve a tisztább megjelenés érdekében.
A következő módszereket használom a PC -lemezek készítéséhez:
- A PC Board képét Press-n-Peel nyomtatja lézernyomtatóval.
- A Press-n-Peel-t ezután egy tiszta PC-lap tetejére kell helyezni, és ragasztószalaggal kell rögzíteni.
- A PC-kártya képe ezután a Press-n-Peel-ről az üres PC-kártyára kerül, egy laminálón keresztül. Számomra 10 passz működik a legjobban.
- Miután a PC Board lehűlt szobahőmérsékletre, a Press-n-Peel lassan felemelkedik a tábláról.
- A PC -kártyát ezután ammónium -perszulfát kristályok segítségével maratják forró vízben.
- A maratás után a kék Press-n-Peel és fekete festéket eltávolítjuk a maratott PC-kártya némi acetonnal történő tisztításával.
- Ezután a táblát méretre vágják egy Dremel segítségével
- Az átmenő lyukak minden alkatrészéhez lyukakat fúrnak 1 mm-es fúróval.
- A kapocscsavarokat 1,2 mm -es fúróval fúrják.
12. lépés: A PC -kártya összeállítása
Az összeszereléshez először a legkisebb alkatrészeket kell hozzáadni, és a legnagyobb alkatrészekig kell dolgozni.
A használati utasításban használt összes komponens, a SIM800 modul kivételével, a helyi beszállítómtól származik. Azt gondolja nekik, hogy mindig van készletük. Nézze meg dél -afrikai weboldalukat:
www.shop.rabtron.co.za/catalog/index.php
JEGYZET! Először forrasztja be az ATMEGA328p IC alatt található két jumpert
A sorrend a következő:
- Ellenállások és dióda
- Reset gomb
- IC aljzatok
- Feszültségszabályozó
- Fejléc csapok
- Kis kondenzátorok
- LED -ek
- Biztosítéktartó
- Sorkapocs blokkok
- Relék
- Elektrolit kondenzátorok
Az IC -k behelyezése előtt csatlakoztassa a készüléket 12V -ra, és ellenőrizze, hogy minden feszültség helyes -e.
Végül némi átlátszó lakkal fedje le a PC -kártya réz oldalát, hogy megvédje az elemektől.
Amikor a lakk megszáradt, helyezze be az IC -ket, de hagyja a GSM modult, amíg az AtMega programozásra nem kerül.
13. lépés: Az AtMega328p programozása
# # Firmware frissítés 3.02 verzióra # #
Engedélyezett SMS -t kell küldeni a MASTER USER -nek, amikor az áramellátás helyreáll az eszközön
Az egység programozásához programozási pajzzsal ellátott Arduino Uno -t használok. Ha többet szeretne megtudni az Arduino Uno programozóként való használatáról, tekintse meg ezt az utasításokat:
Arduino UNO AtMega328P programozóként
A GSM modult el kell távolítani a PC -kártyáról, hogy hozzáférhessen a programozási fejléchez. Ügyeljen arra, hogy ne sértse meg az antenna vezetékét a GSM modul eltávolításakor.
Csatlakoztassa a programozókábelt a programozóhoz és az egységhez a PC Board programozási fejlécével., És töltse fel a vázlatot a készülékre.
Az egység programozásához nincs szükség külső 12 V -os tápellátásra. A PC -táblát az Arduino programozó kábellel táplálja.
Nyissa meg a csatolt fájlt az Arduino IDE -ben, és programozza be az egységbe.
A programozás után húzza ki a programozókábelt, és helyezze be a GSM modult.
A készülék most használatra kész.
14. lépés: Az egység csatlakoztatása
A készülékhez való összes csatlakozás a csavaros csatlakozókon keresztül történik.
Az egység áramellátása
Győződjön meg arról, hogy regisztrált SIM -kártyát helyezett be a GSM modulba, és hogy a SIM -kártya képes SMS -üzenetek küldésére és fogadására.
Csatlakoztasson egy 12V egyenáramú tápegységet a 12V IN és bármely 0V csatlakozóhoz. Bekapcsolás után a PC -n lévő piros LED kigyullad. Körülbelül egy perc múlva a GSM modulnak csatlakoznia kell a mobilhálózathoz. A piros LED kialszik, és a piros LED gyorsan villog a GSM modulon.
Ha elérte ezt a szakaszt, a készülék készen áll a konfigurálásra.
Bemeneti kapcsolatok
A digitális bemenetek 12V -on működnek. A bemenet bekapcsolásához 12V -ot kell alkalmazni a bemenetre. A 12V eltávolítása kikapcsolja a bemenetet.
Kimeneti csatlakozók
Minden kimenet egy váltóérintkezőből áll. Szükség szerint kösse be az összes érintkezőt.
15. lépés: Kezdeti beállítás
Az egység kezdeti beállítását el kell végezni annak biztosítása érdekében, hogy minden paraméter a gyári alapértékekre legyen állítva, és a SIM -kártya úgy legyen konfigurálva, hogy a megfelelő formátumban fogadja el a felhasználói információkat.
Mivel minden parancs SMS -alapú, a beállításhoz másik telefonra lesz szüksége.
A kezdeti beállításhoz az egységnél kell lennie.
Állítsa be a MASTER USER telefonszámot
Mivel csak a MASTER USER konfigurálhatja az egységet, először ezt a lépést kell végrehajtani.
- Az egységnek áram alatt kell lennie.
- Nyomja meg és engedje fel a Reset gombot, és várja meg, amíg a PC -n lévő piros LED kialszik.
- A NET LED gyorsan villog a GSM modulon.
- A készülék most készen áll a kezdeti beállítási parancsok elfogadására. Ezt 10 percen belül el kell végezni.
- Küldjön SMS -t, amely tartalmazza a MASTER, leírást a készülék telefonszámára.
- Ha megkapja, a PC -n lévő zöld LED kétszer felvillan.
- A MASTER USER programozásra került.
Állítsa vissza a készüléket a gyári alapértékekre
A MASTER USER programozása után a készülék beállításait a gyári alapértékekre kell állítani.
- Küldjön SMS -t csak a CLEARALL funkcióval a készülék telefonszámára.
- Ha megkapja, a PC -kártyán lévő zöld és piros LED másodpercenként felváltva villog. A készüléket visszaállították a gyári alapbeállításokkal.
- Minden beállítás visszaállt a gyári alapértékekre.
- Nyomja meg és engedje fel a Reset gombot az egység újraindításához.
A SIM -kártya formázása
Az utolsó lépés a SIM -kártyán tárolt összes információ törlése és konfigurálása a készülékben való használatra.
- Nyomja meg és engedje fel a Reset gombot, és várja meg, amíg a PC -n lévő piros LED kialszik.
- A NET LED gyorsan villog a GSM modulon.
- A készülék most készen áll a kezdeti beállítási parancsok elfogadására. Ezt 10 percen belül el kell végezni.
- Küldjön SMS -t csak ERASESIM kóddal a készülék telefonszámára.
- Ha megkapja, a PC -kártyán lévő zöld LED villogni fog.
A készülék konfigurálása megtörtént, és használatra kész.
16. lépés: SMS -parancsok
Az egység három különböző típusú parancsot használ. Minden parancsot SMS -ben küld, és mindegyik a következő formátumban van:
COMMAND,,,,,
- A NORMAL USER parancsok kivételével minden parancs kis- és nagybetűket érzékeny.
- A paraméterek nem különböztetik meg a kis- és nagybetűket.
Kezdeti beállítási parancsok
MESTER, név
A MASTER USER telefonszámként az SMS feladó telefonszáma szolgál. a készülék leírása itt adható hozzá.
MINDENT KITÖRÖL
Állítsa vissza a készüléket a gyári alapértékekre
CLEARSIM
Törölje az összes adatot a SIM -kártyáról
VISSZAÁLLÍTÁS
Indítsa újra az egységet
MASTER USER Az egység konfigurálására vonatkozó parancsok
OUTMODE, c, m, t MEGJEGYZÉS! ! ! MÉG MEG NEM VALÓSULT
Állítson be bizonyos csatornákat PULSED, TIMED vagy LATCHING kimenettel. t az időtartam percben a TIMED kimenetekhez
PULSE, cccc
Állítson be bizonyos csatornákat PULSED kimenetekre. Ha nincs beállítva, a csatornák LATCHING kimenetként lesznek beállítva.
PULSETIME, tA pulzáló kimeneti időtartam beállítása másodpercben (0.. 10 s)
INPUTON, másolat
Állítsa be azokat a csatornákat, amelyeknek aktiválniuk kell, és küldjenek SMS -t, amikor az állapot OFF -ról ON -ra változik
INPUTOFF, cccc
Állítsa be azokat a csatornákat, amelyeknek aktiválódniuk kell, és küldjön SMS -t, amikor az állapot ON -ról OFF -ra változik
INTIME, c, t
Beállítja a bemeneti késleltetési időt az állapotváltozások másodpercekben történő észleléséhez
INTEXT, ch, név, be, ki
Állítsa be az egyes bemeneti csatornák nevét a szövegen és a szövegen kívül
OUTTEXT, ch, név, be, ki
Állítsa be az egyes kimeneti csatornák nevét a szövegen és a szövegen kívül
Hozzáadás, hely, szám, Kiemelések, SMS -kimenetek, bemenetek
Felhasználó hozzáadása a SIM -kártyához a memória „helyén”, a felhasználóhoz hozzárendelt kimeneti és bemeneti csatornákkal
Del, helyszín
Felhasználó törlése a SIM -kártya "helyéről"
Csatorna neve
Az impulzus kimenete a ChannelName név lesz
ChannelName, onText vagy ChannelName, offText
Be-/kikapcsolja a kimenetet a ChannelName nevével és az onText/offText szöveggel
Normál felhasználói parancsok az egység vezérléséhez
???? I/O állapotfrissítés kérése. Az állapot SMS -t elküldik a kezdeményezőnek.
Csatorna neve
Az impulzus kimenete a ChannelName név lesz
ChannelName, onText
Bekapcsolja a kimenetet a ChannelName nevével, és az állapotszöveget onText
ChannelName, offText Kikapcsolja a kimenetet a ChannelName nevével, és az állapotszöveg ki
A parancsok részletes leírását a csatolt PDF dokumentumban találja.
Ajánlott:
Arduino böngésző alapú távirányító (linux): 9 lépés (képekkel)
Arduino böngészőalapú távirányító (linux): Gyerekeink vannak. Nagyon szeretem őket, de mindig elrejtik a műhold és a TV távirányítóját, amikor bekapcsolják a gyermekcsatornákat. Miután ez több éven keresztül naponta történt, és miután drága feleségem megengedte, hogy
Automatikus Arduino alapú IR távirányító Hőmérséklet vezérelt: 7 lépés
Automatikus Arduino alapú IR távirányító hőmérsékletvezérelt: Hé, mi újság, srácok! Akarsh itt a CETech -től. Elege van abból, hogy egy jó alvás közepén ébred fel, csak mert a szobahőmérséklete túl alacsony vagy túl magas a Dumb AC miatt. Akkor ez a projekt az Ön számára. Ebben a projektben a
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen
Arduino GSM alapú motorvezérlés (GSM modul nélkül): 3 lépés
Arduino GSM alapú motorvezérlés (GSM modul nélkül): Ebben a projektben egy alapvető, de egyedi módszert mutatok be Önnek, amellyel bármit be- és kikapcsolhat a relével. Ez az ötlet kevés embertől származik, akik ilyen projekteket végeznek, de problémájuk volt, hogy mindannyian függnek a mobiltelefon hívás közbeni viselkedésétől. Egyszerűsítek
Arduino alapú távirányító Eskate vagy szárnyashajó számára: 5 lépés (képekkel)
Arduino alapú távirányító Eskate vagy szárnyashajó számára: Ez az oktatóanyag bemutatja, hogyan kell fizikai távirányítót készíteni egy eskate vagy egy elektromos szárnyashajóhoz, beleértve az összes szükséges kódot és hardvert. Sok forrasztás van benne, de az elkészítése is szórakoztató. Mit tehet a távirányító? Együtt