Turinys:
- 1 žingsnis: maitinimo šaltinis
- 2 žingsnis: skaitmeninės įvestys
- 3 žingsnis: skaitmeniniai išėjimai
- 4 žingsnis: mikrovaldiklio osciliatorius
- 5 žingsnis: indikaciniai šviesos diodai
- 6 žingsnis: Mikroprocesoriaus atstatymo grandinė
- 7 žingsnis: SIM800L modulis
- 8 žingsnis: mikrovaldiklis
- 9 veiksmas: SRAM atminties optimizavimas
- 10 veiksmas: programinės įrangos serijos buferio dydis
- 11 veiksmas: sukurkite kompiuterio plokštę
- 12 žingsnis: PC plokštės surinkimas
- 13 veiksmas: „AtMega328p“programavimas
- 14 žingsnis: Įrenginio prijungimas
- 15 veiksmas: pradinė sąranka
- 16 veiksmas: SMS komandos
Video: „Arduino“pagrįstas GSM/SMS nuotolinio valdymo blokas: 16 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
! ! ! PASTEBĖTI !
Kadangi mano rajone atnaujinamas vietinis mobiliųjų telefonų bokštas, nebegaliu naudotis šiuo GSM moduliu. Naujesnis bokštas nebepalaiko 2G įrenginių. Todėl šiam projektui nebegaliu teikti jokios paramos.
Turėdami tokį platų GSM modulių asortimentą mėgėjams, daugelis iš mūsų nebepirko. Aš nusipirkau SIM800L modulį vietoje ir galiausiai žaidžiau su skirtingomis modulio komandomis.
Naudodamas „Arduino Uno“ir „Arduino IDE“, galėjau paversti savo idėjas realybe. Tai nebuvo lengva, nes vienintelis didžiausias klausimas buvo tik 2 KB SRAM apribojimas. Po daugybės tyrimų internete ir skirtinguose forumuose man pavyko įveikti šį apribojimą.
Įvairūs programavimo būdai, daug geresnis „Arduino“kompiliatoriaus supratimas ir papildomos atminties naudojimas naudojant SIM kortelę ir EEPROM. Po tam tikrų kodo pakeitimų buvo sukurtas stabilus prototipas ir išbandytas per savaitę.
Riboto SRAM trūkumas buvo tas, kad įrenginyje negalėjo būti įrengtas ekranas ir vartotojo raktai. Dėl to buvo visiškai perrašytas kodas. Neturint vartotojo sąsajos, vienintelė galimybė tęsti projektą buvo naudoti SMS žinutes konfigūruoti įrenginį ir vartotojus.
Tai pasirodė įdomus projektas, o toliau plėtojant buvo pridėta daugiau ateities.
Pagrindinis mano tikslas buvo laikytis „Arduino Uno“, o šiuo atveju - „ATMEGA328p“ir nenaudoti jokių ant paviršiaus tvirtinamų komponentų. Taip plačiajai visuomenei bus lengviau kopijuoti ir kurti įrenginį.
Įrenginio specifikacija:
- Prietaise galima užprogramuoti ne daugiau kaip 250 vartotojų
- Keturi skaitmeniniai išėjimai
- Keturi skaitmeniniai įėjimai
- Kiekvienas išėjimas gali būti sukonfigūruotas kaip PULSE arba ON/OFF išėjimas
- Išėjimo impulsų trukmę galima nustatyti tarp 0,5.. 10 sekundžių
- Kiekvieną įvestį galima sukonfigūruoti taip, kad ji įjungtų išjungimo į įjungimą pakeitimus.
- Kiekvienas įėjimas gali būti sukonfigūruotas taip, kad įjungtų ir išjungtų pakeitimus
- Kiekvieną įvesties atidėjimo laiką galima nustatyti nuo 0 sekundžių iki 1 valandos
- SMS žinutes apie įvesties pakeitimus galima siųsti 5 skirtingiems vartotojams
- Vartotojas gali nustatyti kiekvienos įvesties pavadinimus ir būsenos tekstą
- Vartotojas gali nustatyti kiekvienos išvesties pavadinimus ir būsenos tekstą
- Įrenginys gali būti sukonfigūruotas priimti SIM kortelės balanso pranešimus per USSD pranešimus.
- Visi vartotojai gali prašyti atnaujinti įrenginio įvesties/išvesties būseną
- Visi vartotojai gali valdyti atskirus išėjimus SMS žinutėmis
- Kiekvienas vartotojas gali valdyti atskirus išėjimus skambindamas į įrenginį
Saugos ypatybės
- Pradinį įrenginio nustatymą galima atlikti tik būnant įrenginyje.
- Pradinį nustatymą gali atlikti tik MASTER USER
- Pradinės sąrankos komandos automatiškai išjungiamos po dešimties minučių.
- Prietaisą gali valdyti tik žinomų vartotojų skambučiai ir SMS žinutės
- Vartotojai gali valdyti tik tuos išėjimus, kuriuos jiems priskyrė MASTER USER
Kitos savybės
- Skambučiai į šį įrenginį yra nemokami, nes į skambutį niekada neatsakoma.
- Skambinus įrenginiui, skambutis nutrūks tik po 2 sekundžių. Tai patvirtina skambinančiajam, kad įrenginys atsiliepė į skambutį.
- Jei SIM kortelės paslaugų teikėjas palaiko USSD pranešimus, MASTER USER gali pateikti balanso užklausas. USSD pranešimas, kuriame yra likutis, bus persiųstas MASTER USER.
1 žingsnis: maitinimo šaltinis
Kad įrenginys būtų prijungtas prie standartinių apsaugos sistemų (signalizacijos sistemos, elektriniai garažo vartai, elektros vartų varikliai), įrenginys bus maitinamas iš 12 V nuolatinės srovės, kuri paprastai yra tokiose sistemose.
Maitinimas tiekiamas 12V IN ir 0V gnybtuose ir yra apsaugotas 1A saugikliu. Galimi papildomi 12 V OUT gnybtai, kurie taip pat yra apsaugoti saugikliu.
Diodas D1 apsaugo įrenginį nuo atvirkštinio poliškumo jungčių 12 V linijose.
Kondensatoriai C1 ir C2 filtruoja 12V maitinimo linijose esantį triukšmą. 12 V maitinimas naudojamas įrenginio relėms maitinti.
5 V maitinimo šaltinį sudaro įtampos reguliatorius LM7805L, o išėjimas stabilus +5 V, reikalingas SIM800L GSM moduliui, taip pat mikroprocesoriui. Kondensatoriai C3 ir C4 filtruoja bet kokį triukšmą, kuris gali būti +5 V maitinimo linijoje. Buvo naudojami santykinai didelio dydžio elektrolitiniai kondensatoriai, nes SIM800L GSM modulis perduodant sunaudoja gana daug energijos.
Įtampos reguliatoriuje nereikia radiatoriaus.
2 žingsnis: skaitmeninės įvestys
Visi skaitmeniniai įvesties signalai yra 12 V ir turi būti sujungti su 5 V mikrovaldikliu. Tam naudojami opto jungtys, skirtos izoliuoti 12 V signalus iš 5 V sistemos.
1K įėjimo rezistorius apriboja įvesties srovę iki opto jungties iki maždaug 10 mA.
Dėl vietos apribojimų kompiuterio plokštėje nebuvo vietos 5 V traukiamiesiems rezistoriams. Mikrovaldiklis nustatytas taip, kad įvesties kaiščiai būtų silpni.
Jei opto jungties įėjime (LOW) nėra signalo, per opto jungties šviesos diodą nebus tekama srovė. Taigi opto jungties tranzistorius yra išjungtas. Silpnas mikrovaldiklio pritraukimas pritraukia kolektorių iki beveik 5 V, o mikrovaldiklis jį vertins kaip HIGH logiką.
Įjungus 12V (HIGH) į opto jungties įvestį, per opto jungties šviesos diodą tekės apie 10 mA. Taigi bus įjungtas optinis jungties tranzistorius. Tai sumažins kolektorių iki beveik 0 V, o mikrovaldiklis tai matys kaip žemą logiką.
Atminkite, kad mikrovaldiklio matomas įėjimas yra apverstas, palyginti su 12 V įėjimu.
Įprastas įvesties kaiščio skaitymo kodas atrodo taip:
loginis įėjimas = digitalRead (inputpin);
Norėdami ištaisyti apverstą signalą, naudokite šį kodą:
loginis įvestis =! digitalRead (inputpin); // PASTABA! priešais skaitymą
Dabar mikrovaldiklio matomas įėjimas atitiks 12 V įvesties įvestį.
Galutinę įvesties grandinę sudaro 4 skaitmeniniai įėjimai. Kiekvienas įėjimas yra prijungtas prie kompiuterio plokštės terminalų.
3 žingsnis: skaitmeniniai išėjimai
Paprastai, kai grandinė varo tik minimalų relių skaičių, geriausias būdas yra naudoti tranzistoriaus tvarkyklės grandinę, kaip parodyta. Tai paprasta, nebrangu ir efektyvu.
Rezistoriai riboja žemę ir riboja tranzistoriaus bazės srovę. Tranzistorius naudojamas padidinti srovę, kuria galima valdyti relę. Iš mikrovaldiklio kaiščio ištraukus tik 1 mA, tranzistorius gali perjungti 100 mA apkrovą. Daugumai relių daugiau nei pakankamai. Diodas yra atbulinis diodas, apsaugantis grandinę nuo aukštos įtampos šuolių relės perjungimo metu. Papildomas šios grandinės naudojimo pranašumas yra tas, kad relės darbinė įtampa gali skirtis nuo mikrovaldiklio įtampos. Taigi, vietoj 5 V relės, galite naudoti bet kokią iki 48 V nuolatinės įtampos.
Pristatome ULN2803
Kuo daugiau relių reikia projektui, tuo didesnis komponentų skaičius. Tai apsunkins PCB dizainą ir gali išnaudoti vertingą PCB vietą. Tačiau naudojant tranzistorių masyvą, pvz., ULN2803, neabejotinai padės išlaikyti mažą PCB dydį. ULN2803 idealiai tinka 3,3 V ir 5 V įėjimams iš mikrovaldiklio ir gali valdyti iki 48 V nuolatinės srovės relių. Šiame ULN2803 yra 8 atskiros tranzistorių grandinės, kiekvienoje grandinėje yra visi komponentai, reikalingi relės perjungimui.
Galutinę išėjimo grandinę sudaro ULN3803, važiuojanti 4 12 V nuolatinės srovės išėjimo relėmis. Kiekvienas relės kontaktas yra prieinamas PC plokštės gnybtuose.
4 žingsnis: mikrovaldiklio osciliatorius
Osciliatoriaus grandinė
Norint tinkamai veikti, mikrovaldikliui reikia osciliatoriaus. Siekiant išlaikyti „Arduino Uno“dizainą, grandinėje bus naudojamas standartinis 16MHz osciliatorius. Galimi du variantai:
Crystal
Šis metodas naudoja kristalą, prijungtą prie dviejų pakrovimo kondensatorių. Tai yra labiausiai paplitęs variantas.
Rezonatorius
Rezonatorius iš esmės yra kristalas ir du pakrovimo kondensatoriai vienoje 3 kontaktų pakuotėje. Tai sumažina komponentų kiekį ir padidina laisvą vietą kompiuterio plokštėje.
Kad komponentų skaičius būtų kuo mažesnis, aš nusprendžiau naudoti 16MHz rezonatorių.
5 žingsnis: indikaciniai šviesos diodai
Kokia grandinė bus be kai kurių šviesos diodų? PC plokštėje buvo numatyti 3 mm šviesos diodai.
1K rezistoriai naudojami riboti srovę per šviesos diodą iki mažiau nei 5 mA. Naudojant 3 mm didelio ryškumo šviesos diodus, ryškumas yra puikus.
Kad būtų lengviau suprasti būsenos šviesos diodus, naudojamos dvi spalvos. Sujungus du šviesos diodus su mirksinčiomis indikacijomis, gana daug informacijos galima gauti tik iš dviejų šviesos diodų.
Raudonas šviesos diodas
Raudonas šviesos diodas naudojamas nurodyti gedimo sąlygas, ilgus vėlavimus ir bet kokias neteisingas komandas.
Žalias šviesos diodas
Žalias šviesos diodas naudojamas sveikoms ir (arba) teisingoms įvestims ir komandoms nurodyti.
6 žingsnis: Mikroprocesoriaus atstatymo grandinė
Saugumo sumetimais kai kurios įrenginio funkcijos pasiekiamos tik per pirmąsias 10 minučių po įrenginio įjungimo.
Naudojant atstatymo mygtuką, norint iš naujo nustatyti įrenginį, nereikia išjungti maitinimo.
Kaip tai veikia
10K rezistorius išlaikys RESET liniją arti 5V. Paspaudus mygtuką, RESET linija bus ištraukta iki 0 V, todėl mikrovaldiklis bus iš naujo nustatytas. Kai mygtukas atleidžiamas, RESET eilutė grįžta į %v ir vėl įjungiamas mikrovaldiklis.
7 žingsnis: SIM800L modulis
Įrenginio širdis yra SIM800L GSM modulis. Šis modulis naudoja tik 3 įvesties/išvesties kaiščius mikrovaldiklyje.
Modulis jungiasi prie mikrovaldiklio per standartinį nuoseklųjį prievadą.
- Visos komandos į įrenginį siunčiamos per nuoseklųjį prievadą naudojant standartines AT komandas.
- Įeinant į skambutį arba gavus SMS, informacija siunčiama į mikrovaldiklį per nuoseklųjį prievadą naudojant ASCII tekstą.
Norėdami sutaupyti vietos, GSM modulis yra prijungtas prie kompiuterio plokštės per 7 kontaktų antraštę. Tai palengvina GSM modulio pašalinimą. Tai taip pat leidžia vartotojui lengvai įdėti/išimti SIM kortelę modulio apačioje.
Reikalinga aktyvi SIM kortelė, o SIM kortelė turi sugebėti siųsti ir gauti SMS žinutes.
SIM800L GSM modulio sąranka
Įjungus įrenginį, GSM modulio atstatymo kaištis sekundei nusileidžia žemai. Tai užtikrina, kad GSM modulis įsijungs tik stabilizavus maitinimo šaltinį. GSM modulio perkrovimas užtrunka keletą sekundžių, todėl palaukite 5 sekundes, prieš siųsdami į modulį AT komandas.
Siekiant užtikrinti, kad GSM modulis būtų sukonfigūruotas tinkamai bendrauti su mikrovaldikliu, paleidimo metu naudojamos šios AT komandos:
AT
naudojamas nustatyti, ar yra GSM modulis
AT+CREG?
Klausykite šios komandos, kol GSM modulis bus užregistruotas mobiliojo telefono tinkle
AT+CMGF = 1
Nustatykite SMS žinutės režimą į ASCII
AT+CNMI = 1, 2, 0, 0, 0
Jei galima gauti SMS, išsiųskite SMS informaciją į GSM modulio nuoseklųjį prievadą
AT+CMGD = 1, 4
Ištrinkite visas SMS žinutes, saugomas SIM kortelėje
AT+CPBS = / "SM
Nustatykite GSM modulio telefonų knygą į SIM kortelę
AT+COPS = 2, tada AT+CLTS = 1, tada AT+COPS = 0
Nustatykite GSM modulio laiką į mobiliojo telefono tinklo laiką
Palaukite 5 sekundes, kol bus nustatytas laikas
AT+CUSD = 1
Įgalinti USSD pranešimų siuntimo funkciją
8 žingsnis: mikrovaldiklis
Mikrovaldiklis yra standartinis „AtMega328p“, toks pat kaip ir „Arduino Uno“. Taigi kodą galima palyginti su abiem. Kad būtų galima lengvai programuoti laive, kompiuterio plokštėje yra 6 kontaktų programavimo antraštė.
Įvairūs įrenginio skyriai yra prijungti prie mikroprocesoriaus ir apima:
- Keturi skaitmeniniai įėjimai
- Keturi skaitmeniniai išėjimai
- Osciliatorius
- Du indikatoriniai šviesos diodai
- Iš naujo nustatyti grandinę
- SIM800L GSM modulis
Visi ryšiai su GSM moduliu ir iš jo vyksta naudojant „SoftwareSerial“() funkciją. Šis metodas buvo naudojamas norint atlaisvinti pagrindinį „Arduino IDE“nuoseklųjį prievadą kūrimo etape.
Turint tik 2 KB SRAM ir 1 KB EEPROM, nepakanka atminties, kad būtų galima išsaugoti daugiau nei porą vartotojų, kuriuos galima susieti su įrenginiu. Norint atlaisvinti SRAM, visa vartotojo informacija saugoma GSM modulio SIM kortelėje. Tokiu būdu įrenginys gali aptarnauti iki 250 skirtingų vartotojų.
Įrenginio konfigūracijos duomenys saugomi EEPROM, taip atskiriant vartotojo duomenis ir sistemos duomenis.
Vis dar yra keletas atsarginių įvesties/išvesties kaiščių, tačiau galimybė pridėti LCD ekraną ir (arba) klaviatūrą nebuvo įmanoma dėl didelio SRAM kiekio, naudojamo „SoftWareSerial“() priėmimo ir perdavimo buferiuose, Kadangi įrenginyje nėra bet kokio tipo vartotojo sąsajos, visi nustatymai ir vartotojai užprogramuojami naudojant SMS žinutes.
9 veiksmas: SRAM atminties optimizavimas
Gana ankstyvoje kūrimo stadijoje „Arduino IDE“sudarydama kodą pranešė apie mažą SRAM atmintį. Tam įveikti buvo naudojami keli metodai.
Apribokite serijiniame prievade gautus duomenis
GSM modulis visus pranešimus mikrovaldikliui praneš apie nuoseklųjį prievadą. Gavus kai kurias SMS žinutes, bendras gauto pranešimo ilgis gali viršyti 200 simbolių. Tai gali greitai sunaudoti visą „AtMega“mikroschemoje esantį SRAM ir sukelti stabilumo problemų.
Siekiant to išvengti, bus naudojami tik pirmieji 200 simbolių bet kokio pranešimo, gauto iš GSM modulio. Žemiau pateiktame pavyzdyje parodyta, kaip tai daroma skaičiuojant gautus simbolius kintamajame skaitiklyje.
// nuskaityti duomenis iš programinės įrangos nuoseklaus prievado
// ----------------------------------------------- RxString = ""; Skaitiklis = 0; while (SSerial.available ()) {delay (1); // trumpas delsimas duoti laiko naujiems duomenims patalpinti į buferį // gauti naują simbolį RxChar = char (SSerial.read ()); // pridėti pirmuosius 200 simbolių prie eilutės, jei (skaitiklis <200) {RxString.concat (RxChar); Skaitiklis = skaitiklis + 1; }}
Serial.print () kodo sumažinimas
Nors „Arduino“serijinis monitorius yra patogus kūrimo metu, jis gali sunaudoti daug SRAM. Kodas buvo sukurtas naudojant kuo mažiau Serial.print () kodo. Išbandyta, kad veikia viena kodo dalis, visas Serial.print () kodas buvo pašalintas iš tos kodo dalies.
Naudojant Serial.print (F (("")) kodą
Pridedant aprašymus daug informacijos, paprastai rodomos „Arduino“serijos monitoriuje, yra prasmingesnė. Imk šį pavyzdį:
Serial.println („Laukiama konkrečių veiksmų“);
Eilutė „Laukiama konkrečių veiksmų“yra fiksuota ir negali būti pakeista.
Renkant kodą, kompiliatorius į FLASH atmintį įtraukia eilutę „Laukiama konkrečių veiksmų“.
Be to, kompiliatorius mato, kad eilutė yra konstanta, naudojama instrukcijoje „Serial.print“arba „Serial.println“. Įkeliant mikro, ši konstanta taip pat įrašoma į SRAM atmintį.
Naudojant „F“priešdėlį Serial.print () funkcijose, kompiliatoriui pranešama, kad ši eilutė pasiekiama tik FLASH atmintyje. Šiame pavyzdyje eilutėje yra 28 simboliai. Tai yra 28 baitai, kuriuos galima atlaisvinti SRAM.
Serial.println (F („Laukiama konkrečių veiksmų“));
Šis metodas taip pat taikomas „SoftwareSerial.print ()“komandoms. Kadangi GSM modulis veikia pagal AT komandas, kode yra daug „SoftwareSerial.print“(„xxxx“) komandų. Naudojant „F“priešdėlį buvo atlaisvinta beveik 300 baitų SRAM.
Nenaudokite aparatinės įrangos nuoseklaus prievado
Po kodo derinimo aparatūros nuoseklusis prievadas buvo išjungtas pašalinus VISAS Serial.print () komandas. Tai atlaisvino keletą papildomų SRAM baitų.
Kode nepaliekant jokių „Serial.print ()“komandų, buvo prieinami papildomi 128 baitai SRAM. Tai buvo padaryta pašalinus iš kodo aparatūros nuoseklųjį prievadą. Tai padidino 64 baitų perdavimo ir 64 baitų priėmimo buferius.
// Serial.begin (9600); // aparatūros nuoseklusis prievadas išjungtas
EEPROM naudojimas stygoms
Kiekvienam įėjimui ir išėjimui reikėjo išsaugoti tris eilutes. Tai kanalo pavadinimas, eilutė, kai kanalas įjungtas, ir eilutė, kai kanalas išjungtas.
Iš viso bus 8 įvesties/išvesties kanalai
- 8 eilutės, kuriose yra kanalų pavadinimai, kiekviena 10 simbolių
- 8 eilutės, kuriose yra aprašymo kanalas, kiekviena 10 simbolių
- 8 eilutės, kuriose yra kanalo išjungimo aprašymas, kiekviena 10 simbolių
Tai skelbimai iki 240 baitų SRAM. Užuot saugoję šias eilutes SRAM, jos saugomos EEPROM. Tai atlaisvino papildomus 240 baitų SRAM.
Teisingas ilgio deklaravimas
Kintamasis paprastai deklaruojamas kodo pradžioje. Dažna klaida deklaruojant eilutės kintamąjį yra ta, kad mes nedeklaruojame eilutės su tinkamu simbolių skaičiumi.
Eilutė GSM_Nr = "";
Eilutė GSM_Name = ""; Eilutė GSM_Msg = "";
Paleidimo metu mikrovaldiklis šiems kintamiesiems nepaskirs atminties SRAM. Vėliau tai gali sukelti nestabilumą, kai naudojamos šios eilutės.
Norėdami to išvengti, nurodykite eilutes su tinkamu simbolių skaičiumi, kurį eilutė naudos programinėje įrangoje.
Eilutė GSM_Nr = "1000000000";
Eilutė GSM_Name = "2000000000"; Eilutė GSM_Msg = "3000000000";
Atkreipkite dėmesį, kaip aš nedeklaravau tų pačių simbolių stygų. Jei visas šias eilutes deklaruosite sakydami „1234567890“, kompiliatorius matys tą pačią eilutę trijuose kintamuosiuose ir tik vienai iš eilučių paskirs pakankamai atminties SRAM.
10 veiksmas: programinės įrangos serijos buferio dydis
Toliau pateiktame kode pastebėsite, kad iš programinės įrangos nuoseklaus prievado galima nuskaityti iki 200 simbolių.
// nuskaityti duomenis iš programinės įrangos nuoseklaus prievado
// ----------------------------------------------- RxString = ""; Skaitiklis = 0; while (SSerial.available ()) {delay (1); // trumpas delsimas duoti laiko naujiems duomenims patalpinti į buferį // gauti naują simbolį RxChar = char (SSerial.read ()); // pridėti pirmuosius 200 simbolių prie eilutės, jei (skaitiklis <200) {RxString.concat (RxChar); Skaitiklis = skaitiklis + 1; }}
Tam taip pat reikalingas mažiausiai 200 baitų buferis programinės įrangos nuosekliajam prievadui. pagal numatytuosius nustatymus programinės įrangos serijinio prievado buferis yra tik 64 baitai. Norėdami padidinti šį buferį, ieškokite šio failo:
SoftwareSerial.h
Atidarykite failą naudodami teksto redaktorių ir pakeiskite buferio dydį į 200.
/******************************************************************************
*Apibrėžimai *********************************************** *******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX buferio dydis #endif
11 veiksmas: sukurkite kompiuterio plokštę
Kompiuterių lenta buvo sukurta naudojant nemokamą „Cadsoft Eagle“versiją (manau, kad pavadinimas pasikeitė).
- PC plokštė yra vienpusis dizainas.
- Nenaudojami jokie paviršiaus tvirtinimo komponentai.
- Visi komponentai yra sumontuoti ant kompiuterio plokštės, įskaitant SIM800L modulį.
- Nereikia jokių išorinių komponentų ar jungčių
- Vieliniai džemperiai yra paslėpti po komponentais, kad būtų švaresnis vaizdas.
PC plokščių gamybai naudoju šį metodą:
- Kompiuterio plokštės vaizdas spausdinamas „Press-n-Peel“lazeriniu spausdintuvu.
- Tada „Press-n-Peel“dedamas ant švaraus kompiuterio plokštės gabalo ir pritvirtinamas tam tikra juostele.
- Tada kompiuterio plokštės vaizdas perkeliamas iš „Press-n-Peel“į tuščią kompiuterio plokštę, praleidžiant plokštę per laminatorių. Man geriausiai tinka 10 leidimų.
- PC plokštei atvėsus iki kambario temperatūros, „Press-n-Peel“lėtai pakeliama nuo plokštės.
- Tada PC plokštė išgraviruojama naudojant amonio persulfato kristalus, ištirpintus karštame vandenyje.
- Po ėsdinimo mėlynas „Press-n-Peel“ir juodas dažai pašalinami nuvalius išgraviruotą kompiuterio plokštę trupučiu acetono.
- Po to lenta supjaustoma pagal dydį naudojant „Dremel“
- Visų skylių komponentų skylės gręžiamos naudojant 1 mm grąžtą.
- Gnybtų varžtų jungtys gręžiamos naudojant 1,2 mm grąžtą.
12 žingsnis: PC plokštės surinkimas
Surinkimas atliekamas pirmiausia pridedant mažiausius komponentus ir pereinant prie didžiausių komponentų.
Visi šioje instrukcijoje naudojami komponentai, išskyrus SIM800 modulį, buvo gauti iš mano vietinio tiekėjo. Mąsto jiems, kad jie visada turi atsargų. Prašome pažvelgti į jų Pietų Afrikos tinklalapį:
www.shop.rabtron.co.za/catalog/index.php
PASTABA! Pirmiausia lituokite du trumpiklius, esančius po ATMEGA328p IC
Tvarka tokia:
- Rezistoriai ir diodai
- Perkrovimo mygtukas
- IC lizdai
- Įtampos reguliatorius
- Antraštės kaiščiai
- Maži kondensatoriai
- Šviesos diodai
- Saugiklių laikiklis
- Gnybtų blokai
- Relės
- Elektrolitiniai kondensatoriai
Prieš įkišdami IC, prijunkite įrenginį prie 12 V įtampos ir patikrinkite, ar visos įtampos yra teisingos.
Galiausiai, naudodami skaidrų laką, uždenkite vario PC plokštės pusę, kad apsaugotumėte ją nuo elementų.
Kai lakas išdžiūvo, įdėkite IC, bet palikite GSM modulį, kol „AtMega“bus užprogramuotas.
13 veiksmas: „AtMega328p“programavimas
# # Programinės įrangos atnaujinimas į 3.02 versiją # #
Įjungta SMS, kuri turi būti išsiųsta MASTER USER, kai įrenginys bus atkurtas
Įrenginio programavimui naudoju „Arduino Uno“su programavimo skydu. Daugiau informacijos apie tai, kaip naudoti „Arduino Uno“kaip programuotoją, rasite šioje instrukcijoje:
„Arduino UNO“kaip „AtMega328P“programuotojas
Norint pasiekti programavimo antraštę, GSM modulį reikia pašalinti iš kompiuterio plokštės. Stenkitės nepažeisti antenos laido išimdami GSM modulį.
Prijunkite programavimo kabelį tarp programuotojo ir įrenginio naudodami programavimo antraštę kompiuterio plokštėje. Ir įkelkite eskizą į įrenginį.
Įrenginio programavimui nereikia išorinio 12 V maitinimo šaltinio. PC plokštė bus maitinama iš „Arduino“per programavimo kabelį.
Atidarykite pridėtą failą „Arduino IDE“ir užprogramuokite jį įrenginyje.
Po programavimo nuimkite programavimo kabelį ir įdėkite GSM modulį.
Įrenginys dabar paruoštas naudoti.
14 žingsnis: Įrenginio prijungimas
Visos jungtys prie įrenginio atliekamos per varžtus.
Įrenginio maitinimas
Įsitikinkite, kad į GSM modulį įdėjote registruotą SIM kortelę ir ar SIM kortelė gali siųsti ir gauti SMS žinutes.
Prijunkite 12V nuolatinės srovės maitinimo šaltinį prie 12V IN ir bet kurio 0V gnybtų. Įjungus maitinimą, užsidegs raudonas šviesos diodas kompiuterio plokštėje. Maždaug po minutės GSM modulis turėtų būti prijungtas prie mobiliojo telefono tinklo. Raudonas šviesos diodas išsijungs, o raudonas šviesos diodas ant GSM modulio greitai mirksės.
Kai šis etapas bus pasiektas, įrenginys bus paruoštas konfigūruoti.
Įvesties jungtys
Skaitmeniniai įėjimai veikia 12V. Norėdami įjungti įvestį, įvestį reikia įjungti 12V. Pašalinus 12V, įėjimas išjungiamas.
Išvesties jungtys
Kiekvieną išėjimą sudaro perjungimo kontaktas. Prijunkite kiekvieną kontaktą pagal poreikį.
15 veiksmas: pradinė sąranka
Pradinė įrenginio sąranka turi būti atlikta siekiant užtikrinti, kad visi parametrai būtų nustatyti į gamyklinius nustatymus, o SIM kortelė sukonfigūruota priimti teisingą vartotojo informaciją.
Kadangi visos komandos yra sukurtos SMS žinutėmis, jums reikės kito telefono, kad galėtumėte atlikti sąranką.
Norėdami atlikti pradinę sąranką, turite būti įrenginyje.
Nustatykite MASTER USER telefono numerį
Kadangi tik MASTER USER gali sukonfigūruoti įrenginį, pirmiausia reikia atlikti šį veiksmą.
- Įrenginys turi būti maitinamas.
- Paspauskite ir atleiskite Reset mygtuką ir palaukite, kol raudonas šviesos diodas ant PC Board užges.
- Greitai mirksi GSM modulio NET šviesos diodas.
- Įrenginys dabar yra pasirengęs priimti pradines sąrankos komandas. Tai turi būti padaryta per 10 minučių.
- Siųskite SMS žinutę su MASTER, aprašymu į įrenginio telefono numerį.
- Jei gaunamas, žalias šviesos diodas kompiuterio plokštėje mirksi du kartus.
- MASTER USER dabar užprogramuotas.
Atkurkite įrenginio gamyklinius nustatymus
Užprogramavus MASTER USER, įrenginio nustatymai turi būti nustatyti į gamyklinius nustatymus.
- Siųskite SMS žinutę tik CLEARALL į įrenginio telefono numerį.
- Jei gaunamas, žalias ir raudonas šviesos diodas kompiuterio plokštėje mirksi pakaitomis kartą per sekundę. Įrenginys buvo atkurtas naudojant gamyklinius nustatymus.
- Visi nustatymai buvo atkurti į gamyklinius nustatymus.
- Norėdami iš naujo paleisti įrenginį, paspauskite ir atleiskite Reset mygtuką.
SIM kortelės formatavimas
Paskutinis žingsnis yra ištrinti visą SIM kortelėje saugomą informaciją ir sukonfigūruoti ją naudoti šiame prietaise.
- Paspauskite ir atleiskite Reset mygtuką ir palaukite, kol raudonas šviesos diodas ant PC Board užges.
- Greitai mirksi GSM modulio NET šviesos diodas.
- Įrenginys dabar yra pasirengęs priimti pradines sąrankos komandas. Tai turi būti padaryta per 10 minučių.
- Siųskite SMS žinutę su tik ERASESIM į įrenginio telefono numerį.
- Jei gaunamas, žalias šviesos diodas kompiuterio plokštėje mirksi medžio metu.
Įrenginys sukonfigūruotas ir paruoštas naudoti.
16 veiksmas: SMS komandos
Vienetas naudoja tris skirtingų tipų komandas. Visos komandos siunčiamos SMS žinutėmis ir visos yra tokio formato:
COMMAND,,,,,
- Visos komandos, išskyrus komandas NORMAL USER, skiria didžiąsias ir mažąsias raides.
- Parametrai neskiria didžiųjų ir mažųjų raidžių.
Pradinės sąrankos komandos
Meistras, vardas
SMS siuntėjo telefono numeris naudojamas kaip MASTER USER telefono numeris. čia galite pridėti įrenginio aprašymą.
IŠVALYTI VISKĄ
Iš naujo nustatykite įrenginio gamyklinius nustatymus
CLEARSIM
Ištrinkite visus duomenis iš SIM kortelės
IŠ naujo nustatyti
Perkraukite įrenginį
MASTER USER Įrenginio konfigūravimo komandos
OUTMODE, c, m, t PASTABA! ! ! DAR NĖRA ĮGYVENDINTA
Nustatykite tam tikrus kanalus, kad būtų išvestis PULSED, TIMED arba LATCHING. t yra TIMED išvesties laikas minutėmis
PULSAS, cccc
Nustatykite konkrečius kanalus į PULSED išėjimus. Jei nenustatyta, kanalai bus nustatyti kaip LATCHING išėjimai.
PULSETIME, t Nustato impulsinio išėjimo trukmę sekundėmis (0.. 10 s)
INPUTON, cccc
Nustatykite kanalus, kurie turi būti suaktyvinti, ir išsiųskite SMS žinutę, kai būsena pasikeičia iš OFF į ON
INPUTOFF, cccc
Nustatykite kanalus, kurie turi suveikti, ir išsiųskite SMS žinutę, kai būsena pasikeičia iš ĮJUNGTA į IŠJUNGTA
INTIME, c, t
Nustato įvesties atidėjimo laiką būsenos pokyčiams aptikti sekundėmis
INTEXT, ch, vardas, įjungta, išjungta
Nustatykite kiekvieno įvesties kanalo pavadinimą, tekstą ir išjungtą tekstą
OUTTEXT, ch, vardas, įjungta, išjungta
Nustatykite kiekvieno išvesties kanalo pavadinimą tekste ir išjungtame tekste
Pridėti, vieta, skaičius, figūrinės išvestys, SMS išėjimai, įvestys
Pridėkite vartotoją prie SIM kortelės atminties „vietoje“, vartotojui priskirtus išvesties ir įvesties kanalus
Del, vieta
Ištrinti vartotoją iš SIM kortelės atminties „vietos“
Kanalo pavadinimas
Bus impulsas išvesties pavadinimu „ChannelName“
„ChannelName“, „onText“arba „ChannelName“, „offText“
Įjungs/išjungs išvestį pavadinimu „ChannelName“ir „onText/offText“
Įprastos įrenginio valdymo komandos
???? Prašyti atnaujinti įvesties/išvesties būseną. Būsenos SMS bus išsiųstas iniciatoriui.
Kanalo pavadinimas
Bus impulsas išvesties pavadinimu „ChannelName“
ChannelName, onText
Įjungs išvestį su „ChannelName“pavadinimu ir būsenos tekstu „OnText“
Kanalo pavadinimas, išjungtas
Išsamesnį komandų aprašymą rasite pridėtame PDF dokumente.
Rekomenduojamas:
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu -- NRF24L01+ pamoka: 5 žingsniai (su paveikslėliais)
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu || NRF24L01+ Pamoka: Šiame projekte parodysiu, kaip aš naudoju populiarųjį nRF24L01+ RF IC, norėdamas belaidžiu būdu sureguliuoti LED juostos ryškumą per tris nenaudingus televizoriaus nuotolinio valdymo pulto mygtukus. Pradėkime
„IRduino“: „Arduino“nuotolinio valdymo pultas - imituokite pamestą nuotolinio valdymo pultą: 6 žingsniai
„IRduino“: „Arduino“nuotolinio valdymo pultas - imituokite pamestą nuotolinio valdymo pultą: jei kada nors pametėte televizoriaus ar DVD grotuvo nuotolinio valdymo pultą, žinote, kaip apmaudu, kai tenka vaikščioti, ieškoti ir naudoti paties įrenginio mygtukus. Kartais šie mygtukai net nesuteikia tokių funkcijų kaip nuotolinio valdymo pultas. Gauti
Įprastas nuotolinio valdymo rinkinys transformuotas į keturių kanalų RC žaislinį nuotolinio valdymo pultą: 4 žingsniai
Įprastas nuotolinio valdymo rinkinys transformuotas į keturių kanalų RC žaislinį nuotolinio valdymo pultą: 62 将 通用 遥控 转换 转换 为 为 玩具 模型 中 使用 的 四方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照 视频 教程 完成 这个 电子 项目 并 并 为 视频 教程 完成 这个 电子 项目 并 并 为
Konvertuokite savo IR nuotolinio valdymo pultą į RF nuotolinio valdymo pultą: 9 žingsniai (su paveikslėliais)
Konvertuokite savo IR nuotolinio valdymo pultą į RF nuotolinio valdymo pultą: Šiandienos instrukcijoje aš jums parodysiu, kaip galite naudoti bendrą RF modulį be mikrovaldiklio, kuris galiausiai paskatins mus sukurti projektą, kuriame bet kurio įrenginio IR nuotolinio valdymo pultą galima paversti RF Nuotolinis. Pagrindinis privalumas konvertuojant
Nuotolinio valdymo maitinimo blokas: 8 žingsniai (su nuotraukomis)
Nuotolinio valdymo pultas: kada nors norėjote iš karto išjungti bet kokią šviesą ar prietaisą? Nusibodo nusilenkti, kad bendrabučio kambaryje atjungtumėte vėsias šventines lemputes? Aš taip pat! Ši instrukcija parodys, kaip padaryti nuotolinio valdymo maitinimo bloką, kad galėtumėte valdyti bet kurį lizdą