İçindekiler:

Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer: 7 Adım
Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer: 7 Adım

Video: Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer: 7 Adım

Video: Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer: 7 Adım
Video: App Inventor2-Ders90-Arduinoda Bluetooth Kontrolle Led Yakma 2024, Kasım
Anonim
Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer
Bluetooth ile Kontrol Edilen DIY Akıllı LED Dimmer

Bu Eğitilebilir Tablo, akıllı bir dijital dimmerin nasıl oluşturulacağını açıklar. Dimmer, evlerde, otellerde ve diğer birçok binada kullanılan yaygın bir ışık anahtarıdır. Kısma anahtarlarının eski sürümleri manueldi ve tipik olarak ışık seviyesini kontrol etmek için bir döner anahtar (potansiyometre) veya düğmeler içeriyordu. Bu Eğitim Tablosu, ışık yoğunluğunu kontrol etmenin iki yolu olan bir dijital dimmerin nasıl oluşturulacağını açıklar; bir akıllı telefon ve fiziksel düğmeler. Kullanıcının hem bir düğmeden hem de akıllı telefondan parlaklığı artırabilmesi veya azaltabilmesi için iki mod birlikte sorunsuz bir şekilde çalışabilir. Proje, bir SLG46620V CMIC, HC-06 Bluetooth modülü, basmalı düğmeler ve LED'ler kullanılarak uygulanmaktadır.

Ayrık proje bileşenlerini en aza indirmeye yardımcı olduğu için SLG46620V CMIC'yi kullanacağız. GreenPAK™ IC'ler küçüktür ve çok kullanımlı bileşenlere sahiptir, bu da bir tasarımcının bileşenleri azaltmasına ve yeni özellikler eklemesine olanak tanır. Ek olarak, proje maliyeti daha sonra azalır.

SLG46620V ayrıca bir SPI bağlantı arayüzü, PWM blokları, FSM ve küçük bir çipte birçok faydalı ek blok içerir. Bu bileşenler, kullanıcının bir Bluetooth cihazı veya duvar düğmeleri aracılığıyla kontrol edilebilen, uzun süreli karartmayı destekleyen ve bir mikro denetleyici veya pahalı bileşenler kullanmadan seçilebilir özelliklerin eklenmesini sağlayan pratik bir akıllı karartıcı oluşturmasına olanak tanır.

Aşağıda, çözümün Bluetooth üzerinden kontrol edilen akıllı bir LED dimmer oluşturmak için nasıl programlandığını anlamak için gereken adımları açıkladık. Ancak, sadece programlamanın sonucunu almak istiyorsanız, halihazırda tamamlanmış GreenPAK Tasarım Dosyasını görüntülemek için GreenPAK yazılımını indirin. GreenPAK Geliştirme Kitini bilgisayarınıza takın ve Bluetooth ile kontrol edilen akıllı LED dimmeri oluşturmak için programa basın.

Adım 1: Proje Özellikleri ve Arayüz

Proje Özellikleri ve Arayüz
Proje Özellikleri ve Arayüz

Proje özellikleri:

1. İki kontrol yöntemi; mobil uygulama ve gerçek düğmeler.

2. Işık için yumuşak açma-kapama geçişi. Bu, tüketicinin gözleri için daha sağlıklıdır. Ayrıca otellere ve diğer hizmet sektörlerine hitap eden daha lüks bir his verir.

3. Uyku modu özelliği. Bu, bu uygulama için bir katma değer olacaktır. Kullanıcı bu modu etkinleştirdiğinde, ışık parlaklığı 10 dakika içinde kademeli olarak azalır. Bu, uykusuzluk çeken insanlara yardımcı olur. Çocuk yatak odaları ve perakende mağazaları için de kullanışlıdır (kapanış saati).

Proje Arayüzü

Proje arayüzünde GreenPAK girişleri olarak kullanılan dört basma düğmesi bulunur:

AÇIK\KAPALI: ışığı AÇIK\KAPALI konuma getirin (yumuşak başlatma\durdurma).

YUKARI: ışık seviyesini artırın.

Aşağı: ışık seviyesini azaltın.

Uyku Modu: uyku modunu etkinleştirerek, ışık parlaklığı 10 dakikalık bir süre içinde kademeli olarak azalır. Bu, kullanıcıya uyumadan önce zaman tanır ve ışığın bütün gece AÇIK kalmayacağını garanti eder.

Sistem, harici bir LED'e ve uyku modu LED göstergesine iletilecek olan bir PWM sinyali verecektir.

GreenPAK tasarımı 4 ana bloktan oluşmaktadır. Birincisi, Bluetooth modülünden veri alan, siparişleri çıkaran ve bunları bir kontrol ünitesine gönderen bir UART alıcısıdır. İkinci blok, UART alıcısından veya harici butonlardan gelen emirleri alan bir kontrol ünitesidir. Kontrol ünitesi gerekli eyleme karar verir (AÇMA/KAPAMA, Artırma, azaltma, uyku modunu etkinleştir). Bu birim, LUT'ler kullanılarak uygulanır.

Üçüncü blok CLK jeneratörlerini besler. Bu projede, PWM'yi kontrol etmek için bir FSM sayacı kullanılmıştır. FSM'nin değeri 3 frekansın (yüksek, orta ve düşük) verdiği sıraya göre (yukarı, aşağı) değişecektir. Bu bölümde üç frekans üretilecek ve gerekli CLK, gerekli sıraya göre FSM'ye geçecektir; Açma/kapama işleminde, yüksek frekans, yumuşak başlatma/durdurma için FSM'ye geçer. Karartma sırasında orta frekans geçer. Düşük frekans, FSM değerini daha yavaş azaltmak için uyku modundan geçer. Ardından, ışık parlaklığı da yavaş yavaş azalır. Dördüncü blok, harici LED'lere darbeler üreten PWM birimidir.

2. Adım: GreenPAK Tasarımı

GreenPAK kullanarak bir dimmer oluşturmanın en iyi yolu, 8-bit FSM ve bir PWM kullanmaktır. SLG46620'de FSM1, 8 bit içerir ve PWM1 ve PWM2 ile kullanılabilir. Bluetooth modülü bağlı olmalıdır, yani SPI paralel çıkışı kullanılmalıdır. 0 ila 7 arasındaki SPI paralel çıkış bitleri, DCMP1, DMCP2 ve LF OSC CLK, OUT1, OUT0 OSC çıkışları ile birleştirilir. PWM0, çıktısını FSM0'dan (16 bit) alır. FSM0, 255'te durmaz; 16383'e kadar çıkar. Sayaç değerini 8 bitte sınırlamak için başka bir FSM eklenir; FSM1, sayacın 0 veya 255'e ne zaman ulaştığını bilmek için bir işaretçi olarak kullanılır. PWM darbesini oluşturmak için FSM0 kullanıldı. Aynı değere sahip olmak için iki FSM değerinin aynı anda değiştirilmesi gerektiğinden, her iki FSM'de de önceden tanımlanmış, sınırlı, seçilebilir bir CLK'ya sahip olan tasarım biraz karmaşık hale gelir. CNT1 ve CNT3, CLK'yı her iki FSM'ye geçirmek için aracılar olarak kullanılır.

Tasarım aşağıdaki bölümlerden oluşmaktadır:

- UART alıcısı

- Kontrol ünitesi

- CLK Jeneratörleri ve çoklayıcı

-PWM

Adım 3: UART Alıcısı

UART Alıcısı
UART Alıcısı

Öncelikle HC06 Bluetooth modülünü kurmamız gerekiyor. HC06, iletişim için UART protokolünü kullanır. UART, Evrensel Asenkron Alıcı / Verici anlamına gelir. UART, verileri paralel ve seri biçimler arasında ileri geri dönüştürebilir. Her ikisi de ayrı olarak saatlenen bir seriden paralele alıcı ve bir paralelden seriye dönüştürücü içerir. HC06'da alınan veriler GreenPAK cihazımıza iletilecektir. Pin 10 için boş durum YÜKSEK'tir. Gönderilen her karakter, bir mantık DÜŞÜK başlangıç biti ile başlar, ardından yapılandırılabilir sayıda veri biti ve bir veya daha fazla mantık YÜKSEK durdurma biti gelir.

HC06, 1 BAŞLANGIÇ biti, 8 veri biti ve bir STOP biti gönderir. Varsayılan baud hızı 9600'dür. Veri baytını HC06'dan GreenPAK SLG46620V'nin SPI bloğuna göndereceğiz.

SPI bloğunda START veya STOP bit kontrolü bulunmadığından, bu bitler bunun yerine SPI saat sinyalini (SCLK) etkinleştirmek ve devre dışı bırakmak için kullanılır. Pin 10 DÜŞÜK olduğunda, IC bir BAŞLANGIÇ biti almıştır, bu nedenle iletişimin başlangıcını belirlemek için PDLY düşen kenar dedektörünü kullanırız. Bu düşen kenar dedektörü, SCLK sinyalinin SPI bloğunu saatlemesini sağlayan DFF0'ı izler.

Baud hızımız saniyede 9600 bittir, bu nedenle SCLK periyodumuz 1/9600 = 104 µs olmalıdır. Bu nedenle OSC frekansını 2 MHz olarak belirledik ve frekans bölücü olarak CNT0 kullandık.

2 MHz - 1 = 0,5 µs

(104 µs / 0,5 µs) - 1 = 207

Bu nedenle, CNT0 sayaç değerinin 207 olmasını istiyoruz. Verilerin kaçırılmamasını sağlamak için, SPI bloğunun doğru zamanda saatlenmesi için SPI saatine yarım saat döngü gecikmesi eklenir. Bu, CNT6, 2-bit LUT1 ve OSC bloğunun Harici Saati kullanılarak gerçekleştirilir. CNT6'nın çıkışı, DFF0 saatlendikten sonra 52 µs'ye kadar yükselmez; bu, SCLK periyodumuz olan 104 µs'nin tam olarak yarısıdır. Yüksek olduğunda, 2-bit LUT1 AND geçidi 2 MHz OSC sinyalinin EXT'ye geçmesine izin verir. Çıkışı CNT0'a bağlı olan CLK0 girişi.

Adım 4: Kontrol Ünitesi

Kontrol ünitesi
Kontrol ünitesi

Bu bölümde komutlar, UART alıcısından alınan bayta göre veya harici butonlardan gelen sinyallere göre yürütülecektir. 12, 13, 14, 15 pinleri giriş olarak başlatılır ve harici düğmelere bağlanır.

Her pin dahili olarak bir VEYA kapısı girişine bağlanırken, kapının ikinci girişi Bluetooth aracılığıyla akıllı telefondan gelen ve SPI Paralel çıkışında görünecek olan ilgili sinyale bağlanır.

DFF6, 2 bit LUT4'ten gelen yükselen kenar ile çıkışının yükseğe değiştiği uyku modunu etkinleştirmek için kullanılırken, DFF10'un aydınlatma durumunu korumak için kullanıldığı ve çıkışının düşükten yükseğe değiştiği ve her yükselen kenar geldiğinde çıkışının düşükten yükseğe değiştiği 3-bit LUT10 çıkışından.

FSM1, 8 bitlik bir sayaçtır; değeri 0 veya 255'e ulaştığında çıkışına yüksek bir darbe verir. Sonuç olarak, çıkışı DFF'leri sıfırladığı ve DFF10 durumunu açıktan kapalıya değiştirdiği için FSM0'ın (16-bit) 255 değerini aşmasını önlemek için kullanılır ve bunun tersi, aydınlatma +, - düğmeleriyle kontrol ediliyorsa ve maksimum/minimum seviyeye ulaşılmışsa.

FSM1 girişlerine bağlı sinyaller devam eder, yukarı, senkronize etmek ve her iki sayaçta da aynı değeri korumak için FSM0'dan P11 ve P12'ye ulaşır.

Adım 5: CLK Üreteçleri ve Çoklayıcı

CLK Jeneratörleri ve Çoklayıcı
CLK Jeneratörleri ve Çoklayıcı

Bu bölümde, üç frekans üretilecektir, ancak herhangi bir zamanda sadece bir tanesi FSM'leri saatleyecektir. İlk frekans, 0 ile P0 arasındaki matristen alınan RC OSC'dir. İkinci frekans, 0'dan P1'e kadar olan matristen de getirilen LF OSC'dir; üçüncü frekans CNT7 çıkışıdır.

3-bit LUT9 ve 3-bit LUT11, 3-bit LUT14 çıkışına göre bir frekansın geçmesine izin verir. Bundan sonra, seçilen saat CNT1 ve CNT3 aracılığıyla FSM0 ve FSM1'e iletir.

Adım 6: PWM

PWM
PWM

Son olarak FSM0 değeri çıkış olarak başlatılan ve harici LED'lere bağlanan pin 20 üzerinden görünecek PWM sinyaline dönüşür.

7. Adım: Android Uygulaması

Android uygulaması
Android uygulaması
Android uygulaması
Android uygulaması
Android uygulaması
Android uygulaması

Android uygulaması, gerçek arayüze benzer bir sanal kontrol arayüzüne sahiptir. Beş düğmesi vardır; AÇIK\KAPALI, YUKARI, AŞAĞI, Uyku modu ve Bağlan. Bu Android Uygulaması, tuş basışlarını komuta dönüştürebilecek ve komutları gerçekleştirilecek Bluetooth modülüne gönderecektir.

Bu uygulama, herhangi bir programlama deneyimi gerektirmeyen MIT App Inventor ile yapılmıştır. App Inventor, geliştiricinin programlama bloklarını bağlayarak bir web tarayıcısı kullanarak Android OS cihazları için bir uygulama oluşturmasına olanak tanır. Bilgisayarımdan Projeler -> Projeyi içe aktar (.aia) seçeneğine tıklayarak ve bu Uygulama Notu ile birlikte verilen.aia dosyasını seçerek Uygulamamızı MIT App Inventor'a aktarabilirsiniz.

Android Uygulamasını oluşturmak için yeni bir proje başlatılmalıdır. Beş düğme gereklidir: biri Bluetooth cihazları için bir liste seçici ve diğerleri kontrol düğmeleridir. Bir Bluetooth istemcisi de eklememiz gerekiyor. Şekil 6, Android Uygulamamızın kullanıcı arayüzünün ekran görüntüsüdür.

Butonları ekledikten sonra her butona bir yazılım fonksiyonu atayacağız. Butonların durumunu temsil etmek için 4 bit kullanacağız. Her düğme için bir bit, bu nedenle, düğmeye bastığınızda, Bluetooth aracılığıyla fiziksel devreye belirli bir sayı gönderilecektir.

Bu sayılar Tablo 1'de gösterilmiştir.

Çözüm

Bu Eğitilebilir Tablo, iki şekilde kontrol edilebilen bir akıllı karartıcıyı açıklar; bir Android uygulaması ve gerçek düğmeler. GreenPAK SLG46620V içinde, bir ışığın PWM'sini artırmak veya azaltmak için proses akışını kontrol eden dört ayrı blok ana hatlarıyla belirtilmiştir. Ek olarak, bir Uyku modu özelliği, uygulama için mevcut olan ekstra modülasyon örneği olarak özetlenmiştir. Gösterilen örnek düşük voltajdır, ancak daha yüksek voltaj uygulamaları için değiştirilebilir.

Önerilen: