Mundarija:

ESP8266 taxtasidan foydalangan holda YouTube obunachilari hisoblagichi: 9 qadam (rasmlar bilan)
ESP8266 taxtasidan foydalangan holda YouTube obunachilari hisoblagichi: 9 qadam (rasmlar bilan)

Video: ESP8266 taxtasidan foydalangan holda YouTube obunachilari hisoblagichi: 9 qadam (rasmlar bilan)

Video: ESP8266 taxtasidan foydalangan holda YouTube obunachilari hisoblagichi: 9 qadam (rasmlar bilan)
Video: Extract GPS location in Arduino with NEO-6m or NEO-7M module 2024, Iyul
Anonim
Image
Image
ESP8266 kartasidan foydalangan holda YouTube obunachilari hisoblagichi
ESP8266 kartasidan foydalangan holda YouTube obunachilari hisoblagichi
ESP8266 kartasidan foydalangan holda YouTube obunachilari hisoblagichi
ESP8266 kartasidan foydalangan holda YouTube obunachilari hisoblagichi

Aziz do'stlar, yana bir ESP8266 loyihasiga xush kelibsiz, bugun biz katta LCD displeyli va 3D bosilgan korpusli DIY YouTube abonent hisoblagichini qurmoqchimiz. Qani boshladik!

Ushbu qo'llanmada biz buni qilamiz: YouTube -da DIY abonentlari hisoblagichi. U bir necha hafta oldin ko'rib chiqqan katta I2C displeyidan foydalanadi va abonentlar sonini masofali raqamlardan ko'rish oson bo'ladi. Hisoblagich korpusi yog'och filament yordamida 3D bosilgan. Men bu safar ikki xil yog'och filamanlardan foydalandim va rang kombinatsiyasini juda yaxshi ko'raman! Menimcha, bu juda zo'r ko'rinadi. Men haqiqatan ham YouTube obunachisi hisoblagichi menga g'ayratli bo'lishga yordam berishini xohlardim! Videolarni yaratish ko'p vaqt va kuch talab qiladi. Sizdan 35000 kishi video kutayotganini bilganingizda, bu odamlarning hammasini qoniqtirishi uchun siz tinimsiz mehnat qilasiz, bu sizga ajoyib motiv beradi. Shunday qilib, bu hisoblagich diqqatimni jamlashga yordam beradi. Keling, ushbu loyihani qanday qurishni ko'rib chiqaylik!

1 -qadam: Barcha qismlarni oling

Barcha qismlarni oling
Barcha qismlarni oling
Barcha qismlarni oling
Barcha qismlarni oling

Loyiha haqiqatan ham sodda va qurilishi oson. Loyihani amalga oshirish uchun quyidagi qismlar zarur:

  • Wemos D1 mini -taxtasi ▶
  • 20x4 o'lchamli LCD displey ▶
  • Ba'zi simlar ▶
  • Power Bank ▶

Elektronikaning narxi 10 dollardan kam

Agar siz korpusni 3D formatida chop qilmoqchi bo'lsangiz, sizga ikkita yog'ochdan yasalgan filament kerak bo'ladi. Men FormFuturaning Easy Wood Birch va Coconut filamentlaridan foydalandim.

Hindiston yong'og'i filamenti ▶

Qayin filamenti ▶

Qoplama uchun bizga taxminan 100gr material kerak bo'ladi, shuning uchun bizga 5 dollar turadi. Shuning uchun loyihaning umumiy qiymati 15 dollarni tashkil qiladi.

2 -qadam: Wemos D1 Mini kengashi

Image
Image

Wemos D1 mini - bu taxminan 5 dollarlik ajoyib taxta!

Kengash juda kichik. U 160 MGts chastotada ishlay oladigan ESP8266 EX chipidan foydalanadi. U juda ko'p xotiraga ega, 64Kb ko'rsatma RAM, 96Kb ma'lumotli RAM va 4MB flesh -xotira, dasturlarni saqlash uchun. U Wi -Fi ulanishini, Havodan yangilanishlarni va boshqalarni taklif qiladi. D1 mini -platasi 11 ta GPIO pin va bitta analogli kirishni taklif qiladi. Kichik o'lchamiga qaramay, men bu taxta uchun ko'plab qalqonlar ishlab chiqilmoqda, menimcha, bu juda yaxshi, chunki biz Internet -buyumlarning ajoyib loyihalarini osongina qura olamiz! Albatta, biz bu taxtani Arduino IDE yordamida dasturlashimiz mumkin.

Kengash kichik o'lchamiga qaramay, boshqa Arduino mos keluvchi platalaridan yaxshiroq ishlaydi. Men ESP8266 va Arduino o'rtasida taqqoslashni amalga oshirdim, siz bu bosqichda biriktirilgan videoni ko'rishingiz mumkin. Bu taxta Arduino Uno -dan 17 baravar tezroq! Bundan tashqari, u eng tezkor Arduino boshqaruv paneli Arduino Due -dan ustun turadi. Hammasi, narxi 6 dollardan kam! Ta'sirchan.

Bu yerdan oling ▶

3 -qadam: 20x4 belgidan iborat LCD displey

Image
Image
Prototip sxemasini yarating
Prototip sxemasini yarating

Men bu displeyni bir muncha vaqt oldin Banggood.com saytida topdim. Bu diqqatimni tortdi, chunki u arzon, narxi 7 dollar atrofida, u katta va I2C interfeysidan foydalanadi. I2C interfeysidan foydalanganligi uchun Arduino -dan foydalanish juda oson. Biz faqat ikkita simni ulashimiz kerak. Menga ba'zi loyihalarni prototiplash uchun ulanishi mumkin bo'lgan katta displey kerak edi va I2C interfeysidan foydalanadigan yagona displey bu kichkina OLED displey edi. Endi bizda loyihalarda foydalanish uchun katta I2C displeyi bor! Ajoyib!

Ko'rib turganingizdek, displey haqiqatan ham katta. U har bir satrda 20 ta belgini ko'rsatishi mumkin va u 4 qatordan iborat. U grafika chizolmaydi, faqat belgilar. Orqa tomonda biz displeyda lehimli kichik qora taxtani topamiz. Qora taxtada LCD kontrastini boshqaradigan trimpot bor.

Bu yerdan oling ▶

4 -qadam: Prototip sxemasini yarating

Prototip sxemasini yarating
Prototip sxemasini yarating
Prototip sxemasini yarating
Prototip sxemasini yarating

Ulanish osonroq bo'lishi mumkin emas.

LCD displeyni ulash

  • Vcc displeyi Wemos D1 mini -ning 5V kuchlanishiga o'tadi
  • Displeyning GND belgisi Wemos GND ga o'tadi
  • Displeyning SDA pimi Wemos kartasining D2 piniga o'tadi
  • Displeyning SCL pimi Wemos kartasining D1 piniga o'tadi

Bo'ldi shu! Agar biz loyihani yoqsak, ko'rishimiz mumkinki, bir necha soniyadan so'ng taxta Wi -Fi tarmog'iga ulangan va ekranda bu kanal obunachilari soni katta raqamlar bilan ko'rsatiladi. Loyiha kutilganidek ishlaydi, biz davom etishimiz mumkin.

5 -qadam: Korpusni 3D bosib chiqarish

3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus

Keyingi qadam - bu korpusni 3D bosib chiqarish. Men bu korpusni Fusion 360 bepul dasturidan foydalanib ishlab chiqdim.

Men juda ko'p turli xil 3d dizayn dasturlarini sinab ko'rdim, lekin Fusion 360 quyidagi sabablarga ko'ra menga yoqdi.

  • Bu juda kuchli va bepul
  • Foydalanish nisbatan oson
  • Internetda ushbu dasturiy ta'minotdan foydalanish bo'yicha ko'plab qo'llanmalar mavjud

Menga bu korpusni loyihalash uchun bir soat vaqt kerak bo'ldi va shuni esda tutishim kerakki, men 3D dizayn va 3D bosib chiqarishda juda yangi. Men dizayn fayllarini Thingiverse -ga yukladim va ularni bepul yuklab olishim mumkin.

Men Formfuturaning EasyWood Coconut filamentini ikki qismdan, old qismi uchun esa Birch filamentidan foydalandim.

Bu yerdan oling ▶

6 -qadam: 3D chop etishni yakunlang

3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating
3D bosib chiqarishni tugating

Bu oson va tez chop etish edi. Wanhao i3 3d printerim yordamida barcha qismlarni chop etishimga 5 soat vaqt ketdi. lekin natija ajoyib edi!

Qismlarni chop etgandan so'ng, men ularni nozik qum qog'oz bilan silliqladim va keyin ularga yog'och lak surtdim. Men har bir rang uchun turli xil yog'och laklardan foydalanardim va uni mayda mato bilan surtdim.

Keyin, men lakni 24 soat quritishga ruxsat berdim va yakuniy natija ajoyib!

7 -qadam: Hamma narsani bir -biriga ulash

Hamma narsani bir -biriga bog'lash
Hamma narsani bir -biriga bog'lash
Hamma narsani bir -biriga bog'lash
Hamma narsani bir -biriga bog'lash
Hamma narsani bir -biriga bog'lash
Hamma narsani bir -biriga bog'lash

Bo'yoq quriganidan so'ng, elektronni korpusga qo'yish vaqti keldi.

Men oldingi qismni joyiga yopishtirdim va keyin displeyni aniq joyiga qo'ydim.

Men displeyni joyida saqlash uchun issiq elim ishlatardim. Keyin men ishlatadigan Wemos D1 mini pinlariga bir nechta ayol simlarni lehimladim va keyin ularni displeyga uladim. Men hamma narsani yaxshi ishlayotganini ko'rish uchun loyihani sinab ko'rdim, keyin taxtani joyiga yopishtirish uchun issiq elim ishlatdim. Oxirgi qadam korpusning orqa qopqog'ini yopishtirish edi!

Bizning loyihamiz tayyor va juda zo'r ko'rinadi! Menimcha, bu 3D bosilgan narsalarning ko'pchiligi kabi plastik ko'rinmaydi! Bu qanday sodir bo'lganini juda yaxshi ko'raman. Keling, loyihaning kodini ko'rib chiqaylik.

8 -qadam: Loyihaning kodeksi

Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi

Loyiha YouTube API yordamida YouTube kanalining obunachilari sonini oladi. Biz Google serveriga so'rov yuboramiz va server abonentlar sonini ko'rsatuvchi JSON fayli bilan javob beradi. YouTube API -dan foydalanish uchun bizda API kaliti bo'lishi kerak.

Avval buni qilaylik. Shunday qilib, biz Google hisobimizga kirdik va ishlab chiquvchilar konsoliga tashrif buyurdik. (https://console.developers.google.com) Biz yangi loyiha yaratish uchun bosamiz, unga nom beramiz va yaratish tugmasini bosamiz. Keyin tanlangan yangi loyiha bilan biz YouTube Data API -ni yoqamiz. Oxirgi qadam - hisob ma'lumotlarini yaratish. Biz "Hisob ma'lumotlari" tugmachasini bosamiz va keyin paydo bo'ladigan oynada biz yangi API kalitini yaratamiz. Biz tugmani bosamiz va biz tugatdik. Qo'shimcha ma'lumot olish uchun birinchi bosqichga biriktirilgan videoni ko'ring.

Keling, loyihaning kodini tezda ko'rib chiqaylik. Birinchidan, biz ba'zi kutubxonalarni yuklab olishimiz kerak. Bizga ESP8266 chipi bilan ishlaydigan LiquidCrystal_I2C kutubxonasining versiyasi kerak. Bizga zo'r ArduinoJSON kutubxonasi ham kerak.

  1. Arduino JSON:
  2. Ko'rsatish kutubxonasi:

Keyin biz ba'zi o'zgaruvchilarni aniqlashimiz kerak. Biz Wi -Fi ulanish uchun ssid va parolni o'rnatdik. Shuningdek, biz yaratgan API kalitini tegishli o'zgaruvchiga kiritishimiz kerak. Nihoyat, biz obunachilar sonini tekshirmoqchi bo'lgan YouTube kanalining channelID kodini kiritishimiz kerak.

const char* ssid = "SSID"; // mahalliy tarmoqning SSID kodi char* password = "PASSWORD"; // String apiKey = "YOURAPIKEY" tarmog'idagi parol; // API KEY String channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // YouTube kanalining identifikatori

Kod nisbatan sodda. Dastlab biz displeyni ishga tushiramiz va displey uchun maxsus belgilar yaratamiz. Katta raqamlarni ishlab chiqarish uchun bizga bu belgilar kerak. Shuni unutmangki, biz foydalanadigan displey - bu LCD displey, u grafikani aks ettira olmaydi. U faqat 4 qatorli matnni ko'rsatishi mumkin. Katta raqamlarni yaratish uchun biz ikkita matnli satr va ba'zi maxsus belgilarni ishlatamiz!

void setup () {Serial.begin (9600); int cursorPosition = 0;

lcd.begin (20, 4);

lcd.setCursor (0, 0); lcd.print ("Ulanmoqda …");

yaratishCustomChars ();

WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); lcd.setCursor (cursorPosition, 1); lcd.print ("."); kursor pozitsiyasi ++; }

Keyin biz Wi -Fi tarmog'iga ulanamiz va abonentlarni har daqiqada olamiz. Obunachilar sonini bilish uchun biz Google serveriga so'rov yuboramiz va ArduinoJSON kutubxonasi yordamida javob beradigan JSON jarimasini tahlil qilamiz. Biz abonentlar sonini o'zgaruvchiga saqlaymiz. Loop funktsiyasida biz obunachilar soni o'zgarganligini tekshiramiz, displeyni tozalaymiz va yangi raqamni chop etamiz.

void loop () {int uzunligi; String subscribersString = String (getSubscribers ()); agar (obunachilar! = subscribersBefore) {lcd.clear (); uzunlik = subscribersString.length (); printSubscribers (uzunlik, subscribersString); subscribersBefore = obunachilar; } kechikish (60000); }

Har doimgidek, ushbu qo'llanmada biriktirilgan loyiha kodini topishingiz mumkin. Vaqti-vaqti bilan kodni yangilab turadigan bo'lsam, kodning so'nggi versiyasi uchun loyihaning veb-saytiga tashrif buyuring:

9 -qadam: Yakuniy natija

Yakuniy natija
Yakuniy natija
Yakuniy natija
Yakuniy natija

Oxirgi fikr sifatida, men bu loyihani juda yaxshi ko'raman. Haqiqatan ham qurilish juda oson va arzon edi. Albatta, yaxshilanish uchun joy bor. Biz korpus ichiga batareyani qo'shishimiz yoki hatto ovoz chiqarishimiz mumkin. Men 18650 lityum batareyani wemos batareyasi qalqoni bilan qo'shishni o'ylayapman. Men buni bu loyihada qilmaganman, chunki Wemos batareyasi qalqonini yana sinab ko'rishim kerak. Bu kichik qalqon lityum batareyalarni zaryadlashi va himoya qilishi mumkin, shuning uchun loyihalarimizga qayta zaryadlanuvchi batareyalarni qo'shish oson.

Bu loyiha haqidagi fikringizni eshitishni istardim. Sizga tashqi ko'rinishi yoqadimi va bu loyihani yaxshilash haqida o'ylay olasizmi? Iltimos, sharhlaringizni quyidagi sharhlar bo'limiga yozing.

Tavsiya: