İçindekiler:

Otomatik Ev Perdeleri – MakerChips’ BluChip (nRF51 BLE) Modülü ile Mini Proje: 7 Adım (Resimlerle)
Otomatik Ev Perdeleri – MakerChips’ BluChip (nRF51 BLE) Modülü ile Mini Proje: 7 Adım (Resimlerle)

Video: Otomatik Ev Perdeleri – MakerChips’ BluChip (nRF51 BLE) Modülü ile Mini Proje: 7 Adım (Resimlerle)

Video: Otomatik Ev Perdeleri – MakerChips’ BluChip (nRF51 BLE) Modülü ile Mini Proje: 7 Adım (Resimlerle)
Video: Evdeki Perdeyi Kumandalı ve Otomatik yapmak! [detaylı] 2024, Temmuz
Anonim
Otomatik Ev Perdeleri - MakerChips'in BluChip (nRF51 BLE) Modülü ile Mini Proje
Otomatik Ev Perdeleri - MakerChips'in BluChip (nRF51 BLE) Modülü ile Mini Proje

Uyandığınızı ve pencerelerinizden bir güneş ışını almak istediğinizi veya perdelere yaklaşmak yerine akıllı telefonunuzdaki bir düğmeye dokunarak daha fazla uyuyabilmek için perdeleri kapattığınızı hayal edin. Otomatik Ev Perdesi Sistemi ile bunu 90 dolardan fazla olmayan bileşenlerle başarabilirsiniz!

Github'da bu eğiticiye bakın

Adım 1: Tasarım

Dizayn
Dizayn

Otomatik Ev Perdesi Sisteminin kalbinde MakerChips'in BluChip modülü bulunur.

BluChip, BTLE aracılığıyla akıllı telefonlara çevre birimi olarak hizmet edebilen küçük bir 16.6x11.15mm Bluetooth modülüdür.

Bluetooth Low Energy'ye (BTLE) giriş için buraya tıklayın.

Modül, hem Android hem de Apple uygulamalarında birçok entegre özelliği desteklediğinden BLE uygulamaları için harika bir platform olan Nordic Semiconductors tarafından üretilen bir nRF51 SoC'den oluşur.

2. Adım: BluChip Explorer Kiti

BluChip Gezgini Kiti
BluChip Gezgini Kiti
BluChip Gezgini Kiti
BluChip Gezgini Kiti
BluChip Gezgini Kiti
BluChip Gezgini Kiti

Bu projeyi inşa etmek için MakerChips'ten BluChip Explorer Kit'i aldım ve biri CMSIS-DAP programcısı için, diğeri 2 RGB LED'li bir devre tahtası üzerinde BluChip, bir foto-direnç ve bir CR2032 pil olmak üzere 2 ayrı kutuda geldi.

Fark ettiğiniz gibi, BluChip modülü son derece küçüktür, bu da onu küçük gömülü düşük güçlü Bluetooth projeleri için mükemmel kılar. Bir breadboard üzerinde yalnızca 6x4 0.1" başlıklık bir ayak izine sığar ve kartın üstünde ek 0,05" başlıklara sahiptir, ticari olarak FCC sertifikalı bir paket için oldukça etkileyici!

MakerChips'in web sitesindeki BluChip'in bazı temel özellikleri şunlardır:

  • 14 Erişilebilir GPIO Pinleri
  • ARM Cortex M0 32bit işlemci ve 256KB flash ve 32KB RAM
  • 16,6 mm x 11,15 mm Mevcut en küçük ekmek tahtasına takılabilir Bluetooth ® modülü
  • Güç kaynağı 1.8V - 3.6V'u destekler
  • Bluetooth Özellikleri

    • BTLE - Bluetooth Düşük Enerji - (BLE, BT 4.1)
    • Bluetooth® ve Japonya, FCC, IC onaylı
    • Entegre 32 Mhz Sistem Saati
    • Çıkış gücü: +4dBm tipik
    • Frekans: 2402 - 2480 MHz

      Entegre yüksek performanslı model anten

    • Tek Modlu Bluetooth® Smart Slave/Master
  • Desteklenen arayüzler: SPI, UART, I2C ve 8/9/10bit ADC
  • İki takım programlama pini

    • CMSIS-DAP ve J-Link cihazlarına kolay bağlantı için.05" başlıklar
    • Breadboard'larla arayüz oluşturmak için.1" başlıklar
  • Yazılımla kontrol edilebilen kırmızı LED

3. Adım: NRF Connect Uygulaması

Image
Image
NRF Connect Uygulaması
NRF Connect Uygulaması
NRF Connect Uygulaması
NRF Connect Uygulaması

BluChip gezgin kutusunu açar açmaz, yanıp sönen LED'lerle canlandığını görüyorsunuz, oldukça büyüleyici bir manzara değil mi?

Bu BLE modülünde neler olduğunu görmek için devam edelim ve Google Play veya App Store'dan nRF Connect uygulamasını yükleyelim.

Telefonumuzla BluChip'e bağlanacağız, bu nedenle nRF Connect uygulamasını açın, karşılama ekranına göz atın ve Bluetooth'u açmak için Etkinleştir'e dokunun. Ardından, Tara'ya dokunun ve kısa süre sonra BluChip cihazınızın Tarayıcı sekmesi altında listelendiğini keşfedeceksiniz.

BluChip'e gerçekten bağlanmadan önce, bir LED alıp devre tahtasına 026(+ve) ve 021(-ve) pinlerinin yanına yerleştirelim. LED hemen yanmalıdır çünkü pin 026 3.3V (mantık seviyesi YÜKSEK) verir, pin 021 ise mantık DÜŞÜK (Toprak).

Devam edin ve akıllı telefonunuz ile BluChip arasında bir bağlantı kurmak için bağlan'a dokunun, ardından sizi uygulamadaki cihazın istemci sekmesine götürür.

BluChip istemci sekmesi, cihazınızda bulunan tüm hizmetleri görüntüler. Burada ilgilendiğimiz şey BlueChip GPIO Hizmetidir (Bilinmeyen Hizmet olarak listelenmiştir). Üzerine dokunun ve ardından GPIO Modülasyon Karakteristiğinin (Bilinmeyen Karakteristik olarak listelenir) yanındaki yukarı bakan oka dokunun.

Bir yazma değeri açılır penceresi görüntülenecek ve size BluChip cihazınıza veri gönderme seçeneği sunacaktır. Bizim durumumuzda, LED'i kapatmak istiyoruz, bu yüzden BYTE ARRAY'in yanındaki oka dokunun ve veri formatını UINT 8 olarak değiştirin. İlk değer olarak pin numarasını göndereceğiz, bu yüzden pin021 için 21 girin. Pin durumu ayarlanacak olan sonraki veri parçasını göndermek için değer ekle üzerine dokunun (onaltılı BYTE formatı). LED'i kapatmak için pin 021'i 3.3V'a (mantık seviyesi yüksek) ayarlayacağız, bu yüzden 01 girin ve Gönder'e dokunun.

LED anında kapanıyor! LED'i tekrar açmak için pin021'e 0x00(mantık seviyesi DÜŞÜK) değerini gönderin. Listelenen özelliğin altında görüldüğü gibi, (0x) 15-01 gönderilen değeri görüntülenir. {[(ondalık UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501 }

Değer yaz açılır penceresinde bir ad vererek ve ardından kaydet'e dokunarak bu değerleri kaydetmeyi seçerseniz, bunları gelecekte kolay GPIO modülasyonu için ön ayar olarak yükleyebilirsiniz!

Adım 4: BluChip'in Programlanması

BluChip'i Programlama
BluChip'i Programlama
BluChip'i Programlama
BluChip'i Programlama
BluChip'i Programlama
BluChip'i Programlama

Telefonumdaki BluChip cihaz adının sizinkinden farklı olduğunu yukarıdaki videodan fark etmişsinizdir, peki bunu kendi zevkimize göre nasıl değiştirebiliriz?

BluChip üzerinde çalışan uygulama bellenimi, kendisine bağlı akıllı telefonlar gibi BLE'den Merkezi cihazlara (ana) bir Çevresel cihaz (bağımlı) olarak hizmet eder. Cihazımızın adını değiştirmek için, BluChip'imize uygulama yazılımının yanıp sönmesine göz atalım.

BluChip Explorer kitiyle birlikte ARM Programmer (CMSIS-DAP) dahildir. MakerChips, CMSIS-DAP ile BluChip'e bellenimin yanıp sönmesinin ayrıntıları hakkında temiz bir Nasıl Yapılır kılavuzu sağlamıştır.

Bellenimi bir hex dosyasına derlemek ve flash'lamak için Keil, nRF51 Yazılım Geliştirme Kiti (SDK) ve BluChip bellenimine ihtiyacımız olacak. Devam edin ve MakerChips'in BluChip'i CMSIS-DAP ve Keil ile Programlama sayfasındaki "Yazılım" bölümündeki bağlantılardan indirin.

Keil'i kurun, ardından "Hex Dosyasını Oluşturma" bölümündeki 1-3 arasındaki adımları izleyin.

Bu noktada, Adım 4, Tüm Hedef Dosyaları Yeniden Oluşturma ile devam edebilirsiniz.

"core_cm0.h" ile ilgili bir hata alırsanız, onu derlemek için yolunu projeye eklemeniz gerekir.

Sadece dosyayı aramamız ve "\components\toolchain\gcc" dizinini bulmamız gerekir.

Bu yolu projemize dahil edelim. Hedef için Seçenekler'e tıklayın, C/C++ sekmesine gidin ve Şekil 16'da gösterildiği gibi yolu ekleyin.

Gerekli bağımlılıkları ekledikten sonra projemiz derlenir ve artık derlenmiş çıktıyı, özel bir hex dosyasını "nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_ahc-master\bluchip\s110_with_dfu\arm4\_buildnrf51422_xxac_s110.hex" konumunda görebiliriz.

Hex dosyasını BluChip'e yüklemek için "Hex Dosyasını Aktarma" bölümündeki 1-8 arasındaki adımları izleyin.

Artık özel bir Cihaz adıyla BluChip'e bellenimi yüklediğinize göre, nRF Connect uygulamasını çalıştırın ve cihazınızı tarayın. Şimdi, DEVICE_NAME içinde bellenimde tanımladığınızdan sonra adlandırıldığını fark edeceksiniz!

Bir sonraki adımda, Otomatik Ev Perde Sistemimizin donanım, elektronik ve yazılımını kurmaya başlayacağız.

Adım 5: Otomatik Perdeleri İnşa Etme

Image
Image
Otomatik Perdelerin İnşası
Otomatik Perdelerin İnşası
Otomatik Perdelerin İnşası
Otomatik Perdelerin İnşası
Otomatik Perdelerin İnşası
Otomatik Perdelerin İnşası

Ürün yazılımımızı derleme ve yanıp sönme sürecini gözden geçirdikten sonra, kendi bluetooth perdelerimizi oluşturmaya geçelim!

Perdeleri açıp kapatan bir triger kayışını sürmek için bir step motor kullanılacaktır. Step motor, BluChip tarafından kontrol edilecek bir Half-H sürücü IC tarafından çalıştırılır.

Güç için, BluChip ve Step Sürücü IC'ye güç sağlayacak olan 12V'yi 3,3V'a düşürmek için bir LM317 DC-DC voltaj regülatörü ile birlikte motora beslenen bir 12V AC-DC voltaj regülatörü kullanacağız.

Kendi BluChip modülünüzü MakerChips'in Tindie'deki yepyeni mağazasından veya MakerChips Web Sitesinden edinebilirsiniz.

Otomatik perdelerin montajına başlamak için BluChip Explorer Kit'e ek olarak aşağıda listelenen parçaları alalım:

  • 12V 1A Güç Adaptörü $3.40
  • Varil Jack 0,68 $
  • LM317T Voltaj Regülatörü $0.80
  • Dirençler(200 & 330 Ohm) $1.69
  • L293D Step Sürücüsü $1.63
  • Tek Kutuplu Step Motor 8,00 ABD doları (veya 1,66 ABD doları <= bu daha küçük tek kutupluyu iki kutuplu bir adıma dönüştürün)
  • 6mm Triger Kayışı $7.31
  • 6 mm Dişli 0,54 ABD doları (veya Thingiverse'den 3D yazdırılabilir)
  • 6 mm Kasnak 1,17 ABD doları (veya Thingiverse'den 3D yazdırılabilir)
  • Limit Anahtarı x2 (opsiyonel) $1,34
  • Proje Muhafaza Kutusu (opsiyonel) $1,06
  • Breadboard Jumper Telleri $2.09
  • Dupont Jumper Telleri 2,80 Dolar
  • Lastik Bantlar $1.13
  • Bükümlü Kravatlar $3.22
  • 22 AWG Tel (isteğe bağlı) 1,22 $
  • Zip bağları (isteğe bağlı) 0,63 ABD doları
  • Shrink tüp (isteğe bağlı) 1,97 $

Araçlar (isteğe bağlı):

  • Sıcak Tutkal Tabancası $3.75
  • Lehim Demiri $6.79

Malzeme Listesini GitHub'dan indirin(Amazon)

Şekil 20, eklemeyi seçtiğiniz özelliklere bağlı olarak sistemi nasıl bağlayacağınızı gösterir. Daha hassas hareket istiyorsanız, projeye limit anahtarları eklersiniz.

Limit anahtarları, BluChip'e ne zaman açılıp kapandığını bildiren perdelerin uç noktalarıdır. Limit Anahtarları olmadan, gelecek "Firmware Configuration" bölümünde perdelerinizin ne kadar hareket ettiğini belirtmek için bellenimi yapılandırmanız gerekir.

Şekil 20 ayrıca, "Firmware Configuration" bölümünde yapılandırılabilen, gündüz ve gece algılamasına izin veren isteğe bağlı bir foto rezistör içerir.

Step motor, kasnak ve triger kayışını perdelerinizin üstüne monte ederek donanımın montajını başlatın. (Şekil 21)

Triger kayışını lastik bantla geçici olarak gerdirin. Daha sonra, projeyi tamamlamadan önce, onu kalıcı olarak tutmak için birbirine bağlayacaksınız.

Perdeleri triger kayışınıza takmak için, Tel Bağları kayışın ve perde kancasının etrafına dolayın.

Perdeleri kayışa nasıl bağlayacağınız konusunda daha iyi bir fikir edinmek için Şekil 22'yi takip edin. Sol perdeyi triger kayışının arkasına bir tel bağla ve sağ perdeyi triger kayışının önüne bağlayacaksınız. bir tel bağ ile.

Kayışı sabitleyip perdeyi bağladıktan sonra step motorunu sökün ki biz de onu çalıştıracak elektronik devreyi monte etmeye ve test etmeye başlayabilelim. Şekil 20'ye.

200 ve 330 ohm dirençleri Şekil 20'ye göre takın. Dirençler LM317'nin çıkışını ~3.3V sağlayacak şekilde ayarlar. (Şekil 24)

Bağlantı telini ve ardından Şekil 26'da gösterildiği gibi kablolu bir namlu jakını takın.

Güç adaptörümüzü duvar prizine takalım ve Şekil 27'de görüldüğü gibi voltajları test etmek için adaptörü namlu jakına takalım.

Doğru voltajlar belirlendikten sonra, güç girişini çıkarın ve kalan devre tahtası atlama tellerini Şekil 20'ye göre yerleştirmeye başlayın.

Sırada, bipolar step motorumuzu L293d IC'ye bağlayacağız.

İlk olarak, Dupont atlama tellerini Şekil 29'da gösterildiği gibi step motor konektörüne yerleştirin.

Hangi telin nereye gittiğini öğrenmek için Şekil 30'daki şemayı izleyin.

Şematikte görüldüğü gibi, bir bobinden gelen kablolar L293D'nin Pin2 ve Pin6'sına gider. Diğer bobinden gelen kablolar Pin11 ve Pin14'e gider.

Modifiye edilmiş 28BYJ-48 bipolar step motor, Şekil 31'de görüldüğü gibi dört adet kullanılabilir renkli kabloya sahiptir.

L293d'de maviyi Pin3'e, sarıyı Pin6'ya, turuncuyu Pin11'e ve pembeyi Pin14'e bağlarız.

Temel devre şimdi tamamlandı!

Limit anahtarları uygulamak istiyorsanız, NO & C uçlarını bazı 22AWG kablolarına bağlayın. Diğer uçta, devre tahtasına uyan kablolar oluşturmak için DuPont atlama tellerini takın. (Şekil 32)

Bunları lastik bantlarla Şekil 33'te gösterildiği gibi perde rayına monte edebilirsiniz veya elinizde bir sıcak tutkal tabancası varsa, onu raya fermuarla bağlayabilir ve ardından hareket etmemesini sağlamak için iyi bir miktarda sıcak tutkal sıkın. etrafında.

Bunları nereye yerleştireceğiniz konusunda bir fikir edinmek için Şekil 34'e bakın.

Perde rayının en sol ucuna, birinci ray kancası ile ikinci ray arasına bir limit anahtarı takılır, böylece perdeler açıldığında kanca anahtara bastırır ve onu etkinleştirir. Diğer limit anahtarı, sola bakacak şekilde doğrudan rayın ortasına yerleştirilmiştir. Bu sayede perdeler kapandığında devreye girer.

Limit anahtarı uçlarını Şekil 20'ye göre devre tahtasına takın.

Son olarak, güneş doğduğunda perdelerinizin açılmasını ve battığında kapanmasını istiyorsanız, foto direnci Şekil 36'da gösterildiği gibi bağlamanız ve şafakta güneş ışığının erişebileceği yere yakın bir yere kurmanız gerekir.

Breadboard devresini kurduktan sonra hazırlanın ve bellenimi flaş etmek için programlayıcınızı BluChip'e bağlayın. Bellenimi GitHub'dan indirin ve daha önce yaptığınız gibi SDK dizininize çıkarın.

Github'dan ble_app_ahc.zip dosyasını indirin.

Projeyi açın, ardından bellenimi derleyin ve BluChip'e yükleyin.

Test etmeden önce, devre tahtasını bir kutuya koyacağız ve teller ve Perde Durum LED'imiz için delikler açacağız.

Breadboard'u muhafaza kutusunun tabanına yerleştirin ve teller için bir açıklık açın. Açıklık ayrıca BluChip'in anteni aracılığıyla diğer cihazlarla iletişim kurması için bir nokta görevi görür. (Şekil 37)

Muhafazanın yan tarafına LED boyutunda bir delik açın ve LED'i üzerine monte edin. LED'i Şekil 20'ye göre bağlayın.

Muhafaza kutusunu perde rayının soluna, elektrik prizine yakın bir yere monte etmek için uygun bir yer bulun. Motoru tekrar monte edin ve gevşeklik olmadığından emin olarak triger kayışında son bir gerilim testi yapın. (Şekil 39)

Şimdi monte edilmiş sistemimizi test etme zamanı. Güç adaptörünü takın ve nRF Connect uygulamanızı çalıştırın. Curtains. BluChip adlı bir cihaz keşfedeceksiniz.

Buna bağlanın, Bilinmeyen servis altındaki Bilinmeyen Karakteristik'e UINT8 1(Açık perdeler) değerini gönderin ve perdelerin açılmasını izleyin!

Sisteminizi başarıyla test ettiğinize göre, şimdi BluChip'te gösteriyi çalıştıran bazı kodların yapılandırılmasına bir göz atalım.

6. Adım: BluChip Ürün Yazılımı Yapılandırması

BluChip Ürün Yazılımı Yapılandırması
BluChip Ürün Yazılımı Yapılandırması
BluChip Ürün Yazılımı Yapılandırması
BluChip Ürün Yazılımı Yapılandırması
BluChip Ürün Yazılımı Yapılandırması
BluChip Ürün Yazılımı Yapılandırması

Otomatik Ev Perdesi ürün yazılımı projesi esas olarak 4 dosyadan oluşur: main.c, ahc.c, ble_ahc_service.c ve ble_ahc_service.h.

Elektronik ve donanımı oluştururken, otomatik sistemimizin doğruluğunu artırmak için limit anahtarları isteyip istemediğimizi seçme seçeneğimiz vardı.

ahc.h kodunda, LIMIT_SWITCHES için #define görebiliriz.

#define LIMIT_SWITCHES ile kodun derlenmesi ve yanıp sönmesi, perdelerin ne zaman açılıp kapandığını algılamak için her iki limit anahtarının da kullanılmasını sağlar.

Projeniz için limit anahtarlarını dahil etmemeyi seçtiyseniz, onu #undef LIMIT_SWITCHES olarak yeniden adlandırmak gerekir. Bu durumda, CURTAIN_OPEN_STEPS ve CURTAIN_CLOSE_STEPS değişkenlerinde perdenizin kat ettiği mesafeye ince ayar yapmanız gerekir. Perde hareket mesafesini uzatmak veya kısaltmak için bu değerleri ayarlayın.

Diğer seçenek, bir fotodirenç eklemek, #undef LDR'yi #define LDR'ye değiştirerek etkinleştirilebilir. LDR, fotodirenç olarak da bilinen Işığa bağlı direnç anlamına gelir. LDR'yi etkinleştirdiğimizde, fotodirenç dışarısının ne zaman aydınlık veya karanlık olduğunu bilir ve günün başında veya sonunda perdelerinizi kapatmanıza veya açmanıza yardımcı olur.

Limit Anahtarlarını ve Fotodirenci yapılandırmanın yanı sıra, perdeleri otomatik olarak açmanıza ve kapatmanıza izin veren diğer bazı ana kod bloklarına bir göz atalım.

ble_ahc_service.c ve ble_ahc_service.h dosyaları, telefonunuzdan BluChip'e veri ileten kodu içerir.

BluChip veriyi aldığında, 0 mı yoksa 1 mi gönderildiğine göre ayrıştırır. Ardından durum LED'ini etkinleştirir, motor hareketini gerçekleştirir ve ardından LED sinyallemenin tamamlanmasını devre dışı bırakır.

ahc.h'den ahc_init() işlevi, BluChip'teki tüm pinleri başlatarak ana döngünün başlangıcında çalıştırılır.

7. Adım: Özet

Sonuç olarak, bu, BLE'nin temellerini öğrenmek için son derece eğlenceli ve oldukça kolay bir projeydi. BluChip'in koparma modülünün bir devre tahtasına tam olarak oturması, ortalıkta bulunabilecek herhangi bir devre tahtasında hızlı bir şekilde prototip oluşturmayı gerçekten kolaylaştırır.

Otomatik perdelerimi oluşturduktan sonra, akıllı neopikseller, dijital saat oluşturmak için bir OLED, akıllı telefon kontrollü bir robot ve diğer birçok düşük güçlü elektronik proje dahil olmak üzere BluChip'i bağlamak için çeşitli başka şeyler düşündüğümü söyleyebilirim. kompakt kablosuz iletişime ihtiyaç duyacak fikirler!

Elektronik ve programlamaya yoğun ilgi duyan herkes, BluChip'in sunduğu şeylere ve projeleri daha da havalı projelere dönüştürmek için BLE'yi kurma ve uygulama kolaylığına hoş bir şekilde şaşıracaktır.

Şu andan itibaren, kullanışlı otomatik Ev Perdelerimin keyfini çıkarmaya geri döneceğim..

Önerilen: