İçindekiler:

Bluetooth Kontrollü NeoPixel Yılbaşı Ağacı: 5 Adım
Bluetooth Kontrollü NeoPixel Yılbaşı Ağacı: 5 Adım

Video: Bluetooth Kontrollü NeoPixel Yılbaşı Ağacı: 5 Adım

Video: Bluetooth Kontrollü NeoPixel Yılbaşı Ağacı: 5 Adım
Video: Led Işıklı Oda 😫🤤#Shorts 2024, Kasım
Anonim

Bu yıl Noel ağacınıza IoT'yi (Nesnelerin İnterneti) nasıl ekleyeceğinizi merak ettiniz mi? Bu tamamen mümkün! Ben şahsen bu projeye "ArduXmas" adını verdim ve Bluetooth üzerinden bir Arduino kartı tarafından kontrol edilen bir RGB NeoPixel led şeritten oluşuyor. Bu, yeni başlayanlar için uygun bir proje ve Arduino e IoT'ye harika bir giriş, bu yüzden araçlarınızı alın ve yapalım!

Gereçler:

Bu proje için ihtiyacınız olacak:

  • Arduino (Nano kullandım, ancak herhangi bir sürüm çalışacaktır, sadece kartınıza uygun şekilde güç verdiğinizden emin olun)
  • NeoPixel WS2812b LED şerit
  • HC-06 Bluetooth modülü
  • 5V 2A DC güç kaynağı
  • DC Varil Güç Jakı/Konnektörü
  • Bileşenleri tutmak için fenolit plaka
  • Muhafaza kutusu
  • Blynk uygulamasının yüklü olduğu Android akıllı telefon

Adım 1: Devre

Devre
Devre
Devre
Devre
Devre
Devre

Bu projenin elektroniği çok basittir. Arduino, Bluetooth modülü ve LED şerit 5V besleme ile çalışır (tüm GND'lerin birbirine bağlı olduğundan emin olun). Arduino kartına 5V bağlantı noktasından güç verilir (DİKKAT: Dikkatli olmazsanız Arduino'ya 5V bağlantı noktası kullanarak güç vermek, kartınıza zarar verebilir. 5V ayarlı bir güç kaynağı kullandığınızdan emin olun ve +5V'yi karıştırmayın. ve GND kabloları). Güç kaynağınız tarafından sağlanan akım, LED şeridinizin uzunluğuna bağlı olacaktır. Tam parlaklığın %40'ı ile 180 led kullanıyorum ve 2 amper iyi tutuyor, ancak her zaman gerekli akımı sağladığınızdan emin olun (Unutmayın: Her RGB LED yaklaşık 20mA + 20mA + 20mA = 60mA kullanır).

HC-06 Bluetooth modülü Arduino'nun 0 ve 1 (RX, TX) pinlerine bağlıdır, sadece bu modülü kullanmak için HC-06'nın RX pininin Arduino'nun TX'ine ve HC-06'nın TX pininin bağlı olduğunu unutmayın. Arduino'nun RX'ine bağlı. Bunlar kartın seri bağlantı pinleridir ve akıllı telefondan komutları almak için kullanılır. Modülü kolayca açıp/kapatmak için bir anahtar ekledim, böylece kartı programlarken kapatabilirim, aksi takdirde bilgisayar Arduino ile iletişim kuramaz.

Devrede LED şeride giden data çıkış pini digital pin 2'dir, fakat herhangi bir PWM pinini seçip kodda ona göre değiştirebilirsiniz (UNUTMAYIN: NeoPixel'in LED şeritleri data sinyali için bir yöne sahiptir. şeridinizdeki ok simgeleri).

Bağlantıları yapmak için, gelecek yıl lehimlemek ve sökmek için delikli bir fenolit plaka kullanıyorum.

2. Adım: Muhafaza

Kuşatma
Kuşatma
Kuşatma
Kuşatma
Kuşatma
Kuşatma

Muhafaza için, bileşenlere güzel bir şekilde uyan eski bir dizüstü bilgisayarın güç kaynağı kasasını kullanıyorum. Her şeyi sıcak tutkalla sabitleyin ve Arduino'nun USB bağlantı noktası, HC-06'nın anahtarı, DC konektörü ve LED şerit konektörü için delikler bırakın.

3. Adım: Blynk Uygulaması

Blynk Uygulaması
Blynk Uygulaması
Blynk Uygulaması
Blynk Uygulaması
Blynk Uygulaması
Blynk Uygulaması

Arduino ile iletişim kurmak için Blynk uygulamasını kullanıyoruz. Blynk ile akıllı telefondan donanıma veya tam tersi şekilde veri göndermek için kolayca arayüzler oluşturabilirsiniz, ayrıca tek bir kod satırını değiştirmeden mikrodenetleyicinin bağlantı noktalarını doğrudan kontrol etmek de mümkündür!

YASAL UYARI: Bluetooth özelliği hala Beta'da olduğundan ve henüz IOS için mevcut olmadığından, bu uygulama maalesef yalnızca Android akıllı telefonlar için çalışacaktır, bu da projeyi bağımsız bir uygulama olarak dışa aktarmanın mümkün olmayacağı anlamına gelir.

Uygulamanızı, e-posta gelen kutunuzda projeniz için kimlik doğrulama belirtecini alacak şekilde ayarlayın (bu yetkilendirme daha sonra Arduino'nun kodunda gerekli olacaktır). Blynk'in web sitesinde bununla ilgili adım adım harika bir eğitim var, göz atın:

Bu proje için önceden kodlanmış 2 ışık animasyonunu açmak için iki düğme kullanıyorum; LED şeridin rengini ayarlamak için bir RGB bileşeni; parlaklığı kontrol etmek için bir kaydırıcı ve Arduino'ya bağlanmak için bir bluetooth bileşeni. Her bir bileşenin nasıl yapılandırıldığını görmek için resimleri kontrol edin. Blynk'in Sanal Pinlerini kullandığımız için bu proje için kullanılan pinlere dikkat edin, bu uygulamadan donanıma veri göndermeyi sağlayan güzel bir özellik. Sanal Pinler hakkında daha fazla bilgi için:

Adım 4: Arduino Kodu

Arduino Kodu
Arduino Kodu

Biraz kod yazmanın zamanı geldi! Verdiğim dosya, projeyi yürütmek için temel yapıya sahip, ancak istediğiniz gibi değiştirebilirsiniz. Ancak düzgün çalışması için, auth karakterini e-posta gelen kutunuzda aldığınız belirteçle değiştirmeniz gerekir. Ayrıca kurulumunuza göre LED_PIN ve LED_COUNT değişkenlerini değiştirmeyi unutmayın.

LED'lerin davranışı, uygulama tarafından bir istek alındığında değişen anim değişkeni tarafından belirlenir. Animasyonlar için istediğiniz kadar olasılık ekleyebilirsiniz, sadece işlevinizi toggleAnimation() işlevindeki anahtar yapısına ekleyin ve kodun en üstüne karşılık gelen Sanal Pin okumasını atayın.

loop() içinde çalışan animasyon, 100ms aralıklarla çalışan bir zamanlayıcıya bağlıdır. Bu gereklidir ve değiştirmenizi önermiyorum, çünkü Blynk.run() komutuna müdahale eder ve Blynk kitaplığı kısa bir süre içinde çok fazla istek algılarsa bağlantı kapanır.

Önerilen: