Satura rādītājs:

YouTube abonentu skaitītājs, izmantojot ESP8266 dēli: 9 soļi (ar attēliem)
YouTube abonentu skaitītājs, izmantojot ESP8266 dēli: 9 soļi (ar attēliem)

Video: YouTube abonentu skaitītājs, izmantojot ESP8266 dēli: 9 soļi (ar attēliem)

Video: YouTube abonentu skaitītājs, izmantojot ESP8266 dēli: 9 soļi (ar attēliem)
Video: Связь Modbus ESP32 | FLProg SCADA 2024, Jūlijs
Anonim
Image
Image
YouTube abonentu skaitītājs, izmantojot ESP8266 plati
YouTube abonentu skaitītājs, izmantojot ESP8266 plati
YouTube abonentu skaitītājs, izmantojot ESP8266 plati
YouTube abonentu skaitītājs, izmantojot ESP8266 plati

Cienījamie draugi, laipni lūdzam citā ESP8266 projektā Šodien mēs veidosim YouTube abonentu skaitītāju, kas izgatavots pašiem, ar lielu LCD displeju un 3D drukātu korpusu. Sāksim!

Šajā apmācībā mēs to darīsim: DIY YouTube abonentu skaitītājs. Tas izmanto lielo I2C displeju, kuru es pārskatīju pirms dažām nedēļām, lai parādītu abonentu skaitu ar lielu, viegli redzamu no attāluma skaitļiem. Skaitītāja korpuss ir 3D drukāts, izmantojot koka pavedienus. Šoreiz es izmantoju divus dažādus koka pavedienus, un man ļoti patīk krāsu kombinācija! Manuprāt, tas izskatās tik forši. Es ļoti vēlējos, lai YouTube abonentu skaitītājs palīdzētu man palikt motivētam! Video veidošana prasa daudz laika un pūļu. Kad jūs zināt, ka 35 000 cilvēku gaida no jums videoklipu, jūs strādājat arvien vairāk, lai visi šie cilvēki būtu apmierināti, tas dod jums lielisku motīvu. Tātad, šis skaitītājs man palīdzēs koncentrēties. Tagad redzēsim, kā izveidot šo projektu!

1. darbība: iegūstiet visas detaļas

Iegūstiet visas detaļas
Iegūstiet visas detaļas
Iegūstiet visas detaļas
Iegūstiet visas detaļas

Projekts ir patiešām vienkāršs un viegli veidojams. Lai izveidotu šo projektu, ir nepieciešamas šādas detaļas:

  • Wemos D1 mini dēlis ▶
  • 20x4 LCD displejs ▶
  • Daži vadi ▶
  • Power Bank ▶

Elektronikas izmaksas ir mazākas par 10 ASV dolāriem

Ja plānojat 3D drukāt korpusu, jums būs nepieciešami arī divi koka pavedienu ruļļi. Es izmantoju FormFutura Easy Wood bērza un kokosriekstu pavedienus.

Kokosriekstu pavediens ▶

Bērza pavediens ▶

Iežogojumam mums ir nepieciešams apmēram 100 g materiāla, tāpēc tas mums izmaksās aptuveni 5 USD. Tātad kopējās projekta izmaksas ir aptuveni 15 USD.

2. darbība: Wemos D1 mini dēlis

Image
Image

Wemos D1 mini ir fantastiski jauna tāfele, kas maksā aptuveni 5 USD!

Dēlis ir ļoti mazs. Tas izmanto mikroshēmu ESP8266 EX, kas var darboties ar frekvenci līdz 160 MHz. Programmu glabāšanai tajā ir daudz atmiņas, 64 KB instrukciju RAM, 96 KB datu RAM un 4 MB zibatmiņas. Tā piedāvā WiFi savienojumu, bezvadu atjauninājumus un daudz ko citu. D1 mini dēlis piedāvā 11 GPIO tapas un vienu analogo ieeju. Neskatoties uz tā nelielo izmēru, šai plāksnei tiek izstrādāti daudzi vairogi, kas, manuprāt, ir lieliski, jo tādā veidā mēs varam viegli izveidot lieliskus lietu interneta projektus! Protams, mēs varam programmēt šo dēli, izmantojot Arduino IDE.

Neskatoties uz mazo izmēru, tā veiktspēja pārspēj visas pārējās ar Arduino saderīgās plāksnes. Esmu salīdzinājis ESP8266 un Arduino, jūs varat pārbaudīt video, ko esmu pievienojis šajā solī. Šī tāfele ir 17 reizes ātrāka nekā Arduino Uno! Tas arī pārspēj ātrāko Arduino dēli - Arduino Due. Tas viss ar izmaksām, kas ir mazākas par 6 USD! Iespaidīgi.

Iegūstiet to šeit ▶

3. solis: 20x4 rakstzīmju LCD displejs

Image
Image
Izveidojiet prototipa shēmu
Izveidojiet prototipa shēmu

