Mündəricat:
- Addım 1: Enerji təchizatı
- Addım 2: Rəqəmsal Girişlər
- Addım 3: Rəqəmsal Çıxışlar
- Addım 4: Mikro nəzarətçi osilatoru
- Addım 5: Göstərici LEDlər
- Addım 6: Mikro Prosessor Sıfırlama Dövrü
- Addım 7: SIM800L Modulu
- Addım 8: Mikro nəzarətçi
- Addım 9: SRAM Yaddaşının optimallaşdırılması
- Addım 10: Proqram Serial Tampon Ölçüsü
- Addım 11: PC lövhəsinin hazırlanması
- Addım 12: PC lövhəsinin yığılması
- Addım 13: AtMega328p proqramlaşdırılması
- Addım 14: Cihazı birləşdirin
- Addım 15: İlkin Quraşdırma
- Addım 16: SMS əmrləri
Video: Arduino əsaslı GSM/SMS Uzaqdan İdarəetmə Bölməsi: 16 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
! ! ! XƏBƏRDARLIQ !
Bölgəmdə yerli mobil telefon qülləsinin təkmilləşdirilməsi səbəbindən artıq bu GSM modulundan istifadə edə bilmirəm. Yeni qüllə artıq 2G cihazlarını dəstəkləmir. Ona görə də artıq bu layihəyə heç bir dəstək verə bilmərəm.
Həvəskarlar üçün mövcud olan bu qədər geniş GSM modulları ilə çoxumuz bir satın almağı bitirdik. Yerli olaraq bir SIM800L modulu aldım və modulun fərqli əmrləri ilə oynadım.
Arduino Uno və Arduino IDE -dən istifadə edərək fikirlərimi reallığa çevirə bildim. Bu, yalnız 2KB SRAM -ın məhdudiyyəti olan TEK BÜYÜK SÖNDÜR ilə asan olmadı. İnternetdə və müxtəlif forumlarda çox araşdırmalar apardıqdan sonra bu məhdudiyyəti aşa bildim.
Fərqli proqramlaşdırma üsulları, Arduino kompilyatorunu daha yaxşı başa düşmək və əlavə yaddaş üçün SİM kart və EEPROM istifadə etmək bu layihəni xilas etdi. Kodda bəzi dəyişikliklərdən sonra bir həftə ərzində sabit bir prototip quruldu və sınaqdan keçirildi.
Məhdud SRAM -ın dezavantajı, cihazın ekran və istifadəçi düymələri ilə təchiz olunmaması idi. Bu, kodun tamamilə yenidən yazılması ilə nəticələndi. İstifadəçi interfeysi olmadıqda, layihəni davam etdirmək üçün yeganə seçim, vahidin və istifadəçilərin konfiqurasiyası üçün SMS mesajlarından istifadə etmək idi.
Bu həyəcan verici bir layihə olduğu ortaya çıxdı və inkişaf davam etdikcə daha çox gələcək əlavə edildi.
Əsas məqsədim Arduino Uno və ya bu vəziyyətdə ATMEGA328p ilə qalmaq və heç bir səthə montaj komponentlərindən istifadə etməmək idi. Bu, geniş ictimaiyyətin vahidi kopyalamasını və qurmasını asanlaşdıracaq.
Vahidin spesifikasiyası:
- Cihazda maksimum 250 istifadəçi proqramlaşdırıla bilər
- Dörd rəqəmsal çıxış
- Dörd rəqəmsal giriş
- Hər bir çıxış PULSE və ya ON/OFF çıxışı kimi konfiqurasiya edilə bilər
- Çıxış pulse müddəti 0,5.. 10 saniyə arasında təyin edilə bilər
- Hər bir giriş, AÇIK -AÇıq dəyişiklikləri aktivləşdirmək üçün konfiqurasiya edilə bilər.
- Hər bir giriş ON -OFF dəyişikliklərini işə salmaq üçün konfiqurasiya edilə bilər
- Hər giriş gecikmə müddəti 0 saniyə ilə 1 saat arasında təyin edilə bilər
- Girişlərdəki dəyişikliklər üçün SMS mesajları 5 fərqli istifadəçiyə göndərilə bilər
- Hər giriş üçün adlar və status mətni istifadəçi tərəfindən təyin edilə bilər
- Hər bir çıxış üçün adlar və status mətni istifadəçi tərəfindən təyin edilə bilər
- Bölmə, USSD mesajlaşma vasitəsi ilə SİM kart balansı mesajlarını almaq üçün konfiqurasiya edilə bilər.
- Bütün istifadəçilər vahidin I/O statusu yeniləmələrini tələb edə bilərlər
- Bütün istifadəçilər fərdi mesajları SMS mesajları ilə idarə edə bilərlər
- Bütün istifadəçilər vahidi çağıraraq fərdi çıxışları idarə edə bilərlər
Təhlükəsizlik xüsusiyyətləri
- Cihazın ilk quraşdırılması yalnız cihazda olarkən edilə bilər.
- İlk quraşdırma yalnız MASTER USER tərəfindən həyata keçirilə bilər
- İlk quraşdırma əmrləri on dəqiqədən sonra avtomatik olaraq söndürülür.
- Yalnız tanınmış istifadəçilərdən gələn zənglər və SMS vahidi idarə edə bilər
- İstifadəçilər yalnız MASTER İSTİFADƏÇİSİ tərəfindən təyin edilmiş çıxışları idarə edə bilərlər
Digər Xüsusiyyətlər
- Bu bölməyə zənglər pulsuzdur, çünki zəngə heç vaxt cavab verilmir.
- Cihaz çağırıldıqda, zəng yalnız 2 saniyədən sonra azalacaq. Bu, zəng edənə bölmənin zəngə cavab verdiyini təsdiqləyir.
- SİM kart xidmət təminatçısı USSD mesajlarını dəstəkləyirsə, balans sorğuları MASTER USER tərəfindən edilə bilər. Balansı ehtiva edən USSD mesajı daha sonra MASTER USER -ə göndəriləcək.
Addım 1: Enerji təchizatı
Cihazın standart təhlükəsizlik sistemlərinə (siqnalizasiya sistemləri, elektrikli qaraj qapıları, elektrik qapısı mühərrikləri) qoşulmasını təmin etmək üçün cihaz bu sistemlərdə adətən mövcud olan 12V DC -dən işləyəcək.
Güc 12V IN və 0V terminallarında tətbiq olunur və 1A qoruyucu ilə qorunur. Əlavə 12V OUT terminalları mövcuddur və eyni zamanda qoruyucu ilə qorunur.
Diod D1, qurğunu 12V xətlərindəki əks polarite əlaqələrindən qoruyur.
Kondansatörler C1 və C2, 12V təchizatı xətlərində mövcud olan səsləri süzür. Cihazın rölelərini gücləndirmək üçün 12V təchizatı istifadə olunur.
5V təchizatı LM7805L gərginlik tənzimləyicisindən ibarətdir və SIM800L GSM modulu və mikro prosessor üçün lazım olan sabit +5V çıxışıdır. C3 və C4 kondansatörləri +5V təchizat xəttində ola biləcək hər hansı bir səs -küyü süzür. Nisbətən böyük ölçülü elektrolitik kondansatörlər istifadə edildi, çünki SIM800L GSM modulu ötürərkən kifayət qədər güc sərf edir.
Gərginlik tənzimləyicisində heç bir soyuducu tələb olunmur.
Addım 2: Rəqəmsal Girişlər
Rəqəmsal giriş siqnallarının hamısı 12V -dir və 5V mikro nəzarətçi ilə əlaqələndirilməlidir. Bunun üçün 12V siqnallarını 5V sistemindən təcrid etmək üçün opto bağlayıcılardan istifadə olunur.
1K giriş rezistoru, opto bağlayıcıya giriş cərəyanını təxminən 10mA ilə məhdudlaşdırır.
Məkan məhdudiyyətləri səbəbindən, PC lövhəsində 5V çəkmə rezistorları üçün yer yox idi. Mikro nəzarətçi giriş pinlərinin zəif çəkilməsini təmin etmək üçün qurulmuşdur.
Opto bağlayıcının girişində (LOW) heç bir siqnal olmadıqda, opto bağlayıcı LEDindən heç bir cərəyan keçməyəcək. Beləliklə, opto bağlayıcı tranzistoru söndürülür. Mikro nəzarətçinin zəif çəkilməsi kollektoru demək olar ki, 5V-a qaldıracaq və mikro nəzarətçi tərəfindən YÜKSƏK məntiq olaraq görüləcək.
Opto bağlayıcının girişinə 12V (YÜKSƏK) tətbiq edildikdə, opto bağlayıcı LEDindən təxminən 10mA axacaq. Beləliklə, opto bağlayıcı tranzistoru işə salınacaq. Bu, kollektoru demək olar ki, 0V -a endirəcək və mikro nəzarətçi tərəfindən LOW bir məntiq olaraq görüləcək.
Qeyd edək ki, mikro nəzarətçinin gördüyü giriş 12V girişlə müqayisədə tərsinə çevrilir.
Giriş pinini oxumaq üçün normal kod aşağıdakı kimi görünür:
boolean Giriş = digitalRead (inputpin);
Tərs siqnalı düzəltmək üçün aşağıdakı kodu istifadə edin:
boolean Giriş =! digitalRead (inputpin); // DİQQƏT! oxu qarşısında
İndi mikro nəzarətçinin gördüyü giriş 12V girişindəki girişə uyğun olacaq.
Son giriş dövrəsi 4 rəqəmsal girişdən ibarətdir. Hər giriş PC lövhəsindəki terminallara bağlıdır.
Addım 3: Rəqəmsal Çıxışlar
Normalda, yalnız minimum sayda röleyi idarə edən bir dövrə ilə, ən yaxşı yol göstərildiyi kimi bir tranzistor sürücü dövrəsindən istifadə etməkdir. Sadə, ucuz və effektivdir.
Rezistorlar yerə çəkilmə və tranzistor bazası cərəyanının məhdudlaşdırılmasını təmin edir. Transistor, bir röleyi idarə etmək üçün mövcud cərəyanı artırmaq üçün istifadə olunur. Mikro nəzarətçi pinindən yalnız 1mA çəkilərkən, tranzistor 100mA yükü dəyişə bilər. Əksər röle növləri üçün kifayət qədər çoxdur. Diod, röleyi dəyişdirərkən dövrəni yüksək gərginlikli sıçrayışlardan qoruyan uçucu bir dioddur. Bu dövrənin istifadəsinin əlavə üstünlüyü, rölin işləmə gərginliyinin mikro nəzarətçinin gərginliyindən fərqli ola bilməsidir. Beləliklə, 5V rölesi əvəzinə 48V -ə qədər istənilən DC gərginliyindən istifadə etmək olar.
ULN2803 ilə tanış olun
Bir layihə nə qədər çox röle tələb edərsə, komponentlərin sayı da o qədər yüksək olar. Bu, PCB dizaynını daha da çətinləşdirəcək və qiymətli PCB sahəsini istifadə edə bilər. ULN2803 kimi bir tranzistor dizisinin istifadəsi, PCB ölçüsünün kiçik olmasına kömək edəcək. ULN2803, mikro nəzarətçidən 3.3V və 5V girişləri üçün idealdır və 48V DC -ə qədər röleyi idarə edə bilir. Bu ULN2803, hər bir dövrə bir röleyi dəyişdirmək üçün lazım olan bütün komponentlərlə təchiz edilmiş 8 fərdi tranzistor dövrə malikdir.
Son çıxış dövrəsi 4 12V DC çıxış rölesini idarə edən ULN3803 -dən ibarətdir. Rölin hər bir kontağı PC Board terminallarında mövcuddur.
Addım 4: Mikro nəzarətçi osilatoru
Osilatör Dövrü
Mikro nəzarətçinin düzgün işləməsi üçün bir osilatora ehtiyacı var. Arduino Uno dizaynına davam etmək üçün dövrə standart 16MHz osilatordan istifadə edəcək. İki seçim mövcuddur:
Kristal
Bu üsul iki yükləmə kondansatörünə bağlı bir kristal istifadə edir. Bu ən çox yayılmış seçimdir.
Rezonator
Bir rezonator, əsasən, bir 3-pinli paketdə bir kristal və iki yükləmə kondansatörüdür. Bu, komponentlərin sayını azaldır və kompüter lövhəsindəki boşluğu artırır.
Komponent sayını mümkün qədər aşağı tutmaq üçün 16MHz rezonatordan istifadə etməyi seçdim.
Addım 5: Göstərici LEDlər
Bəzi LEDlər olmadan hər hansı bir dövrə nə olacaq? Kompüter lövhəsində 3 mm LED -lər üçün təminat verildi.
1K rezistorlar, LED üzərindəki cərəyanı 5mA-dan az məhdudlaşdırmaq üçün istifadə olunur, 3 mm yüksək parlaqlıqlı LED-lər istifadə edərkən parlaqlıq əladır.
Vəziyyət LED -lərini asan şərh etmək üçün iki rəng istifadə olunur. İki LED -i yanıb sönən göstəricilərlə birləşdirərək, yalnız iki LED -dən kifayət qədər çox məlumat əldə etmək olar.
Qırmızı LED
Qırmızı LED, arızanın şərtlərini, uzun gecikmələri və səhv əmrləri göstərmək üçün istifadə olunur.
Yaşıl LED
Yaşıl LED sağlam və/və ya düzgün giriş və əmrləri göstərmək üçün istifadə olunur.
Addım 6: Mikro Prosessor Sıfırlama Dövrü
Təhlükəsizlik baxımından, cihazın bəzi funksiyaları yalnız cihazı işə saldıqdan sonra ilk 10 dəqiqədə mövcuddur.
Bir sıfırlama düyməsi ilə cihazı yenidən qurmaq üçün cihazın gücünü söndürmək lazım deyil.
Bu necə işləyir
10K rezistor, RESET xəttini 5V -ə yaxın saxlayacaq. Düymə basıldıqda, RESET xətti 0V -ə çəkiləcək və beləliklə mikro nəzarətçi sıfırlanacaq. Düymə buraxıldıqda, RESET xətti mikro nəzarətçini sıfırlayaraq %v -ə qayıdır.
Addım 7: SIM800L Modulu
Cihazın ürəyi SIM800L GSM moduludur. Bu modul mikro nəzarətçi üzərində yalnız 3 I/O pinindən istifadə edir.
Modul standart nəzarət portu vasitəsilə mikro nəzarətçiyə qoşulur.
- Vahidin bütün əmrləri standart AT əmrlərindən istifadə edərək serial port vasitəsilə göndərilir.
- Gələn zənglə və ya bir SMS alındıqda, məlumat ASCII mətnindən istifadə edərək serial port vasitəsilə mikro nəzarətçiyə göndərilir.
Yerə qənaət etmək üçün GSM modulu, 7 pinli başlıq vasitəsilə PC Kartına qoşulur. Bu, GSM modulunun çıxarılmasını asanlaşdırır. Bu da istifadəçinin modulun altındakı SİM kartı asanlıqla daxil etməsinə/çıxarmasına imkan verir.
Aktiv bir SİM kart tələb olunur və SİM kart SMS mesajları göndərə və qəbul edə bilməlidir.
SIM800L GSM modulunun qurulması
Cihazı işə saldıqda GSM modulu sıfırlama pimi bir saniyə aşağı çəkilir. Bu, GSM modulunun yalnız enerji təchizatı sabitləşdikdən sonra işə salınmasını təmin edir. GSM modulunun yenidən başlaması bir neçə saniyə çəkir, buna görə hər hansı bir AT əmrini modula göndərməzdən əvvəl 5 saniyə gözləyin.
GSM modulunun mikro nəzarətçi ilə düzgün ünsiyyət qurmaq üçün konfiqurasiya edilməsini təmin etmək üçün işə salınarkən aşağıdakı AT əmrləri istifadə olunur:
AT
GSM modulunun olub olmadığını müəyyən etmək üçün istifadə olunur
AT+CREG?
GSM modulu mobil telefon şəbəkəsində qeydiyyata alınana qədər bu əmri yoxlayın
AT+CMGF = 1
SMS mesaj rejimini ASCII olaraq təyin edin
AT+CNMI = 1, 2, 0, 0, 0
SMS mövcuddursa, SMS məlumatlarını GSM modulunun seriya limanına göndərin
AT+CMGD = 1, 4
SİM kartda saxlanılan SMS mesajlarını silin
AT+CPBS = / "SM
GSM modulunun telefon kitabçasını SİM karta qoyun
AT+COPS = 2, sonra AT+CLTS = 1, sonra AT+COPS = 0
GSM modulu vaxtını cib telefonu şəbəkə vaxtına təyin edin
Vaxtın təyin edilməsi üçün 5 saniyə gözləyin
AT+CUSD = 1
USSD mesajlaşma funksiyasını aktiv edin
Addım 8: Mikro nəzarətçi
Mikro nəzarətçi Arduino Uno ilə eyni standart AtMega328p -dir. Beləliklə kod hər ikisi ilə müqayisə olunur. Göyərtədə asan proqramlaşdırma təmin etmək üçün PC lövhəsində 6 pinli proqramlaşdırma başlığı mövcuddur.
Cihazın müxtəlif bölmələri mikro prosessora bağlıdır və bunlara daxildir:
- Dörd rəqəmsal giriş
- Dörd rəqəmsal çıxış
- Osilator
- İki göstərici LED
- Dövrü sıfırlayın
- SIM800L GSM modulu
GSM moduluna gedən və gələn bütün əlaqələr SoftwareSerial () funksiyasından istifadə etməklə həyata keçirilir. Bu üsul, inkişaf mərhələsində Arduino IDE üçün əsas seriyalı portu boşaltmaq üçün istifadə edilmişdir.
Yalnız 2KB SRAM və 1KB EEPROM ilə vahidlə əlaqələndirilə bilən bir neçə istifadəçini saxlamaq üçün kifayət qədər yaddaş yoxdur. SRAM -ı boşaltmaq üçün bütün istifadəçi məlumatları GSM modulunda SİM kartda saxlanılır. Bu tənzimləmə ilə cihaz 250 fərqli istifadəçiyə xidmət göstərə bilər.
Cihazın konfiqurasiya məlumatları EEPROM -da saxlanılır, beləliklə istifadəçi məlumatları və sistem məlumatları bir -birindən ayrılır.
Hələ də bir neçə ehtiyat G/Ç pinləri mövcuddur, lakin SoftWareSerial () tamponları qəbul etmək və ötürmək üçün SRAM -ın çox olması səbəbindən LCD ekran və/və ya klaviatura əlavə etmək imkanı mümkün olmadı, Cihazda hər hansı bir istifadəçi interfeysi olmadığı üçün bütün parametrlər və istifadəçilər SMS mesajları istifadə edərək proqramlaşdırılmışdır.
Addım 9: SRAM Yaddaşının optimallaşdırılması
İnkişaf mərhələsində, Arduino IDE, kodu tərtib edərkən aşağı SRAM yaddaşını bildirdi. Bunun öhdəsindən gəlmək üçün bir neçə metoddan istifadə edildi.
Serial portda alınan məlumatları məhdudlaşdırın
GSM modulu bütün mesajları mikro nəzarətçiyə serial porta bildirəcək. Bəzi SMS mesajları alarkən alınan mesajın ümumi uzunluğu 200 simvoldan çox ola bilər. Bu, AtMega çipində mövcud olan bütün SRAM -ı tez bir zamanda istehlak edə bilər və sabitlik problemlərinə səbəb olacaq.
Bunun qarşısını almaq üçün GSM modulundan alınan hər hansı bir mesajın yalnız ilk 200 simvolu istifadə ediləcək. Aşağıdakı nümunə, Counter dəyişənində alınan simvolları sayaraq bunun necə edildiyini göstərir.
// proqram serial portundan məlumat axtarın
// ----------------------------------------------- RxString = ""; Sayaç = 0; while (SSerial.available ()) {gecikmə (1); // yeni məlumatların buferə yerləşdirilməsi üçün vaxt vermək üçün qısa gecikmə // yeni xarakter əldə etmək RxChar = char (SSerial.read ()); // sətrə ilk 200 simvolu əlavə edin, əgər (Counter <200) {RxString.concat (RxChar); Sayaç = Sayaç + 1; }}
Serial.print () kodunun azaldılması
İnkişaf zamanı lazımlı olsa da, Arduino Serial Monitor bir çox SRAM istifadə edə bilər. Kod, Serial.print () kodundan mümkün qədər az istifadə edilərək hazırlanmışdır. Kodun bir hissəsi işləmək üçün sınaqdan keçirildi, bütün Serial.print () kodu kodun həmin hissəsindən silindi.
Serial.print (F (("")) kodundan istifadə etməklə
Təsvirlər əlavə edildikdə normal olaraq Arduino Serial Monitor -da göstərilən bir çox məlumat daha mənalı olur. Aşağıdakı nümunəni götürün:
Serial.println ("Xüsusi hərəkətlər gözləyir");
"Xüsusi hərəkətlər gözləyir" sətri sabitdir və dəyişdirilə bilməz.
Kodun tərtib edilməsi zamanı tərtibçi FLASH yaddaşına "Xüsusi hərəkətləri gözləmək" sətrini daxil edəcək.
Bundan əlavə, tərtibçi "Serial.print" və ya "Serial.println" təlimatı tərəfindən istifadə olunan sətrin sabit olduğunu görür. Mikro açılış zamanı bu sabit SRAM yaddaşına da yerləşdirilir.
Serial.print () funksiyalarında "F" prefiksindən istifadə edərək, tərtibçiyə bu sətrin yalnız FLASH yaddaşında olduğunu bildirir. Bu nümunə üçün sətir 28 simvoldan ibarətdir. Bu, SRAM -da sərbəst buraxıla bilən 28 baytdır.
Serial.println (F ("Xüsusi hərəkətlər gözləyir"));
Bu üsul SoftwareSerial.print () əmrlərinə də aiddir. GSM modulu AT əmrləri üzərində işlədiyi üçün kod çoxsaylı SoftwareSerial.print ("xxxx") əmrlərindən ibarətdir. "F" prefiksindən istifadə etməklə təxminən 300 bayt SRAM azad edildi.
Avadanlıq serial portundan istifadə etməyin
Kod ayıklamadan sonra, ALL Serial.print () əmrləri silinərək aparatın serial portu deaktiv edildi. Bu, SRAM -ın bir neçə əlavə baytını azad etdi.
Kodda heç bir Serial.print () əmri qalmadıqda əlavə 128 baytlıq SRAM mövcuddur. Bu, hardware serial portunu koddan çıxarmaqla edildi. Bu, 64 baytlıq ötürmə və 64 baytlıq qəbul tamponlarını gücləndirir.
// Serial.begin (9600); // hardware serial port deaktiv edildi
Stringlər üçün EEPROM istifadə olunur
Hər giriş və çıxış üçün üç simli saxlamaq lazım idi. Kanal adı, kanal açıldıqda simli və kanal söndürüldükdə simdir.
Cəmi 8 I/O kanalı ilə olacaq
- Kanal adlarını ehtiva edən 8 simli, hər biri 10 simvoldan ibarətdir
- Təsvirdə hər biri 10 simvoldan ibarət olan 8 simli
- Hər biri 10 simvoldan ibarət olan Off off kanalını ehtiva edən 8 sətir
Bu, 240 bayta qədər SRAM reklam edir. Bu sətirləri SRAM -da saxlamaq əvəzinə, EEPROM -da saxlanılır. Bu əlavə 240 bayt SRAM azad etdi.
Doğru uzunluqlarda simli elan
Dəyişənlər ümumiyyətlə kodun əvvəlində elan olunur. Bir simli dəyişən elan edərkən ümumi bir səhv, simvolların düzgün sayını elan etməməyimizdir.
GSM_Nr sətri = "";
GSM_Name String = ""; String GSM_Msg = "";
Başlanğıc zamanı mikro nəzarətçi bu dəyişənlər üçün SRAM -da yaddaş ayırmayacaq. Bu strings istifadə edildikdə daha sonra qeyri -sabitliyə səbəb ola bilər.
Bunun qarşısını almaq üçün, simli proqramda istifadə edəcək simvolların doğru sayı olan sətirləri elan edin.
String GSM_Nr = "1000000000";
GSM_Name String = "2000000000"; String GSM_Msg = "3000000000";
Eyni simvollarla sətirləri necə elan etmədiyimə diqqət yetirin. Bu sətirlərin hamısını "1234567890" deyərək elan etsəniz, tərtibçi eyni dəyişəni üç dəyişəndə görəcək və SRAM -da sətirlərdən biri üçün kifayət qədər yaddaş ayıracaq.
Addım 10: Proqram Serial Tampon Ölçüsü
Aşağıdakı kodda, proqram seriyası portundan 200 -ə qədər simvolun oxuna biləcəyini görəcəksiniz.
// proqram serial portundan məlumat axtarın
// ----------------------------------------------- RxString = ""; Sayaç = 0; while (SSerial.available ()) {gecikmə (1); // yeni məlumatların buferə yerləşdirilməsi üçün vaxt vermək üçün qısa gecikmə // yeni simvol əldə edin RxChar = char (SSerial.read ()); // ilk 200 simvolu əlavə edin, əgər (Counter <200) {RxString.concat (RxChar); Sayaç = Sayaç + 1; }}
Bunun üçün proqram seriyası portu üçün ən az 200 baytlıq bir tampon tələb olunur. Varsayılan olaraq, proqram serial port tamponu yalnız 64 baytdır. Bu tamponu artırmaq üçün aşağıdakı faylı axtarın:
SoftwareSerial.h
Faylı mətn redaktoru ilə açın və bufer ölçüsünü 200 -ə dəyişin.
/******************************************************************************
*Təriflər ********************************************** ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX tampon ölçüsü #endif
Addım 11: PC lövhəsinin hazırlanması
Kompüter lövhəsi Cadsoft Eagle -in pulsuz versiyasından istifadə edərək hazırlanmışdır (inanıram ki, ad dəyişdi).
- PC Board tək tərəfli bir dizayndır.
- Səth montaj komponentləri istifadə edilmir.
- Bütün komponentlər SIM800L modulu daxil olmaqla PC lövhəsinə quraşdırılmışdır.
- Xarici komponentlərə və ya əlaqələrə ehtiyac yoxdur
- Tel atlayıcılar daha təmiz bir görünüş üçün komponentlərin altında gizlənir.
PC lövhələri hazırlamaq üçün aşağıdakı üsuldan istifadə edirəm:
- PC Board görüntüsü, lazer printerdən istifadə edərək Press-n-Peel üzərində çap olunur.
- Press-n-Peel daha sonra təmiz bir PC lövhəsinin üstünə qoyulur və bir az lentlə bərkidilir.
- PC Board görüntüsü daha sonra lövhəni laminatordan keçirərək Press-n-Peel-dən boş PC Board-a köçürülür. Mənim üçün 10 keçid ən yaxşı işləyir.
- PC lövhəsi otaq istiliyinə qədər soyuduqdan sonra Press-n-Peel lövhədən yavaşca qaldırılır.
- Kompüter lövhəsi daha sonra isti suda həll edilmiş Ammonium Persulphate kristallarından istifadə edərək həkk olunur.
- Aşındırıldıqdan sonra, mavi Press-n-Peel və qara toner, aşındırılmış PC lövhəsini bir az asetonla təmizləyərək çıxarılır.
- Lövhə daha sonra Dremel ilə ölçüdə kəsilir
- Delikdən keçən bütün komponentlər üçün deliklər 1 mm qazma ucu ilə qazılır.
- Terminal vida bağlayıcıları 1,2 mm -lik bir qazma ucu ilə qazılır.
Addım 12: PC lövhəsinin yığılması
Montaj əvvəlcə ən kiçik komponentləri əlavə etməklə və ən böyük komponentlərə qədər işləməklə aparılır.
Bu Təlimatda istifadə olunan bütün komponentlər, SIM800 modulu istisna olmaqla, yerli təchizatçımdan alınmışdır. Həmişə ehtiyata sahib olduqlarını düşünür. Zəhmət olmasa Cənubi Afrika veb saytına baxın:
www.shop.rabtron.co.za/catalog/index.php
QEYD! Əvvəlcə ATMEGA328p IC altında yerləşən iki tullanan lehimləmə
Sifariş aşağıdakı kimidir:
- Rezistorlar və diod
- Sıfırlama düyməsi
- IC Soketləri
- Gərginlik tənzimləyicisi
- Başlıq sancaqları
- Kiçik kondansatörler
- LEDlər
- Sigorta tutacağı
- Terminal blokları
- Relaylər
- Elektrolitik kondansatörler
IC -ni daxil etməzdən əvvəl cihazı 12V -a qoşun və bütün gərginliklərin doğru olduğunu yoxlayın.
Nəhayət, şəffaf bir lak istifadə edərək, elementləri qorumaq üçün PC lövhəsinin mis tərəfini örtün.
Lak qurudulduqda, IC -ləri daxil edin, ancaq AtMega proqramlaşdırılana qədər GSM modulunu tərk edin.
Addım 13: AtMega328p proqramlaşdırılması
# # Firmware 3.02 Versiyasına Yeniləyin # #
Cihaza güc bərpa edildikdə, MASTER USER -ə SMS göndərilməsi aktiv edildi
Cihazı proqramlaşdırmaq üçün proqramlaşdırma qalxanı olan bir Arduino Uno istifadə edirəm. Bir Arduino Uno proqramçı olaraq necə istifadə ediləcəyi haqqında daha çox məlumat üçün bu Təlimata baxın:
AtMega328P Proqramçısı olaraq Arduino UNO
Proqramlaşdırma başlığına daxil olmaq üçün GSM modulunun PC Kartından çıxarılması lazımdır. GSM modulunu çıxararkən anten telinə zərər verməmək üçün diqqətli olun.
Proqramlaşdırma kabelini kompüter lövhəsindəki proqramlaşdırma başlığından istifadə edərək proqramçı ilə qurğu arasında bağlayın və eskizi qurğuya yükləyin.
Cihazı proqramlaşdırmaq üçün xarici 12V təchizatı tələb olunmur. Kompüter lövhəsi proqramlaşdırma kabeli vasitəsilə Arduinodan alınacaq.
Əlavə edilmiş faylı Arduino IDE -də açın və bölməyə proqramlaşdırın.
Proqramlaşdırmadan sonra proqramlaşdırma kabelini çıxarın və GSM modulunu daxil edin.
Cihaz artıq istifadəyə hazırdır.
Addım 14: Cihazı birləşdirin
Cihazla bütün əlaqələr vida terminalları vasitəsilə aparılır.
Vahidin Gücləndirilməsi
GSM moduluna qeydiyyatdan keçmiş bir SİM kart daxil etdiyinizə və SİM kartın SMS mesajları göndərə və qəbul edə biləcəyinə əmin olun.
12V DC və 0V terminallarından hər hansı birinə 12V DC enerji təchizatı bağlayın. Gücləndirildikdən sonra PC lövhəsindəki qırmızı LED yanacaq. Təxminən bir dəqiqə ərzində GSM modulu mobil telefon şəbəkəsinə qoşulmalı idi. Qırmızı LED sönəcək və GSM modulundakı qırmızı LED sürətlə yanıb sönəcək.
Bu mərhələyə çatdıqdan sonra cihaz konfiqurasiya olunmağa hazırdır.
Giriş Əlaqələri
Rəqəmsal girişlər 12V -də işləyir. Bir girişi açmaq üçün girişə 12V tətbiq etmək lazımdır. 12V -nin çıxarılması girişi söndürəcək.
Çıxış Əlaqələri
Hər bir çıxış dəyişən kontaktdan ibarətdir. Lazım gələrsə hər bir əlaqəni bağlayın.
Addım 15: İlkin Quraşdırma
Bütün parametrlərin zavod parametrlərinə və SİM kartın istifadəçi məlumatlarını düzgün formatda qəbul etmək üçün konfiqurasiya edilməsinə əmin olmaq üçün qurğunun ilkin quraşdırılması aparılmalıdır.
Bütün əmrlər SMS -ə əsaslandığından, quraşdırmanı yerinə yetirmək üçün başqa bir telefona ehtiyacınız olacaq.
İlkin quraşdırma üçün cihazda olmalısınız.
MASTER USER telefon nömrəsini təyin edin
Yalnız MASTER İSTİFADƏCİ vahidi konfiqurasiya edə bildiyindən, bu addım əvvəlcə həyata keçirilməlidir.
- Cihaza elektrik enerjisi verilməlidir.
- Sıfırlama düyməsini basıb buraxın və PC lövhəsindəki qırmızı LEDin sönməsini gözləyin.
- GSM modulundakı NET LED sürətlə yanıb sönəcək.
- Cihaz artıq ilkin quraşdırma əmrlərini qəbul etməyə hazırdır. Bu 10 dəqiqə ərzində həyata keçirilməlidir.
- MASTER, bölmənin telefon nömrəsinə təsviri olan bir SMS mesajı göndərin.
- Alınsa, PC Kartındakı yaşıl LED iki dəfə yanıb -sönəcək.
- MASTER USER indi proqramlaşdırılmışdır.
Cihazı zavod parametrlərinə qaytarın
MASTER USER proqramlaşdırıldıqdan sonra cihazın parametrləri zavod parametrlərinə təyin olunmalıdır.
- Vahid telefon nömrəsinə yalnız CLEARALL yazaraq SMS göndərin.
- Alınarsa, PC lövhəsindəki yaşıl və qırmızı LED alternativ olaraq saniyədə bir dəfə yanıb -sönəcək. Cihaz zavod parametrləri ilə bərpa edildi.
- Bütün parametrlər zavod parametrlərinə qaytarılmışdır.
- Cihazı yenidən başlatmaq üçün Sıfırlama düyməsini basıb buraxın.
SİM kartın formatlanması
Son addım, SİM kartda saxlanan bütün məlumatları silmək və bu cihazda istifadə üçün konfiqurasiya etməkdir.
- Sıfırlama düyməsini basıb buraxın və PC lövhəsindəki qırmızı LEDin sönməsini gözləyin.
- GSM modulundakı NET LED sürətlə yanıb sönəcək.
- Cihaz artıq ilkin quraşdırma əmrlərini qəbul etməyə hazırdır. Bu 10 dəqiqə ərzində həyata keçirilməlidir.
- Cihazın telefon nömrəsinə yalnız ERASESIM ilə SMS göndərin.
- Alınsa, PC lövhəsindəki yaşıl LED ağac dəfə yanıb sönəcək.
Cihaz artıq konfiqurasiya edilmişdir və istifadəyə hazırdır.
Addım 16: SMS əmrləri
Bölmə tərəfindən istifadə olunan üç fərqli əmr növü var. Bütün əmrlər SMS ilə göndərilir və hamısı aşağıdakı formatda olur:
ƏMR,,,,,,
- NORMAL USER əmrləri istisna olmaqla, bütün əmrlər böyük -kiçik hərflərə həssasdır.
- Parametrlər böyük hərflərə həssas deyil.
İlkin Quraşdırma Əmrləri
MASTER, adı
SMS göndərənin telefon nömrəsi MASTER USER telefon nömrəsi kimi istifadə olunur. vahidin təsviri bura əlavə edilə bilər.
HAMISINI SİL, HAMISINI TƏMİZLƏ
Cihazı zavod parametrlərinə qaytarın
CLEARSIM
SİM kartdakı bütün məlumatları silin
SIFIRLAYIN
Cihazı yenidən başladın
MASTER USER vahidi konfiqurasiya etmək üçün əmrlər
OUTMODE, c, m, t Qeyd! ! ! HƏLƏ TƏTBİQ EDİLMİR
Xüsusi kanalları PULSED, TIMED və LATCHING çıxışları üçün təyin edin. t, TIMED çıxışları üçün dəqiqələrdəki müddətdir
Nəbz, cccc
Xüsusi kanalları PULSED çıxışlarına təyin edin. Ayarlanmasa, kanallar LATCHING çıxışları olaraq təyin ediləcək.
PULSETIME, t Pulse çıxış müddətini saniyələrlə təyin edir (0.. 10s)
GİRİŞ, cccc
Vəziyyət OFF -dan ON -a dəyişdikdə tetiklemesi lazım olan kanalları seçin və SMS mesajı göndərin
GİRİŞ, cccc
Vəziyyət ON -dan OFF -a dəyişəndə tetiklemesi lazım olan kanalları seçin və SMS mesajı göndərin
INTIME, c, t
Vəziyyət dəyişikliklərini saniyələrdə aşkar etmək üçün giriş gecikmə müddətini təyin edir
INTEXT, ch, ad, yandır, söndür
Hər giriş kanalının adını mətnə və mətnə qoyun
OUTTEXT, ch, ad, yandır, söndür
Hər bir çıxış kanalının adını mətnə və mətnə qoyun
Əlavə et, yer, nömrə, Çağırışlar, SMS çıxışları, girişlər
İstifadəçiyə təyin edilmiş çıxış və giriş kanalları olan "yeri" yaddaşında SİM karta istifadəçi əlavə edin
Del, yer
İstifadəçini SİM kart yaddaşından 'yerdən' silin
Kanal Adı
ChannelName adı ilə pulse çıxışı olacaq
ChannelName, onText və ya ChannelName, offText
ChannelName və onText/offText adı ilə çıxışı Açar/Söndürəcək
Cihazı idarə etmək üçün Normal İstifadəçi Komutları
???? I/O status yeniləməsini tələb edin. Status SMS göndərənə göndəriləcək.
Kanal Adı
ChannelName adı ilə pulse çıxışı olacaq
Kanal Adı, onText
Çıxışı ChannelName adı və status mətni onText ilə Açar
ChannelName, offText, ChannelName adı ilə çıxışı və status mətnini offText'i söndürəcək
Əmrlərin daha ətraflı təsviri üçün əlavə PDF sənədinə baxın.
Tövsiyə:
Arduino Brauzer Əsaslı Uzaqdan İdarəetmə (linux): 9 Addım (Şəkillərlə birlikdə)
Arduino Brauzer Əsaslı Uzaqdan İdarəetmə (linux): Uşaqlarımız var. Mən onları çox sevirəm, amma uşaq kanallarını açanda peyk və TV üçün pultu gizlətməyə davam edirlər. Bir neçə ildir gündəlik olaraq baş verənlərdən sonra və sevgilim həyat yoldaşımın mənə icazə verdikdən sonra
ARUPI - Soundscape Ekoloqları üçün Aşağı Qiymətli Avtomatlaşdırılmış Qeyd Bölməsi/Avtonom Qeyd Bölməsi (ARU): 8 Addım (Şəkillərlə)
ARUPI - Soundscape Ekoloqları üçün Aşağı Qiymətli Avtomatlaşdırılmış Qeyd Bölməsi/Avtonom Qeyd Bölməsi (ARU): Bu təlimat Anthony Turner tərəfindən yazılmışdır. Layihə, Kent Universiteti Kompüter Məktəbindəki Sheddən çox kömək alaraq hazırlanmışdır (cənab Daniel Knox böyük bir kömək oldu!)
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan sürüşdürün: 3 Addım (Şəkillərlə birlikdə)
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan Sürüşdürün: Oh Amazon, Fire TV'niz çox gözəldir, niyə bizə pultunuzda səs idarəetməsini vermədiniz? Yaxşı ki, Amazon -da 5 dollardan aşağı qiymətə bu sevimli kiçik uzaqdan, güc, səssiz satın ala bilərsiniz. , həcmi və hamısı kiçik bir paketdə. 3d printerə daxil edin
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照
IR Uzaqdan Uzaqdan Uzaqdan Çevirin: 9 Addım (Şəkillərlə birlikdə)
IR Uzaqdan Uzaqdan Uzaqdan RF -yə çevirin: Bugünkü Təlimat kitabında, ümumi bir RF modulunu mikro nəzarətçi olmadan necə istifadə edə biləcəyinizi sizə göstərəcəyəm ki, nəticədə hər hansı bir cihazın IR uzaqdan idarəetmə cihazını RF -yə çevirə biləcəyiniz bir layihə hazırlayaq. Uzaqdan. Çevirmənin əsas üstünlüyü