İçindekiler:
- Adım 1: Güç Kaynağı
- Adım 2: Dijital Girişler
- Adım 3: Dijital Çıkışlar
- Adım 4: Mikro Denetleyici Osilatörü
- Adım 5: Gösterge LED'leri
- Adım 6: Mikro İşlemci Sıfırlama Devresi
- Adım 7: SIM800L Modülü
- Adım 8: Mikro Denetleyici
- 9. Adım: SRAM Belleğini Optimize Etme
- Adım 10: Yazılım Seri Arabellek Boyutu
- Adım 11: PC Kartının Yapılması
- Adım 12: PC Kartının Montajı
- Adım 13: AtMega328p'nin Programlanması
- Adım 14: Ünitenin Bağlanması
- Adım 15: İlk Kurulum
- Adım 16: SMS Komutları
Video: Arduino Tabanlı GSM/SMS Uzaktan Kumanda Ünitesi: 16 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
! ! ! FARK ETME ! !
Bulunduğum bölgede yerel cep telefonu kulesi yükseltildiği için artık bu GSM modülünü kullanamıyorum. Yeni kule artık 2G cihazlarını desteklemiyor. Bu nedenle artık bu projeye destek veremiyorum.
Meraklılar için bu kadar geniş bir GSM modülü yelpazesi mevcutken, çoğumuz bir tane satın almayı bitirdik. Yerel olarak bir SIM800L modülü satın aldım ve modülün farklı komutlarıyla oynadım.
Arduino Uno ve Arduino IDE'yi kullanarak fikirlerimi gerçeğe dönüştürebildim. TEK BÜYÜK SORUN, yalnızca 2KB SRAM'ın sınırlaması olduğu için bu kolay olmadı. İnternette ve farklı forumlarda bir çok araştırma yaptıktan sonra bu sınırlamayı aşmayı başardım.
Farklı programlama teknikleri, Arduino derleyicisinin çok daha iyi anlaşılması ve ek bellek için SIM kart ve EEPROM kullanılması bu projeyi kurtardı. Kodda yapılan bazı değişikliklerden sonra, kararlı bir prototip oluşturuldu ve bir hafta boyunca test edildi.
Sınırlı SRAM'ın bir dezavantajı, ünitenin bir ekran ve kullanıcı tuşları ile donatılamamasıydı. Bu, kodun tamamen yeniden yazılmasına neden oldu. Kullanıcı arabirimi olmadan, projeye devam etmek için geriye kalan tek seçenek, üniteyi ve kullanıcıları yapılandırmak için SMS mesajlarını kullanmaktı.
Bunun heyecan verici bir proje olduğu ortaya çıktı ve geliştirme devam ettikçe daha fazla gelecek eklendi.
Asıl amacım Arduino Uno'ya veya bu durumda ATMEGA328p'ye bağlı kalmak ve herhangi bir yüzeye montaj bileşeni kullanmamaktı. Bu, genel halkın birimi kopyalamasını ve oluşturmasını kolaylaştıracaktır.
Ünitenin özellikleri:
- Ünitede maksimum 250 kullanıcı programlanabilir
- Dört dijital çıkış
- Dört dijital giriş
- Her çıkış bir PULSE veya ON/OFF çıkışı olarak yapılandırılabilir
- Çıkış darbe süresi 0,5.. 10 saniye arasında ayarlanabilir
- Her giriş, KAPALI ila AÇIK değişiklikleri tetikleyecek şekilde yapılandırılabilir.
- Her giriş, AÇIK ila KAPALI değişiklikleri tetikleyecek şekilde yapılandırılabilir
- Her giriş gecikme süresi 0 saniye ile 1 saat arasında ayarlanabilir
- Girişlerdeki değişiklikler için SMS mesajları 5 farklı kullanıcıya gönderilebilir.
- Her giriş için adlar ve durum metni kullanıcı tarafından ayarlanabilir
- Her çıktı için adlar ve durum metni kullanıcı tarafından ayarlanabilir
- Ünite, USSD mesajlaşma yoluyla SIM kart bakiyesi mesajlarını alacak şekilde yapılandırılabilir.
- Tüm kullanıcılar, ünitenin G/Ç durum güncellemelerini talep edebilir
- Tüm kullanıcılar SMS mesajları aracılığıyla bireysel çıkışları kontrol edebilir
- Tüm kullanıcılar, üniteyi arayarak bireysel çıkışları kontrol edebilir
Güvenlik özellikleri
- Ünitenin ilk kurulumu sadece ünitedeyken yapılabilir.
- İlk kurulum yalnızca MASTER KULLANICI tarafından gerçekleştirilebilir.
- İlk kurulum komutları on dakika sonra otomatik olarak devre dışı bırakılır.
- Sadece bilinen kullanıcılardan gelen aramalar ve SMS mesajları üniteyi kontrol edebilir
- Kullanıcılar sadece MASTER USER tarafından kendilerine atanan çıkışları çalıştırabilirler.
Diğer özellikler
- Bu birime yapılan aramalar ücretsizdir, çünkü arama hiçbir zaman yanıtlanmaz.
- Ünite arandığında, arama yalnızca 2 saniye sonra kesilir. Bu, arayan kişiye, birimin aramaya yanıt verdiğinin teyididir.
- SIM kart servis sağlayıcı USSD mesajlarını destekliyorsa, MASTER KULLANICI tarafından bakiye sorgulaması yapılabilir. Bakiyeyi içeren USSD mesajı daha sonra MASTER KULLANICI'ya iletilecektir.
Adım 1: Güç Kaynağı
Ünitenin standart güvenlik sistemlerine (alarm sistemleri, elektrikli garaj kapıları, elektrikli kapı motorları) bağlanabilmesini sağlamak için ünite, normalde bu tür sistemlerde bulunan 12V DC'den güç alacaktır.
Güç, 12V IN ve 0V terminallerine uygulanır ve 1A sigorta ile korunur. Ek 12V OUT terminalleri mevcuttur ve ayrıca sigorta ile korunmaktadır.
Diyot D1, üniteyi 12V hatlarındaki ters polarite bağlantılarına karşı korur.
Kapasitörler C1 ve C2, 12V besleme hatlarında bulunan herhangi bir gürültüyü filtreler. 12V besleme ünitenin rölelerine güç sağlamak için kullanılır.
5V besleme, bir LM7805L voltaj regülatöründen oluşur ve SIM800L GSM modülü ile mikro işlemci için gereken kararlı bir +5V çıkışı verir. C3 ve C4 kapasitörleri, +5V besleme hattında bulunabilecek herhangi bir gürültüyü filtreler. SIM800L GSM modülü iletim sırasında oldukça fazla güç kullandığından, göreceli olarak büyük boyutlu elektrolitik kapasitörler kullanıldı.
Voltaj regülatöründe ısı emiciye gerek yoktur.
Adım 2: Dijital Girişler
Dijital giriş sinyallerinin tümü 12V'dir ve 5V mikro denetleyici ile arayüzlenmelidir. Bunun için 12V sinyallerini 5V sisteminden izole etmek için opto kuplörler kullanılır.
1K giriş direnci, opto kuplörün giriş akımını yaklaşık 10mA ile sınırlar.
Alan sınırlamaları nedeniyle, PC Kartında 5V pull-up dirençleri için yer yoktu. Mikro denetleyici, giriş pinlerinin zayıf pull-up'larını etkinleştirmek için ayarlanmıştır.
Opto kuplörün girişinde (LOW) sinyal olmadığında, opto kuplör LED'inden akım akmaz. Böylece opto kuplör transistörü kapatılır. Mikro denetleyicinin zayıf çekişi, toplayıcıyı neredeyse 5V'a çekecek ve mikro denetleyici tarafından YÜKSEK bir mantık olarak görülecektir.
Opto kuplörün girişine 12V uygulandığında (YÜKSEK), opto kuplör LED'inden yaklaşık 10mA akacaktır. Böylece opto kuplör transistörü açılacaktır. Bu, toplayıcıyı neredeyse 0V'a çekecek ve mikro denetleyici tarafından DÜŞÜK bir mantık olarak görülecektir.
Mikro denetleyici tarafından görülen girişin, 12V girişe kıyasla ters çevrildiğini unutmayın.
Giriş pinini okumak için normal kod aşağıdaki gibi görünür:
boole Girişi = digitalRead(inputpin);
Tersine çevrilmiş sinyali düzeltmek için aşağıdaki kodu kullanın:
boole Girişi = !digitalRead(inputpin); // NOT: ! okumanın önünde
Şimdi, mikro denetleyici tarafından görülen giriş, 12V girişindeki girişe karşılık gelecektir.
Son giriş devresi 4 dijital girişten oluşur. Her giriş, PC Kartı üzerindeki terminallere bağlanır.
Adım 3: Dijital Çıkışlar
Normalde, yalnızca minimum sayıda röle çalıştıran bir devre ile en iyi yol, gösterildiği gibi bir transistör sürücü devresi kullanmaktır. Basit, düşük maliyetli ve etkilidir.
Dirençler, toprağa çekme ve transistör temel akım sınırlaması sağlar. Transistör, bir röleyi sürmek için mevcut akımı artırmak için kullanılır. Mikro denetleyici pininden çekilen sadece 1mA ile transistör 100mA'lık bir yükü değiştirebilir. Çoğu röle türü için fazlasıyla yeterli. Diyot, röle anahtarlaması sırasında devreyi yüksek voltaj yükselmelerinden koruyan bir geri dönüş diyotudur. Bu devreyi kullanmanın ek avantajı, röle çalışma voltajının mikro denetleyicinin voltajından farklı olabilmesidir. Böylece 5V röle kullanmak yerine 48V'a kadar herhangi bir DC voltajı kullanılabilir.
ULN2803 ile tanışın
Bir proje ne kadar çok röle gerektirirse, bileşen sayısı o kadar yüksek olur. Bu, PCB tasarımını daha zor hale getirecek ve değerli PCB alanını kullanabilir. Ancak ULN2803 gibi bir transistör dizisi kullanmak PCB boyutunu küçük tutmaya kesinlikle yardımcı olacaktır. ULN2803, bir mikro denetleyiciden 3.3V ve 5V girişler için idealdir ve 48V DC'ye kadar röleleri çalıştırabilir. Bu ULN2803, her biri bir röleyi değiştirmek için gerekli tüm bileşenlerle donatılmış 8 ayrı transistör devresine sahiptir.
Son çıkış devresi, 4 adet 12V DC çıkış rölesini çalıştıran bir ULN3803'ten oluşur. Rölenin her kontağı PC Kartı terminallerinde mevcuttur.
Adım 4: Mikro Denetleyici Osilatörü
Osilatör Devresi
Mikro denetleyicinin doğru çalışması için bir osilatöre ihtiyacı vardır. Arduino Uno tasarımına uymak için devre standart 16MHz osilatörü kullanacak. İki seçenek mevcuttur:
Kristal
Bu yöntem, iki yükleme kapasitörüne bağlı bir kristal kullanır. Bu en yaygın seçenektir.
rezonatör
Bir rezonatör, temelde bir kristal ve tek bir 3 pimli pakette iki yükleme kapasitörüdür. Bu, bileşenlerin miktarını azaltır ve PC Kartındaki kullanılabilir alanı artırır.
Bileşen sayısını olabildiğince düşük tutmak için 16MHz rezonatör kullanmayı seçtim.
Adım 5: Gösterge LED'leri
Bazı LED'ler olmadan herhangi bir devre ne olacak? 3mm LED'ler için PC Kartında provizyon yapıldı.
LED'den geçen akımı 5mA'dan daha düşük bir değerde sınırlamak için 1K dirençler kullanılır, 3mm yüksek parlak LED'ler kullanıldığında parlaklık mükemmeldir.
Durum LED'lerinin kolay yorumlanması için iki renk kullanılmıştır. İki LED'i yanıp sönen göstergelerle birleştirerek, sadece iki LED'den oldukça fazla bilgi elde edilebilir.
Kırmızı LED
Kırmızı LED, arıza koşullarını, uzun gecikmeleri, herhangi bir yanlış komutu belirtmek için kullanılır.
Yeşil LED
Yeşil LED, sağlıklı ve/veya doğru girişleri ve komutları belirtmek için kullanılır.
Adım 6: Mikro İşlemci Sıfırlama Devresi
Güvenlik nedeniyle, ünitenin bazı işlevleri, ünite açıldıktan sonraki ilk 10 dakika içinde kullanılabilir.
Bir sıfırlama düğmesi ile, üniteyi sıfırlamak için üniteye giden gücün kapatılması gerekmez.
Nasıl çalışır
10K direnç, RESET hattını 5V'a yakın tutacaktır. Butona basıldığında RESET hattı 0V'a çekilecek ve böylece mikro kontrolör resette tutulacaktır. Düğme bırakıldığında, SIFIRLAMA satırı mikro denetleyiciyi yeniden başlatarak %v'ye döner.
Adım 7: SIM800L Modülü
Ünitenin kalbi SIM800L GSM modülüdür. Bu modül, mikro denetleyicide yalnızca 3 I/O pini kullanır.
Modül, standart bir seri bağlantı noktası aracılığıyla mikro denetleyiciye arabirim sağlar.
- Üniteye verilen tüm komutlar, standart AT komutları kullanılarak seri port üzerinden gönderilir.
- Gelen bir arama ile veya bir SMS alındığında, bilgiler ASCII metin kullanılarak seri port üzerinden mikro denetleyiciye gönderilir.
Yerden tasarruf etmek için, GSM modülü PC Kartına 7 pinli bir başlık üzerinden bağlanır. Bu, GSM modülünün çıkarılmasını kolaylaştırır. Bu aynı zamanda kullanıcının modülün altındaki SIM kartı kolayca takmasını/çıkarmasını sağlar.
Etkin bir SIM kart gereklidir ve SIM kartın SMS mesajları gönderip alabilmesi gerekir.
SIM800L GSM modülünün kurulumu
Üniteyi açarken, GSM modülü sıfırlama pimi bir saniyeliğine aşağı çekilir. Bu, GSM modülünün ancak güç kaynağı stabilize olduktan sonra başlamasını sağlar. GSM modülünün yeniden başlatılması birkaç saniye sürer, bu nedenle modüle herhangi bir AT komutu göndermeden önce 5 saniye bekleyin.
GSM modülünün mikro denetleyici ile doğru iletişim kuracak şekilde yapılandırıldığından emin olmak için başlatma sırasında aşağıdaki AT komutları kullanılır:
NS
bir GSM modülünün mevcut olup olmadığını belirlemek için kullanılır
AT+CREG?
GSM modülü cep telefonu şebekesinde kayıtlı olana kadar bu komutu sorgulama
AT+CMGF=1
SMS mesaj modunu ASCII olarak ayarlayın
AT+CNMI=1, 2, 0, 0, 0
SMS mevcutsa, SMS detaylarını GSM modülü seri portuna gönderin
AT+CMGD=1, 4
SIM kartta saklanan tüm SMS mesajlarını silin
AT+CPBS=\"SM
GSM modülünün telefon rehberini SIM karta ayarlayın
AT+COPS=2, sonra AT+CLTS=1, sonra AT+COPS=0
GSM modül saatini cep telefonu şebeke saatine ayarlayın
Sürenin ayarlanması için 5 saniye bekleyin
AT+CUSD=1
USSD mesajlaşma işlevini etkinleştir
Adım 8: Mikro Denetleyici
Mikro denetleyici, Arduino Uno'da kullanılanla aynı standart bir AtMega328p'dir. Bu nedenle kod her ikisiyle de karşılaştırılabilir. Kolay yerleşik programlamaya izin vermek için, PC Kartında 6 pinli bir programlama başlığı mevcuttur.
Ünitenin farklı bölümleri mikro işlemciye bağlıdır ve aşağıdakileri içerir:
- Dört dijital giriş
- Dört dijital çıkış
- osilatör
- İki gösterge LED'i
- Devreyi sıfırla
- SIM800L GSM modülü
GSM modülüne gelen ve giden tüm iletişimler SoftwareSerial() işlevi kullanılarak yapılır. Bu yöntem, geliştirme aşamasında Arduino IDE için ana seri bağlantı noktasını boşaltmak için kullanıldı.
Yalnızca 2KB SRAM ve 1KB EEPROM ile, birime bağlanabilecek birkaç kullanıcıdan fazlasını depolamak için yeterli bellek yoktur. SRAM'ı boşaltmak için tüm kullanıcı bilgileri GSM modülündeki SIM kartta saklanır. Bu düzenleme ile ünite 250 farklı kullanıcıya kadar hizmet verebilir.
Ünitenin konfigürasyon verileri EEPROM'da saklanır, böylece kullanıcı verileri ve sistem verileri birbirinden ayrılır.
Hala birkaç yedek G/Ç pini mevcuttur, Ancak, SoftWareSerial() alma ve gönderme arabellekleri tarafından kullanılan büyük miktarda SRAM nedeniyle bir LCD ekran ve/veya klavye ekleme seçeneği mümkün değildi, Ünite üzerinde herhangi bir kullanıcı arayüzü olmaması nedeniyle tüm ayarlar ve kullanıcılar SMS mesajları kullanılarak programlanır.
9. Adım: SRAM Belleğini Optimize Etme
Geliştirme aşamasında oldukça erken, Arduino IDE, kodu derlerken düşük SRAM belleği bildirdi. Bunu aşmak için çeşitli yöntemler kullanıldı.
Seri bağlantı noktasında alınan verileri sınırlayın
GSM modülü, tüm mesajları mikro denetleyiciye seri bağlantı noktasına rapor edecektir. Bazı SMS mesajları alırken, alınan mesajın toplam uzunluğu 200 karakterden fazla olabilir. Bu, AtMega çipinde bulunan tüm SRAM'ı hızla tüketebilir ve kararlılık sorunlarına neden olur.
Bunu önlemek için GSM modülünden alınan HERHANGİ bir mesajın sadece ilk 200 karakteri kullanılacaktır. Aşağıdaki örnek, Counter değişkeninde alınan karakterleri sayarak bunun nasıl yapıldığını gösterir.
// yazılım seri bağlantı noktasından veri taraması
//------------------------------------------------------ RxString = ""; Sayaç = 0; while(SSerial.available()){ gecikme(1); // yeni verilerin ara belleğe yerleştirilmesi için zaman vermek için kısa gecikme // yeni karakter al RxChar = char(SSerial.read()); // stringe ilk 200 karakteri ekle if (Counter < 200) { RxString.concat(RxChar); Sayaç = Sayaç + 1; } }
Serial.print() kodunun azaltılması
Geliştirme sırasında kullanışlı olmasına rağmen, Arduino Seri Monitör çok fazla SRAM kullanabilir. Kod, mümkün olduğunca az Serial.print() kodu kullanılarak geliştirildi. Kodun bir bölümünün çalışması test edildi, tüm Serial.print() kodu, kodun o bölümünden kaldırıldı.
Serial.print(F(("")) kodunu kullanma
Arduino Seri Monitöründe normalde görüntülenen birçok bilgi, açıklamalar eklendiğinde daha anlamlı hale gelir. Aşağıdaki örneği alın:
Serial.println("Belirli işlemler bekleniyor");
"Belirli eylemler bekleniyor" dizesi sabittir ve değiştirilemez.
Kodun derlenmesi sırasında, derleyici FLASH belleğinde "Belirli eylemler bekleniyor" dizesini içerecektir.
Ayrıca derleyici, dizenin "Serial.print" veya "Serial.println" komutu tarafından kullanılan bir sabit olduğunu görür. Mikro önyükleme sırasında, bu sabit de SRAM belleğine yerleştirilir.
Serial.print() işlevlerinde "F" önekini kullanarak, derleyiciye bu dizenin yalnızca FLASH bellekte mevcut olduğunu söyler. Bu örnek için, dize 28 karakter içeriyor. Bu, SRAM'de serbest bırakılabilen 28 bayttır.
Serial.println(F("Belirli işlemler bekleniyor"));
Bu yöntem, SoftwareSerial.print() komutları için de geçerlidir. GSM modülü AT komutları üzerinde çalıştığından, kod çok sayıda SoftwareSerial.print("xxxx") komutu içerir. "F" önekini kullanmak, neredeyse 300 bayt SRAM'ı serbest bıraktı.
Donanım seri bağlantı noktasını kullanmayın
Kod hata ayıklamasından sonra, TÜM Serial.print() komutları kaldırılarak donanım seri bağlantı noktası devre dışı bırakıldı. Bu, birkaç ekstra bayt SRAM serbest bıraktı.
Kodda herhangi bir Serial.print() komutu kalmadığında, ek bir 128 bayt SRAM kullanıma sunuldu. Bu, donanım seri bağlantı noktasını koddan kaldırarak yapıldı. Bu, 64 baytlık iletim ve 64 baytlık alma arabelleklerini hızlandırdı.
// Serial.başlangıç(9600); // donanım seri bağlantı noktası devre dışı
Dizeler için EEPROM kullanma
Her giriş ve çıkış için üç dizenin kaydedilmesi gerekiyordu. Bunlar kanal adı, kanal açıkken dizi ve kanal kapalıyken dizidir.
Toplam 8 I/O kanalı ile
- Her biri 10 karakter uzunluğunda kanal adlarını içeren 8 dize
- Her biri 10 karakter uzunluğunda, kanal açıklaması içeren 8 dize
- Her biri 10 karakter uzunluğunda, kanal Kapalı açıklamasını içeren 8 dize
Bu, 240 bayta kadar SRAM reklamı yapar. Bu dizileri SRAM'de saklamak yerine EEPROM'da depolanırlar. Bu, ek 240 bayt SRAM'ı serbest bıraktı.
Doğru uzunluklarda dize bildirme
Değişken normalde kodun başında bildirilir. Bir dize değişkeni bildirirken yapılan yaygın bir hata, dizeyi doğru sayıda karakterle bildirmememizdir.
Dize GSM_Nr = "";
String GSM_Name = ""; String GSM_Msg = "";
Başlatma sırasında, mikro denetleyici bu değişkenler için SRAM'de bellek ayırmaz. Bu, daha sonra bu dizeler kullanıldığında kararsızlığa neden olabilir.
Bunu önlemek için, dizelerin yazılımda kullanacağı doğru sayıda karakterle dizeleri bildirin.
Dize GSM_Nr = "1000000000";
String GSM_Name = "2000000000"; String GSM_Msg = "3000000000";
Aynı karakterlerle dizeleri nasıl bildirmediğime dikkat edin. Bu dizelerin tümünü "1234567890" diyerek bildirirseniz, derleyici üç değişkende aynı dizeyi görecek ve dizelerden biri için SRAM'de yalnızca yeterli bellek ayıracaktır.
Adım 10: Yazılım Seri Arabellek Boyutu
Aşağıdaki kodda, yazılımın seri bağlantı noktasından 200 karaktere kadar okunabildiğini fark edeceksiniz.
// yazılım seri bağlantı noktasından veri taraması
//------------------------------------------------------ RxString = ""; Sayaç = 0; while(SSerial.available()){ gecikme(1); // yeni verilerin ara belleğe yerleştirilmesi için zaman vermek için kısa gecikme // yeni karakter al RxChar = char(SSerial.read()); // stringe ilk 200 karakteri ekle if (Counter < 200) { RxString.concat(RxChar); Sayaç = Sayaç + 1; } }
Bu, yazılım seri bağlantı noktası için de en az 200 baytlık bir arabellek gerektirir. varsayılan olarak, yazılımın seri bağlantı noktası arabelleği yalnızca 64 bayttır. Bu arabelleği artırmak için aşağıdaki dosyayı arayın:
SoftwareSerial.h
Dosyayı bir metin düzenleyiciyle açın ve arabellek boyutunu 200 olarak değiştirin.
/******************************************************************************
* Tanımlar ************************************************ ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX arabellek boyutu #endif
Adım 11: PC Kartının Yapılması
PC Kartı, Cadsoft Eagle'ın ücretsiz sürümü kullanılarak tasarlandı (adın değiştiğine inanıyorum).
- PC Kartı tek taraflı bir tasarımdır.
- Yüzeye montaj bileşenleri kullanılmaz.
- SIM800L modülü de dahil olmak üzere tüm bileşenler PC kartına monte edilmiştir.
- Harici bileşen veya bağlantı gerekmez
- Tel köprüler, daha temiz bir görünüm için bileşenlerin altına gizlenmiştir.
PC Kartları yapmak için aşağıdaki yöntemi kullanıyorum:
- PC Kartı görüntüsü, bir lazer yazıcı kullanılarak Press-n-Peel üzerine yazdırılır.
- Press-n-Peel daha sonra temiz bir PC Kartı parçasının üzerine yerleştirilir ve bir miktar bantla sabitlenir.
- PC Kartı görüntüsü daha sonra, kart bir laminatörden geçirilerek Press-n-Peel'den boş PC Kartına aktarılır. Benim için 10 geçiş en iyi sonuç verir.
- PC Kartı oda sıcaklığına soğuduktan sonra Press-n-Peel karttan yavaşça kaldırılır.
- PC Kartı daha sonra sıcak suda çözülmüş Amonyum Persülfat kristalleri kullanılarak dağlanır.
- Dağlama işleminden sonra, kazınmış PC Kartı bir miktar aseton ile temizlenerek mavi Bas-Çıkar ve siyah toner çıkarılır.
- Tahta daha sonra bir Dremel ile boyutuna göre kesilir
- Tüm açık delik bileşenleri için delikler 1 mm'lik bir matkap ucu kullanılarak delinir.
- Terminal vidalı konektörler, 1,2 mm'lik bir matkap ucu kullanılarak delinir.
Adım 12: PC Kartının Montajı
Montaj, önce en küçük bileşenler eklenerek ve en büyük bileşenlere kadar çalışılarak yapılır.
SIM800 modülü hariç, bu Eğitilebilir Kitapta kullanılan tüm bileşenler yerel tedarikçimden temin edilmiştir. Her zaman stokları olduğu için onlara düşünür. Lütfen Güney Afrika web sitelerine bir göz atın:
www.shop.rabtron.co.za/catalog/index.php
NOT! İlk önce ATMEGA328p IC'nin altında bulunan iki jumper'ı lehimleyin
Sipariş aşağıdaki gibidir:
- Dirençler ve diyot
- Yeniden başlatma tuşu
- IC Soketleri
- Voltaj regülatörü
- Başlık pimleri
- Küçük kapasitörler
- LED'ler
- Sigorta tutucu
- Terminal blokları
- Röleler
- Elektrolitik kapasitörler
IC'leri takmadan önce üniteyi 12V'a bağlayın ve tüm voltajların doğru olduğunu test edin.
Son olarak, bir miktar şeffaf vernik kullanarak, PC Kartının bakır tarafını elementlerden korumak için kaplayın.
Cila kuruduğunda, IC'leri takın, ancak GSM modülünü AtMega programlanana kadar bırakın.
Adım 13: AtMega328p'nin Programlanması
# # Sürüm 3.02'ye Donanım Yazılımı Yükseltmesi # #
Cihaza elektrik geldiğinde MASTER KULLANICI'ya SMS gönderilmesi etkinleştirildi
Üniteyi programlamak için programlama kalkanlı bir Arduino Uno kullanıyorum. Arduino Uno'nun programcı olarak nasıl kullanılacağı hakkında daha fazla bilgi için bu Eğitilebilir Tabloya bakın:
AtMega328P Programcısı Olarak Arduino UNO
Programlama başlığına erişim sağlamak için GSM modülünün PC Kartından çıkarılması gerekir. GSM modülünü çıkarırken anten kablosuna zarar vermemeye dikkat edin.
Programlama kablosunu PC Kartı üzerindeki programlama başlığını kullanarak programlayıcı ile ünite arasına bağlayın ve çizimi üniteye yükleyin.
Üniteyi programlamak için harici 12V beslemeye gerek yoktur. PC Kartı, programlama kablosu aracılığıyla Arduino'dan güç alacaktır.
Ekli dosyayı Arduino IDE'de açın ve üniteye programlayın.
Programlamadan sonra programlama kablosunu çıkarın ve GSM modülünü takın.
Ünite artık kullanıma hazırdır.
Adım 14: Ünitenin Bağlanması
Üniteye tüm bağlantılar vidalı terminaller aracılığıyla yapılır.
Üniteye Güç Verme
GSM modülüne kayıtlı bir SIM kart taktığınızdan ve SIM kartın SMS mesajları gönderip alabildiğinden emin olun.
12V IN ve 0V terminallerinden herhangi birine 12V DC güç kaynağı bağlayın. Güç verildiğinde, PC Kartındaki kırmızı LED yanacaktır. Yaklaşık bir dakika içinde, GSM modülü cep telefonu şebekesine bağlanmış olmalıdır. Kırmızı LED sönecek ve GSM modülündeki kırmızı LED hızla yanıp sönecektir.
Bu aşamaya ulaşıldığında, ünite yapılandırılmaya hazırdır.
Giriş Bağlantıları
Dijital girişler 12V ile çalışır. Bir girişi açmak için girişe 12V uygulanmalıdır. 12V'nin çıkarılması girişi kapatacaktır.
Çıkış Bağlantıları
Her çıkış bir değiştirme kontağından oluşur. Her kontağı gerektiği gibi bağlayın.
Adım 15: İlk Kurulum
Ünitenin ilk kurulumu, tüm parametrelerin fabrika varsayılanlarına ayarlandığından ve SIM kartın kullanıcı bilgilerini doğru biçimde kabul edecek şekilde yapılandırıldığından emin olmak için gerçekleştirilmelidir.
Tüm komutlar SMS tabanlı olduğundan, kurulumu gerçekleştirmek için başka bir telefona ihtiyacınız olacaktır.
İlk kurulum için ünitede olmanız gerekir.
MASTER KULLANICI telefon numarasını ayarlayın
Üniteyi yalnızca MASTER KULLANICI yapılandırabileceğinden, önce bu adım gerçekleştirilmelidir.
- Üniteye güç sağlanmalıdır.
- Sıfırlama düğmesine basıp bırakın ve PC Kartı üzerindeki kırmızı LED'in sönmesini bekleyin.
- GSM modülü üzerindeki NET LED'i hızla yanıp sönecektir.
- Ünite şimdi ilk kurulum komutlarını kabul etmeye hazırdır. Bu 10 dakika içinde yapılmalıdır.
- Ünite telefon numarasına MASTER, açıklama içeren bir SMS mesajı gönderin.
- Alınırsa, PC Kartındaki yeşil LED iki kez yanıp söner.
- MASTER KULLANICI şimdi programlanmıştır.
Üniteyi Fabrika Varsayılanlarına Geri Yükleyin
MASTER USER programlandıktan sonra ünitenin ayarları fabrika varsayılanlarına ayarlanmalıdır.
- Ünite telefon numarasına sadece CLEARALL ile bir SMS mesajı gönderin.
- Alınırsa, PC Kartındaki yeşil ve kırmızı LED dönüşümlü olarak saniyede bir kez yanıp söner. Ünite varsayılan fabrika ayarlarıyla geri yüklendi.
- Tüm ayarlar fabrika varsayılanlarına geri yüklendi.
- Üniteyi yeniden başlatmak için Sıfırla düğmesine basın ve bırakın.
SIM Kartı Biçimlendirme
Son adım, SIM kartta saklanan tüm bilgileri silmek ve bu ünitede kullanım için yapılandırmaktır.
- Sıfırlama düğmesine basıp bırakın ve PC Kartı üzerindeki kırmızı LED'in sönmesini bekleyin.
- GSM modülü üzerindeki NET LED'i hızla yanıp sönecektir.
- Ünite şimdi ilk kurulum komutlarını kabul etmeye hazırdır. Bu 10 dakika içinde yapılmalıdır.
- Birim telefon numarasına sadece ERASESIM ile SMS mesajı gönderin.
- Alınırsa, PC Kartındaki yeşil LED ağaç kez yanıp söner.
Ünite şimdi yapılandırılmıştır ve kullanıma hazırdır.
Adım 16: SMS Komutları
Ünite tarafından kullanılan üç farklı komut türü vardır. Tüm komutlar SMS yoluyla gönderilir ve tümü aşağıdaki biçimdedir:
EMRETMEK,,,,,
- NORMAL KULLANICI komutları dışındaki tüm komutlar büyük/küçük harf duyarlıdır.
- Parametreler büyük/küçük harfe duyarlı değildir.
İlk Kurulum Komutları
MASTER, isim
SMS gönderenin telefon numarası ANA KULLANICI telefon numarası olarak kullanılır. Ünite için bir Açıklama buraya eklenebilir.
HEPSİNİ TEMİZLE
Üniteyi fabrika varsayılanlarına sıfırlayın
TEMİZLİK
SIM karttaki tüm verileri silin
SIFIRLA
Üniteyi yeniden başlatın
Birimi yapılandırmak için MASTER USER Komutları
OUTMODE, c, m, t NOT ! ! ! HENÜZ UYGULANMADI
PULSED, TIMED veya KİLİTLİ çıkışlara sahip olmak için belirli kanalları ayarlayın. t, ZAMANLI çıktılar için dakika cinsinden süredir
nabız, cccc
Belirli kanalları PULSED çıkışlara ayarlayın. Ayarlanmazsa, kanallar KİLİTLEME çıkışları olarak ayarlanacaktır.
PULSETIME, tDarbe çıkış süresini saniye cinsinden ayarlar (0.. 10s)
GİRİŞ, cccc
Tetiklenmesi gereken kanalları ayarlayın ve durum KAPALI'dan AÇIK'a değiştiğinde bir SMS mesajı gönderin
GİRİŞ KAPALI, cccc
Durum AÇIK'tan KAPALI'ya değiştiğinde tetiklenmesi ve bir SMS mesajı göndermesi gereken kanalları ayarlayın
INTIME, c, t
Durum değişikliklerini algılamak için giriş gecikme süresini saniye cinsinden ayarlar
INTEXT, ch, isim, açık, kapalı
Her bir giriş kanalının adını metin üzerinde ve metin dışında ayarlayın
OUTTEXT, ch, isim, açık, kapalı
Her çıkış kanalının adını metin üzerinde ve metin dışında ayarlayın
Ekleme, konum, numara, Calloutputs, SMSoutputs, girişler
Kullanıcıya atanmış çıkış ve giriş kanallarıyla, hafıza 'konumuna' SIM karta kullanıcı ekleyin
Del, konum
Kullanıcıyı SIM kart hafızasından 'konumdan' sil
Kanal ismi
KanalAdı adıyla çıkış darbesi yapacak
KanalAdı, onText veya KanalAdı, offText
Çıktıyı KanalAdı ve onText/offText adıyla Açık/Kapalı yapacak
Üniteyi kontrol etmek için Normal Kullanıcı Komutları
????G/Ç durum güncellemesi isteyin. Durum SMS'i gönderene gönderilecektir.
Kanal ismi
KanalAdı adıyla çıkış darbesi yapacak
KanalAdı, onText
Çıkışı, KanalAdı adı ve metin üzerindeki durum metni ile Açık hale getirecektir.
KanalAdı, kapalı Metin KanalAdı adı ve durum metni kapalı Metin ile çıktıyı Kapalı duruma getirir
Komutların daha ayrıntılı açıklaması için lütfen ekteki PDF belgesine bakın.
Önerilen:
Arduino Tarayıcı Tabanlı Uzaktan Kumanda (linux): 9 Adım (Resimli)
Arduino Tarayıcı Tabanlı Uzaktan Kumanda (linux): Çocuklarımız var. Ben onları çok seviyorum ama çocuk kanallarını açtıklarında uydu ve TV için uzaktan kumandayı saklıyorlar. Bunun birkaç yıl boyunca her gün gerçekleşmesinden sonra ve sevgili eşimin bana bir
LoRa Tabanlı Uzaktan Kumanda - Cihazları Uzak Mesafelerden Kontrol Edin: 8 Adım
LoRa Tabanlı Uzaktan Kumanda | Uzak Mesafelerden Kontrol Aletleri: Hey, naber, çocuklar! Akarsh burada CETech'ten. Bu projede, LED'ler, motorlar gibi çeşitli enstrümanları kontrol etmek için kullanılabilecek bir uzaktan kumanda oluşturacağız veya günlük hayatımızdan bahsedersek ev uygulamamızı kontrol edebiliriz.
Otomatik Arduino Tabanlı IR Uzaktan Kumanda Sıcaklık Sürme: 7 Adım
Otomatik Arduino Tabanlı IR Uzaktan Kumanda Sıcaklık Tahrikli: Hey, Naber Beyler! CETech'ten Akarsh burada. Dumb AC'niz nedeniyle oda sıcaklığınız çok düşük veya çok yüksek olduğu için sağlam bir uykunun ortasında uyanmaktan bıktınız. O zaman bu proje tam size göre. Bu projede yapacağımız
IRduino: Arduino Uzaktan Kumanda - Kayıp Bir Uzaktan Kumandayı Taklit Etme: 6 Adım
IRduino: Arduino Uzaktan Kumanda - Kayıp Bir Uzaktan Kumandayı Taklit Edin: TV veya DVD oynatıcınızın uzaktan kumandasını kaybettiyseniz, cihazın üzerindeki düğmeleri yürümek, bulmak ve kullanmak zorunda olmanın ne kadar sinir bozucu olduğunu bilirsiniz. Bazen bu düğmeler, uzaktan kumandayla aynı işlevi bile sunmaz.
Eskate veya Hydrofoil için Arduino Tabanlı Uzaktan Kumanda: 5 Adım (Resimli)
Eskate veya Hydrofoil için Arduino Tabanlı Uzaktan Kumanda: Bu talimat, ihtiyacınız olan tüm kod ve donanımı içeren bir eskate veya elektrikli hidrofil ile kullanmak için fiziksel bir uzaktan kumandayı nasıl oluşturacağınızı gösterecektir. Çok fazla lehimleme var, ancak yapması da eğlenceli. Uzaktan kumanda ne yapabilir? Ortak