Šo displeju pirms kāda laika atklāju vietnē Banggood.com. Tas piesaistīja manu uzmanību, jo tas ir lēts, maksā apmēram 7 USD, ir liels un izmanto I2C saskarni. Tā kā tas izmanto I2C saskarni, to ir ļoti viegli lietot ar Arduino. Mums ir nepieciešams savienot tikai divus vadus. Man bija nepieciešams liels, viegli savienojams displejs dažu projektu prototipēšanai, un vienīgais displejs, kas izmantoja I2C saskarni, bija šis mazais OLED displejs. Tagad mums ir liels I2C displejs, ko izmantot mūsu projektos! Lieliski!

Kā redzat, displejs ir patiešām liels. Tas var parādīt 20 rakstzīmes katrā rindā, un tajā ir 4 rindas. Tas nevar zīmēt grafikas, tikai rakstzīmes. Aizmugurē displejā var atrast nelielu melnu tāfelīti. Uz melnās tāfeles ir trimpots, kas kontrolē LCD kontrastu.

Iegūstiet to šeit ▶

4. solis: izveidojiet prototipa shēmu

Izveidojiet prototipa shēmu
Izveidojiet prototipa shēmu
Izveidojiet prototipa shēmu
Izveidojiet prototipa shēmu

Savienojums nevar būt vieglāks.

LCD displeja pievienošana

  • Displeja Vcc iet uz Wemos D1 mini 5 V izeju
  • Displeja GND iet uz Wemos GND
  • Displeja SDA tapa tiek pievienota Wemos Board D2 tapai
  • Displeja SCL tapa nonāk Wemos Board D1 tapā

Tieši tā! Tagad, ieslēdzot projektu, mēs redzam, ka pēc dažām sekundēm tāfele ir savienota ar WiFi tīklu, un ekrānā tiek parādīts šī kanāla abonentu skaits ar lieliem cipariem. Projekts darbojas kā paredzēts, lai mēs varētu turpināt.

5. darbība: 3D izdrukājiet korpusu

3D izdrukājiet korpusu
3D izdrukājiet korpusu
3D izdrukājiet korpusu
3D izdrukājiet korpusu
3D izdrukājiet korpusu
3D izdrukājiet korpusu

Nākamais solis ir korpusa 3D drukāšana. Es izstrādāju šo korpusu, izmantojot Fusion 360 bezmaksas programmatūru.

Es izmēģināju daudz dažādu 3D dizaina programmatūru, bet Fusion 360 kļuva par manu iecienītāko šādu iemeslu dēļ.

  • Tas ir ļoti spēcīgs un bez maksas
  • Tas ir salīdzinoši viegli lietojams
  • Tiešsaistē ir daudz pamācību par šīs programmatūras izmantošanu

Man vajadzēja apmēram stundu, lai izstrādātu šo korpusu, un paturiet prātā, ka esmu ļoti jauns 3D dizainā un 3D drukāšanā. Es augšupielādēju dizaina failus vietnē Thingiverse un varu tos lejupielādēt bez maksas.

Abām daļām es izmantoju Formfutura EasyWood kokosriekstu pavedienu, bet priekšējai daļai - bērza pavedienu.

Iegūstiet to šeit ▶

6. darbība: pabeidziet 3D drukāšanu

Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu
Pabeidziet 3D drukāšanu

Tā bija vienkārša un ātra drukāšana. Pagāja apmēram 5 stundas, lai izdrukātu visas detaļas, izmantojot manu Wanhao i3 3D printeri. bet rezultāts bija fantastisks!

Pēc detaļu drukāšanas es tās noslīpēju ar smalku smilšpapīru un pēc tam uzklāju tām koka laku. Katrai krāsai es izmantoju atšķirīgu koka laku, un es to uzklāju, izmantojot nelielu auduma gabalu.

Tālāk es ļauju lakai nožūt 24 stundas, un gala rezultāts ir lielisks!

7. solis: visu savienojiet kopā

Visu savienot kopā
Visu savienot kopā
Visu savienot kopā
Visu savienot kopā
Visu savienot kopā
Visu savienot kopā

Pēc lakas nožūšanas bija pienācis laiks ievietot elektroniku korpusā.

Es pielīmēju priekšējo gabalu vietā un pēc tam ievietoju displeju tā precīzā vietā.

Es arī izmantoju kādu karstu līmi, lai arī displejs būtu vietā. Tad es lodēju dažus sieviešu vadus pie Wemos D1 mini tapām, kuras mēs izmantojam, un pēc tam pievienoju tos displejam. Es pārbaudīju projektu, lai redzētu, ka viss darbojas labi, un pēc tam es izmantoju karstu līmi, lai pielīmētu plāksni vietā. Pēdējais solis bija pielīmēt korpusa aizmugurējo vāku!

Mūsu projekts ir gatavs, un tas izskatās tik forši! Manuprāt, tas neizskatās plastiski, kā izskatās vairums 3D drukāto objektu! Man patiešām patīk, kā tas izrādījās. Tagad apskatīsim projekta kodu.

8. solis: projekta kods

Projekta kodekss
Projekta kodekss
Projekta kodekss
Projekta kodekss
Projekta kodekss
Projekta kodekss
Projekta kodekss
Projekta kodekss

Projekts izgūst konkrēta YouTube kanāla abonentu skaitu, izmantojot YouTube API. Mēs nosūtām pieprasījumu Google serverim, un serveris atbild ar JSON failu ar abonentu skaitu. Lai izmantotu YouTube API, mums ir jābūt API atslēgai.

Vispirms darīsim to. Tātad, mēs esam pierakstījušies savā Google kontā un apmeklējam izstrādātāja konsoli. (https://console.developers.google.com) Mēs noklikšķinām, lai izveidotu jaunu projektu, piešķiram tam nosaukumu un nospiežam izveidot. Pēc tam atlasot jauno projektu, mēs iespējojam YouTube datu API. Pēdējais solis ir izveidot akreditācijas datus. Mēs nospiežam akreditācijas datu taustiņu un pēc tam parādītajā logā izvēlamies izveidot jaunu API atslēgu. Nospiežam ciet un esam pabeiguši. Lai iegūtu sīkāku informāciju, skatiet videoklipu, kas pievienots pirmajam solim.

Tagad ātri apskatīsim projekta kodu. Pirmkārt, mums ir jālejupielādē dažas bibliotēkas. Mums ir nepieciešama LiquidCrystal_I2C bibliotēkas versija, kas darbojas ar mikroshēmu ESP8266. Mums ir nepieciešama arī lieliskā ArduinoJSON bibliotēka.

  1. Arduino JSON:
  2. Displeja bibliotēka:

Tālāk mums ir jānosaka daži mainīgie. Mēs iestatījām ssid un WiFi savienojuma paroli. Mums arī jāievada mūsu izveidotā API atslēga atbilstošajā mainīgajā. Visbeidzot, mums jāievada tā YouTube kanāla kanāla ID, kuru vēlamies pārbaudīt abonentu skaitu.

const char* ssid = "SSID"; // SSID of local networkconst char* password = "PASSWORD"; // Parole tīklā String apiKey = "YOURAPIKEY"; // API KEY String channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // YouTube kanāla ID

Kods ir salīdzinoši vienkāršs. Sākumā mēs inicializējam displeju un izveidojam dažas pielāgotas rakstzīmes. Mums ir vajadzīgas šīs rakstzīmes, lai iegūtu lielus ciparus. Neaizmirstiet, ka mūsu izmantotais displejs ir rakstzīmju LCD displejs, tas nevar parādīt grafiku. Tas var parādīt tikai 4 teksta rindiņas. Lai izveidotu lielus skaitļus, mēs izmantojam divas teksta rindas un dažas pielāgotas rakstzīmes!

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

lcd. sākums (20, 4);

lcd.setCursor (0, 0); lcd.print ("Notiek savienošana …");

createCustomChars ();

WiFi.begin (ssid, parole); while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); lcd.setCursor (cursorPosition, 1); lcd.print ("."); cursorPosition ++; }

Tad mēs izveidojam savienojumu ar WiFi un katru minūti iegūstam abonentus. Lai iegūtu abonentu skaitu, mēs nosūtām pieprasījumu Google serverim un analizējam JSON naudas sodu, uz kuru tas atbild, izmantojot ArduinoJSON bibliotēku. Mēs saglabājam abonentu skaitu mainīgā. Cilpas funkcijā mēs pārbaudām, vai abonentu skaits ir mainījies, mēs notīrām displeju un izdrukājam jauno numuru.

void loop () {int length; Stīgu abonentiString = String (getSubscribers ()); if (abonenti! = subscribersBefore) {lcd.clear (); garums = abonentiString.length (); printSubscribers (garums, abonentiString); subscribersBefore = abonenti; } kavēšanās (60000); }

Kā vienmēr, šajā instrukcijā varat atrast projekta kodu. Tā kā es laiku pa laikam atjauninu kodu, lai iegūtu jaunāko koda versiju, lūdzu, apmeklējiet projekta vietni:

9. solis: gala rezultāts

Gala rezultāts
Gala rezultāts
Gala rezultāts
Gala rezultāts

Visbeidzot, man patiešām patīk šis projekts. Tas bija patiešām viegli uzbūvējams un lēts. Protams, ir iespējas uzlabot. Mēs varam pievienot akumulatoru korpusa iekšpusē vai pat skaņu. Es domāju pievienot 18650 litija akumulatoru kopā ar wemos akumulatora vairogu. Es to nedarīju šajā projektā, jo man vēl ir jāpārbauda Wemos akumulatora vairogs. Šis mazais vairogs var uzlādēt un aizsargāt litija baterijas, tāpēc tas nodrošina vienkāršu veidu, kā mūsu projektiem pievienot uzlādējamas baterijas.

Es labprāt uzzinātu jūsu viedokli par šo projektu. Vai jums patīk, kā tas izskatās, un vai varat izdomāt kādus uzlabojumus šajā projektā? Lūdzu, ievietojiet savus komentārus zemāk esošajā komentāru sadaļā.

Ieteicams: