İçindekiler:

IoT Lazer Pet Oyuncak: 5 Adım
IoT Lazer Pet Oyuncak: 5 Adım

Video: IoT Lazer Pet Oyuncak: 5 Adım

Video: IoT Lazer Pet Oyuncak: 5 Adım
Video: Green Laser Pointer Toy #shorts #toys #laser 2024, Kasım
Anonim
Image
Image

Zaman zaman mutfağım canı sıkılan bir köpeğe kurban oluyor. Sahipsiz bırakıldığında süpürgelikler, köpek yatakları, mutfak havluları, mutfak dolapları ve boya işleri zarar görür. Ben işteyken köpeğimi eğlendirmek için onu meşgul edecek bir IoT lazer evcil hayvan oyuncağı geliştirdim. Otomatik modda, bir lazer belirli bir süre boyunca zeminde rastgele bir düzende hareket eder, ardından evcil hayvanı ödüllendirmek için ikramlar düşer. Ödül önemlidir, bu yüzden zor lazer tarafından hüsrana uğramazlar ve onları oynamaya teşvik eder!

Bir akıllı telefon aracılığıyla manuel olarak kontrol edilebilir veya otomatik moda ayarlanabilir. Google Asistan kullanılarak sesle de etkinleştirilebilir (yalnızca otomatik mod).

Gereçler

Bu projeyi oluşturmak için ihtiyacınız olacak:

  • 2 mg995 servo
  • pan ve tilt sensörü montaj kiti
  • 1 mikro servo SG90
  • protein kepçe veya eşdeğeri
  • 650nm Kırmızı Lazer Diyot Modülü
  • düğümMCU
  • Tel
  • pcb
  • güç kaynağı (12v 5A)
  • DC-DC 24V/12V - 5V 5A Step Down Buck Dönüştürücü
  • lehim
  • havya
  • akıllı telefon/Google ev cihazı
  • tutkal tabancası
  • bant/yapıştırıcı

Aşağıdaki yazılım da gereklidir:

  • Arduino IDE ve esp8266 kütüphanesi
  • IFTTT
  • Blynk uygulaması ve kitaplıkları
  • Google Asistan

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
  1. Servo montaj kitini monte edin. Tabanını pcb'ye bantladım, uzun süreli olarak, mutfağımın üst kısmına vida ile sabitleyeceğim.
  2. Kablolama için devre şemasına bakın. Ayrıca zayıf lehimleme girişimimin resimlerine de bakın:)
  3. Lazeri pan/tilt servolarının üstüne yapıştırın ve ayrıca tedavi servosuna da bir kepçe yapıştırın (ayrıca tedavi servosu için ikinci bir kepçe kullandım ama ne olursa olsun kullanabilirsiniz).

Notlar:

Kullandığım servolar oldukça hantal, iş yükü az olduğu için daha azıyla kurtulabilirsiniz.

Her servo 1200mA'ya kadar çekebilir (küçük olan daha az çeker), nodeMCU için ~700mA daha ekler ve maksimum ~3100mA çekiş elde edersiniz. Bu yüzden 5A besleme kullandım. Başlangıçta bir devre tahtası ve 1A kaynağı kullandım, açtığımda nodeMCU sıfırlanmaya devam etti. Bu sorunu yaşıyorsanız, kurulumunuzun yeterli akım sağlayıp sağlamadığını iki kez kontrol edin.

2. Adım: Yazılım: Blynk Uygulaması

Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
Yazılım: Blynk Uygulaması
  1. Blynk Uygulamasını yükleyin:
  2. Bir hesap, yeni bir proje oluşturmak ve bir auth jetonu almak için adımları izleyin
  3. Proje oluştururken hedef cihazı seçin (nodeMCU)
  4. Projenin içine 5 widget ekleyeceksiniz:

    1. Lazeri açma/kapama düğmesi

      1. D0'a eşle
      2. geçiş moduna ayarla
    2. Eğim açısını ayarlamak için kaydırıcı (V0, 0-180 aralığı)
    3. Pan açısını ayarlamak için kaydırıcı (V1, 0-180 aralığı)
    4. Tedavi servosunu ayarlamak için kaydırıcı (V3, 0-180 aralığı)
    5. Otomatik modu açma/kapama düğmesi

      1. V2'ye eşle
      2. geçiş moduna ayarla

Adım 3: Yazılım: Arduino IDE

Yazılım: Arduino IDE
Yazılım: Arduino IDE
  1. Arduino IDE'yi kurun:
  2. blynk ve esp8266 kitaplıkları ekleyin

    1. Blynk: Blynk kitaplığı nasıl kurulur
    2. esp8266: Mybotic'e ESP8266'yı Arduino IDE kredisine nasıl yükleyebilirim?
  3. kod

    1. Kodu Github'dan indirin veya kopyalayın (aşağıdaki dosya da)
    2. Kodda, yönlendiriciniz (wifi) için ssid ve şifre belirlemeniz gerekecektir.
    3. Ayrıca Blynk için oluşturulan kimlik doğrulama jetonunu da ayarlamanız gerekecektir. Uygulama üzerinden e-posta yoluyla belirteci talep edebilirsiniz.
    4. Ayrıca servolarda minimum ve maksimum açıları ayarlamak isteyebilirsiniz, bunlar lazer her zaman zemini gösterecek şekilde ayarlanmıştır, ilk testler sırasında köpeklerin lazeri duvarlardan yukarı kovalayacağını keşfettim:) yeniden dekore etmek istemiyorsanız!
    5. Not: Bu projede Blynk bulutuna yapılan istek sayısını azaltmak için zamanlayıcılar kullanılır, saniyede çok fazla istek yapılırsa bağlantınız kesilir. Ayrıca loop() işlevinde yürütülen kod miktarını minimumda tutmak da önemlidir. Daha fazla bilgi için bu makaleye bakın. Otomatik mod, servoları her 2 saniyede bir, 10 kez rastgele hareket ettirecek ve ardından bir ikram bırakacak, bunu kendi ihtiyaçlarınıza göre ayarlayabilirsiniz.
    6. nodeMCU'yu usb ile bilgisayarınıza bağlayın.
    7. Araçlar altında doğru pano ve bağlantı noktasının seçildiğinden emin olun.
    8. Kodu nodeMCU'ya yükleyin (üst araç çubuğundaki sağ ok düğmesi).

Adım 4: Yazılım: IFTTT

Yazılım: IFTTT
Yazılım: IFTTT
Yazılım: IFTTT
Yazılım: IFTTT
Yazılım: IFTTT
Yazılım: IFTTT

Oyuncağı Google Asistan'ı kullanarak etkinleştirmek için IFTTT'yi kullanarak bir uygulama oluşturmanız gerekir.

  1. Bir hesap oluşturun
  2. "Uygulamalarım" > "Yeni Uygulama"ya gidin
  3. "Bu" üzerine tıklayın ve Google asistanını arayın
  4. "Basit bir cümle söyle"yi seçin
  5. Alanları uygun gördüğünüz gibi doldurun ve "tetikleyici oluştur"u seçin
  6. "O" üzerine tıklayın ve web kancalarını arayın
  7. "Web isteği yap"ı seçin
  8. url'yi BLYNK_IP/AUTH_TOKEN/update/V2?value=1 olarak ayarlayın

    1. Blynk IP'sini ülkenizden almak için komut satırına gidin ve şunu girin: ping cloud.blynk.cc
    2. URL'deki ip ve auth belirteci alanlarını güncelleyin. Şu şekilde görünmelidir:
  9. Uygulama kaydedildikten sonra lazeri Google Asistan'ı kullanarak test edebilirsiniz!

Adım 5: Son Düşünceler

Ve işte karşınızda, ses veya telefon kontrollü bir IoT evcil hayvan oyuncağı. Projeyi daha da geliştirmek için, devre için bir kasa ve ayrıca siz yokken evcil hayvanınızın oyununu izleyebilmeniz için bir web kamerası eklerdim. Ses kontrolü, oyuncağın ne kadar süre çalışacağını, yani "lazeri 5 dakika boyunca açın" belirlenerek geliştirilebilir. İkram kepçesini yeniden doldurmanın bir yolu da iyi olurdu. İnşa etmenin keyfini çıkarın ve ilerlemenizi aşağıya gönderin!

Önerilen: