İçindekiler:

ESP8266 Anakartı Kullanan YouTube Abone Sayacı: 9 Adım (Resimlerle)
ESP8266 Anakartı Kullanan YouTube Abone Sayacı: 9 Adım (Resimlerle)

Video: ESP8266 Anakartı Kullanan YouTube Abone Sayacı: 9 Adım (Resimlerle)

Video: ESP8266 Anakartı Kullanan YouTube Abone Sayacı: 9 Adım (Resimlerle)
Video: Adafruit io kullanımı w/ESP8266 | Arduino projesi nasıl geliştirilir? 2024, Kasım
Anonim
Image
Image
ESP8266 Kartı Kullanan YouTube Abone Sayacı
ESP8266 Kartı Kullanan YouTube Abone Sayacı
ESP8266 Kartı Kullanan YouTube Abone Sayacı
ESP8266 Kartı Kullanan YouTube Abone Sayacı

Sevgili dostlar, başka bir ESP8266 projesine hoş geldiniz Bugün, büyük LCD ekranlı ve 3D baskılı muhafazalı bir DIY YouTube abone sayacı oluşturacağız. Başlayalım!

Bu eğitimde bunu yapacağız: Kendin Yap YouTube abone sayacı. Birkaç hafta önce gözden geçirdiğim büyük I2C ekranını kullanarak abone sayısını büyük ve kolay uzaktan görülebilen rakamlarla gösteriyor. Tezgahın muhafazası, ahşap filament kullanılarak 3D basılmıştır. Bu sefer iki farklı ahşap filament kullandım ve renk kombinasyonunu gerçekten çok seviyorum! Bana göre çok havalı görünüyor. Motive kalmama yardımcı olması için gerçekten bir YouTube abone sayacı istedim! Video üretmek çok fazla zaman ve çaba gerektirir. 35.000 kişinin sizden video beklediğini bilmek, tüm bu insanları memnun etmek için daha çok çalışıyorsunuz, bu size büyük bir motivasyon veriyor. Yani, bu sayaç odaklanmama yardımcı olacak. Şimdi bu projeyi nasıl oluşturacağımızı görelim!

Adım 1: Tüm Parçaları Alın

Tüm Parçaları Alın
Tüm Parçaları Alın
Tüm Parçaları Alın
Tüm Parçaları Alın

Proje gerçekten basit ve inşa edilmesi kolaydır. Bu projeyi inşa etmek için gereken parçalar şunlardır:

  • Bir Wemos D1 mini kartı ▶
  • 20x4 LCD ekran ▶
  • Bazı teller ▶
  • Güç Bankası ▶

Elektroniklerin maliyeti 10 dolardan az

Muhafazayı 3B yazdıracaksanız, iki rulo ahşap filamente de ihtiyacınız olacak. FormFutura'nın Easy Wood Birch ve Coconut filamentlerini kullandım.

Hindistan cevizi lifi ▶

Huş ağacı filamanı ▶

Muhafaza için yaklaşık 100 gr malzemeye ihtiyacımız var, bu yüzden bize 5$ civarında mal olacak. Yani projenin toplam maliyeti 15$ civarında.

2. Adım: Wemos D1 Mini Board

Image
Image

Wemos D1 mini, yaklaşık 5$'a mal olan harika bir yeni tahta!

Tahta çok küçük. 160 MHz'e kadar bir frekansta çalışabilen ESP8266 EX çipini kullanır. Programlarınızı depolamak için çok fazla belleğe, 64Kb talimat RAM'ine, 96Kb veri RAM'ine ve 4MB flash belleğe sahiptir. WiFi bağlantısı, Havadan güncellemeler ve çok daha fazlasını sunar. D1 mini kart, 11 GPIO pini ve bir analog giriş sunar. Küçük boyutuna rağmen harika olduğunu düşündüğüm bu pano için birçok kalkan geliştiriliyor, çünkü bu şekilde harika Nesnelerin İnterneti projelerini kolayca inşa edebiliriz! Elbette bu kartı Arduino IDE kullanarak programlayabiliriz.

Kart, küçük boyutuna rağmen performans açısından diğer tüm Arduino uyumlu kartları geride bırakıyor. ESP8266 ile Arduino arasında bir karşılaştırma yaptım, bu adımda eklediğim videoyu inceleyebilirsiniz. Bu kart Arduino Uno'dan 17 kat daha hızlı! Ayrıca en hızlı Arduino kartı olan Arduino Due'dan daha iyi performans gösterir. Tüm bunlar, 6 dolardan daha az bir maliyetle! Etkileyici.

Buradan alın ▶

Adım 3: 20x4 Karakterli LCD Ekran

Image
Image
Prototip Devresini Oluşturun
Prototip Devresini Oluşturun

Bu ekranı bir süre önce Banggood.com'da keşfettim. Ucuz olması, 7$ civarında olması, büyük olması ve I2C arayüzünü kullanması nedeniyle dikkatimi çekti. I2C arayüzünü kullandığı için Arduino ile kullanımı son derece kolaydır. Sadece iki kabloyu bağlamamız gerekiyor. Bazı projelerin prototiplerini oluşturmak için büyük, bağlanması kolay bir ekrana ihtiyacım vardı ve I2C arayüzünü kullanan tek ekran bu küçük OLED ekrandı. Artık projelerimizde kullanmak için büyük bir I2C ekranımız var! Harika!

Gördüğünüz gibi, ekran gerçekten büyük. Satır başına 20 karakter görüntüleyebilir ve 4 satırı vardır. Grafik çizemez, sadece karakterler çizebilir. Arkada, ekranda lehimlenmiş küçük bir kara tahta bulabiliriz. Kara tahta üzerinde LCD'nin kontrastını kontrol eden bir trimpot vardır.

Buradan alın ▶

Adım 4: Prototip Devresini Oluşturun

Prototip Devresini Oluşturun
Prototip Devresini Oluşturun
Prototip Devresini Oluşturun
Prototip Devresini Oluşturun

Bağlantı daha kolay olamazdı.

LCD Ekranı Bağlama

  • Ekranın Vcc'si Wemos D1 mini'nin 5V çıkışına gidiyor
  • Ekranın GND'si Wemos GND'ye gidiyor
  • Ekranın SDA pini Wemos Board'un D2 pinine gider
  • Ekranın SCL pini Wemos Board'un D1 pinine gider

Bu kadar! Şimdi projeyi çalıştırırsak, birkaç saniye sonra panonun WiFi ağına bağlandığını ve ekranda bu kanalın Abonelerinin sayısının büyük sayılarla görüntülendiğini görebiliriz. Proje beklendiği gibi çalışıyor, böylece devam edebiliriz.

Adım 5: Muhafazayı 3B Bastırın

Muhafazayı 3B Bastırın
Muhafazayı 3B Bastırın
Muhafazayı 3B Bastırın
Muhafazayı 3B Bastırın
Muhafazayı 3B Bastırın
Muhafazayı 3B Bastırın

Bir sonraki adım, muhafazayı 3B yazdırmaktır. Bu kasayı Fusion 360 ücretsiz yazılımını kullanarak tasarladım.

Pek çok farklı 3d tasarım yazılımı denedim ama Fusion 360 aşağıdaki nedenlerden dolayı favorim oldu.

  • Çok güçlüdür ve ücretsizdir
  • Kullanımı nispeten kolaydır
  • Bu yazılımın nasıl kullanılacağına dair çevrimiçi birçok öğretici var

Bu muhafazayı tasarlamam yaklaşık bir saatimi aldı ve 3D tasarım ve 3D baskı konusunda çok yeni olduğumu aklımdan çıkardım. Tasarım dosyalarını Thingiverse'e yükledim ve ücretsiz olarak indirebilirim.

İki parça için Formfutura'nın EasyWood Coconut filamentini ve ön kısım için Huş ağacı filamentini kullandım.

Buradan alın ▶

Adım 6: 3B Baskıyı Bitirin

3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin
3D Baskıyı Bitirin

Kolay ve hızlı bir baskı oldu. Wanhao i3 3d yazıcımı kullanarak tüm parçaları yazdırmam yaklaşık 5 saatimi aldı. ama sonuç harikaydı!

Parçalar basıldıktan sonra ince zımpara kağıdı ile zımparaladım ve ardından üzerlerine ahşap vernik uyguladım. Her renk için farklı ahşap verniği kullandım ve küçük bir bez parçası ile uyguladım.

Sonra verniği 24 saat kurumaya bıraktım ve sonuç harika!

7. Adım: Her Şeyi Bir Araya Bağlamak

Her Şeyi Birbirine Bağlamak
Her Şeyi Birbirine Bağlamak
Her Şeyi Birbirine Bağlamak
Her Şeyi Birbirine Bağlamak
Her Şeyi Birbirine Bağlamak
Her Şeyi Birbirine Bağlamak

Vernik kuruduktan sonra sıra elektronik parçaları muhafazanın içine koymaya geldi.

Ön parçayı yerine yapıştırdım ve ardından ekranı tam konumuna yerleştirdim.

Ekranı da yerinde tutmak için biraz sıcak tutkal kullandım. Daha sonra kullandığımız Wemos D1 mini pinlerine dişi kabloları lehimledim ve ardından ekrana bağladım. Her şeyin yolunda gittiğini görmek için projeyi test ettim ve ardından tahtayı yerine yapıştırmak için sıcak tutkal kullandım. Son adım, kasanın arka kapağını yapıştırmaktı!

Projemiz hazır ve çok havalı görünüyor! Bence çoğu 3D baskılı nesnenin göründüğü gibi plastik görünmüyor! Nasıl ortaya çıktığını gerçekten çok seviyorum. Şimdi projenin kodunu görelim.

Adım 8: Projenin Kodu

Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu

Proje, YouTube API'sini kullanarak belirli bir YouTube kanalının abone sayısını alır. Bir google sunucusuna istek gönderiyoruz ve sunucu, abone sayısıyla birlikte bir JSON dosyasıyla yanıt veriyor. YouTube API'sini kullanabilmek için bir API Anahtarına ihtiyacımız var.

Önce bunu yapalım. Bu nedenle, Google Hesabımıza giriş yaptık ve geliştirici konsolunu ziyaret ettik. (https://console.developers.google.com) Yeni bir proje oluşturmak için tıklıyoruz, ona bir isim veriyoruz ve oluştur'a basıyoruz. Ardından seçilen yeni proje ile YouTube Veri API'sini etkinleştiriyoruz. Son adım, Kimlik Bilgileri oluşturmaktır. Credentials tuşuna basıyoruz ve ardından çıkan pencereden yeni bir API anahtarı oluşturmayı seçiyoruz. Kapat'a basıyoruz ve işimiz bitiyor. Daha fazla ayrıntı için ilk adıma ekli videoyu izleyin.

Şimdi projenin koduna hızlıca bir göz atalım. Öncelikle bazı kütüphaneleri indirmemiz gerekiyor. ESP8266 yongasıyla çalışan LiquidCrystal_I2C kitaplığının bir sürümüne ihtiyacımız var. Ayrıca mükemmel ArduinoJSON kütüphanesine ihtiyacımız var.

  1. Arduino JSON:
  2. Ekran Kitaplığı:

Daha sonra bazı değişkenleri tanımlamamız gerekiyor. WiFi bağlantısı için ssid ve şifreyi belirledik. Ayrıca oluşturduğumuz API anahtarını da uygun değişkene girmemiz gerekiyor. Son olarak abone sayısını kontrol etmek istediğimiz YouTube kanalının kanal kimliğini girmemiz gerekiyor.

const char* ssid = "SSID"; // yerel networkconst SSID'si char* password = "PASSWORD"; // Ağdaki parola String apiKey = "YOURAPIKEY"; //API ANAHTAR Dize channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // YouTube kanal kimliği

Kod nispeten basittir. İlk önce ekranı başlatıyoruz ve ekran için bazı özel karakterler oluşturuyoruz. Büyük rakamlar üretmek için bu karakterlere ihtiyacımız var. Unutmayın, kullandığımız ekran karakter LCD ekran, grafik gösteremez. Sadece 4 satır metin görüntüleyebilir. Büyük sayılar oluşturmak için iki satır metin ve bazı özel karakterler kullanıyoruz!

geçersiz kurulum() { Serial.begin(9600); int imleçKonum=0;

lcd.başla(20, 4);

lcd.setCursor(0, 0); lcd.print("Bağlanıyor…");

createCustomChars();

WiFi.begin(ssid, şifre); while (WiFi.status() != WL_CONNECTED) { gecikme(500); lcd.setCursor(cursorPosition, 1); lcd.print("."); imleçKonum++; }

Sonra WiFi'ye bağlanıyoruz ve her dakika abone alıyoruz. Abone sayısını almak için bir google sunucusuna istek gönderiyoruz ve ArduinoJSON kütüphanesini kullanarak yanıtladığı JSON cezasını ayrıştırıyoruz. Abone sayısını bir değişkene kaydediyoruz. Döngü fonksiyonunda abone sayısında bir değişiklik olup olmadığını kontrol ediyoruz, ekranı temizliyoruz ve yeni numarayı yazdırıyoruz.

void loop() { int uzunluk; String aboneleriString = String(getSubscribers()); if(aboneler != abonelerÖnce) { lcd.clear(); uzunluk = abonelerString.length(); printSubscribers(uzunluk, abonelerString); abonelerBefore = aboneler; } gecikme(60000); }

Her zaman olduğu gibi, bu Eğitilebilir Tabloda ekli projenin kodunu bulabilirsiniz. Kodu zaman zaman güncellediğim için, kodun en son sürümü için lütfen projenin web sitesini ziyaret edin:

9. Adım: Nihai Sonuç

Son sonuç
Son sonuç
Son sonuç
Son sonuç

Son bir düşünce olarak, bu projeyi gerçekten çok seviyorum. Yapımı gerçekten çok kolay ve ucuzdu. Elbette iyileştirmeler için yer var. Muhafazanın içine bir pil veya hatta ses ekleyebiliriz. Wemos pil kalkanıyla birlikte 18650 lityum pil eklemeyi düşünüyorum. Bu projede yapmadım çünkü Wemos Batarya kalkanını biraz daha test etmem gerekiyor. Bu küçük kalkan, Lityum Pilleri şarj edebilir ve koruyabilir, böylece projelerimize şarj edilebilir piller eklemenin kolay bir yolunu sunar.

Bu proje hakkındaki görüşlerinizi duymak isterim. Görünüşünü beğendiniz mi ve bu projede herhangi bir iyileştirme düşünebiliyor musunuz? Lütfen yorumlarınızı aşağıdaki yorumlar bölümüne gönderin.

Önerilen: