Turinys:

„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę: 9 žingsniai (su nuotraukomis)
„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę: 9 žingsniai (su nuotraukomis)

Video: „YouTube“abonentų skaitiklis naudojant ESP8266 plokštę: 9 žingsniai (su nuotraukomis)

Video: „YouTube“abonentų skaitiklis naudojant ESP8266 plokštę: 9 žingsniai (su nuotraukomis)
Video: Связь Modbus ESP32 | FLProg SCADA 2024, Liepa
Anonim
Image
Image
„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę
„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę
„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę
„YouTube“abonentų skaitiklis naudojant ESP8266 plokštę

Mieli draugai, sveiki atvykę į kitą ESP8266 projektą Šiandien mes sukursime „pasidaryk pats“„YouTube“abonentų skaitiklį su dideliu skystųjų kristalų ekranu ir 3D spausdintuvu. Pradėkime!

Šioje pamokoje mes padarysime tai: „Pasidaryk pats“„YouTube“abonentų skaitiklis. Jis naudoja didelį I2C ekraną, kurį peržiūrėjau prieš kelias savaites, kad būtų rodomas abonentų skaičius, kurį būtų lengva matyti iš atstumo skaičių. Skaitiklio korpusas yra atspausdintas 3D naudojant medžio giją. Šį kartą naudojau du skirtingus medienos siūlus ir man labai patinka spalvų derinys! Mano nuomone, tai atrodo labai šauniai. Labai norėjau, kad „YouTube“prenumeratorių skaitiklis padėtų man išlikti motyvuotam! Vaizdo įrašų kūrimas reikalauja daug laiko ir pastangų. Kai žinai, kad jūsų vaizdo įrašo laukia 35 000 žmonių, jūs vis sunkiau dirbate, kad visi šie žmonės liktų patenkinti, tai suteikia jums puikų motyvą. Taigi, šis skaitiklis padės man susikaupti. Dabar pažiūrėkime, kaip sukurti šį projektą!

1 žingsnis: Gaukite visas dalis

Gaukite visas dalis
Gaukite visas dalis
Gaukite visas dalis
Gaukite visas dalis

Projektas yra tikrai paprastas ir lengvai kuriamas. Šiam projektui sukurti reikalingos šios dalys:

  • „Wemos D1“mini plokštė ▶
  • 20x4 LCD ekranas ▶
  • Kai kurie laidai ▶
  • „Power Bank“▶

Elektronikos kaina yra mažesnė nei 10 USD

Jei ketinate spausdinti korpusą 3D, jums taip pat reikės dviejų ritinių medienos gijų. Aš naudojau „FormFutura“lengvo medžio beržo ir kokoso gijas.

Kokoso siūlai ▶

Beržo gija ▶

Korpusui mums reikia apie 100 g medžiagos, todėl mums tai kainuos apie 5 USD. Taigi bendra projekto kaina yra apie 15 USD.

2 žingsnis: „Wemos D1 Mini Board“

Image
Image

„Wemos D1 mini“yra fantastiška nauja lenta, kainuojanti apie 5 USD!

Lenta labai maža. Jis naudoja ESP8266 EX mikroschemą, kuri gali veikti iki 160 MHz dažniu. Jis turi daug atminties, 64 KB instrukcijų RAM, 96 KB duomenų RAM ir 4 MB „flash“atminties jūsų programoms saugoti. Jis siūlo „WiFi“ryšį, „Over the Air“atnaujinimus ir daug daugiau. D1 mini plokštėje yra 11 GPIO kaiščių ir viena analoginė įvestis. Nepaisant mažo dydžio, šiai plokštei yra sukurta daug skydų, kurie, mano nuomone, yra puikūs, nes tokiu būdu mes galime lengvai sukurti puikius daiktų interneto projektus! Žinoma, mes galime užprogramuoti šią plokštę naudodami „Arduino IDE“.

Nepaisant mažo dydžio, plokštė savo našumu lenkia visas kitas su „Arduino“suderinamas plokštes. Aš palyginiau ESP8266 ir „Arduino“, galite patikrinti šiame žingsnyje pridėtą vaizdo įrašą. Ši lenta yra 17 kartų greitesnė nei „Arduino Uno“! Ji taip pat lenkia greičiausią „Arduino“lentą - „Arduino Due“. Visa tai kainuoja mažiau nei 6 USD! Įspūdingas.

Gaukite čia ▶

3 žingsnis: 20x4 simbolių LCD ekranas

Image
Image
Sukurkite prototipo grandinę
Sukurkite prototipo grandinę

Šį ekraną atradau prieš kurį laiką „Banggood.com“. Jis atkreipė mano dėmesį, nes yra nebrangus, kainuoja apie 7 USD, yra didelis ir naudoja I2C sąsają. Kadangi ji naudoja I2C sąsają, ją labai lengva naudoti su „Arduino“. Mums reikia tik prijungti du laidus. Kai kurių projektų prototipams man reikėjo didelio, lengvai prijungiamo ekrano, o vienintelis ekranas, kuriame buvo naudojama I2C sąsaja, buvo šis mažas OLED ekranas. Dabar turime didelį I2C ekraną, kurį galime naudoti savo projektuose! Puiku!

Kaip matote, ekranas yra tikrai didelis. Vienoje eilutėje gali būti 20 simbolių ir 4 eilutės. Jis negali piešti grafikos, tik simbolius. Galinėje pusėje galime rasti mažą juodą lentą, lituojamą ekrane. Ant juodos plokštės yra trikampis, valdantis LCD kontrastą.

Gaukite čia ▶

4 žingsnis: sukurkite prototipo grandinę

Sukurkite prototipo grandinę
Sukurkite prototipo grandinę
Sukurkite prototipo grandinę
Sukurkite prototipo grandinę

Ryšys negali būti lengvesnis.

LCD ekrano prijungimas

  • Ekrano Vcc patenka į „Wemos D1 mini“5 V išvestį
  • Ekrano GND eina į „Wemos GND“
  • Ekrano SDA kaištis patenka į „Wemos Board“D2 kaištį
  • Ekrano SCL kaištis eina į „Wemos Board“D1 kaištį

Viskas! Dabar, kai įjungiame projektą, matome, kad po kelių sekundžių plokštė prijungta prie „WiFi“tinklo ir ekrane rodomas didelis šio kanalo abonentų skaičius. Projektas veikia taip, kaip tikėtasi, kad galėtume tęsti.

5 veiksmas: 3D spausdinkite priedą

3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas

Kitas žingsnis yra korpuso 3D spausdinimas. Šį korpusą sukūriau naudodamas nemokamą „Fusion 360“programinę įrangą.

Išbandžiau daug įvairių 3D dizaino programinės įrangos, tačiau „Fusion 360“tapo mano mėgstamiausia dėl šių priežasčių.

  • Tai labai galinga ir nemokama
  • Jį palyginti lengva naudoti
  • Internete yra daug pamokų, kaip naudotis šia programine įranga

Aš suplanavau šį korpusą maždaug valandą ir turėjau omenyje, kad esu labai naujas 3D dizaino ir 3D spausdinimo srityje. Aš įkėliau dizaino failus į „Thingiverse“ir galiu juos atsisiųsti nemokamai.

Dviem dalims naudojau „Formfutura“„EasyWood“kokoso giją, o priekinei - beržo giją.

Gaukite čia ▶

6 žingsnis: Užbaikite 3D spausdinimą

Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą
Užbaikite 3D spausdinimą

Tai buvo lengvas ir greitas spausdinimas. Prireikė maždaug 5 valandų, kol visas dalis išspausdinau naudodami „Wanhao i3“3D spausdintuvą. bet rezultatas buvo nuostabus!

Po to, kai dalys buvo atspausdintos, aš jas nušlifavau smulkiu švitriniu popieriumi, o po to jas užtepiau medienos laku. Kiekvienai spalvai naudojau skirtingą medinį laką ir tepiau jį nedideliu audeklo gabalu.

Toliau aš leidžiu lakui išdžiūti 24 valandas ir galutinis rezultatas puikus!

7 žingsnis: viską sujunkite

Viską sujungti
Viską sujungti
Viską sujungti
Viską sujungti
Viską sujungti
Viską sujungti

Kai lakas išdžiūvo, atėjo laikas įdėti elektroniką į korpusą.

Priklijavau priekinę dalį į vietą ir tada įdėjau ekraną į tikslią vietą.

Aš taip pat naudoju karštus klijus, kad ekranas taip pat būtų vietoje. Tada aš prijungiau kai kuriuos moteriškus laidus prie mūsų naudojamų mini kaiščių „Wemos D1“, tada prijungiau juos prie ekrano. Aš išbandžiau projektą, norėdamas pamatyti, ar viskas veikia gerai, ir tada karštais klijais priklijavau lentą. Paskutinis žingsnis buvo klijuoti galinį gaubto dangtelį!

Mūsų projektas yra paruoštas ir atrodo labai šauniai! Mano nuomone, jis neatrodo plastiškas, kaip atrodo dauguma 3D spausdintų objektų! Aš tikrai myliu, kaip tai pasirodė. Dabar pažiūrėkime projekto kodą.

8 žingsnis: projekto kodas

Projekto kodeksas
Projekto kodeksas
Projekto kodeksas
Projekto kodeksas
Projekto kodeksas
Projekto kodeksas
Projekto kodeksas
Projekto kodeksas

Projektas renka tam tikro „YouTube“kanalo prenumeratorių skaičių naudojant „YouTube“API. Mes siunčiame užklausą „Google“serveriui, o serveris atsako pateikdamas JSON failą su abonentų skaičiumi. Kad galėtume naudoti „YouTube“API, turime turėti API raktą.

Pirmiausia padarykime tai. Taigi, prisijunkite prie „Google“paskyros ir apsilankykite kūrėjų pulte. (https://console.developers.google.com) Spustelėdami sukuriame naują projektą, suteikiame jam pavadinimą ir paspaudžiame kurti. Tada pasirinkus naują projektą įgaliname „YouTube“duomenų API. Paskutinis žingsnis yra sukurti kredencialus. Paspaudžiame kredencialų klavišą, o tada pasirodžiusiame lange pasirenkame sukurti naują API raktą. Prispaudžiame ir baigiame. Norėdami gauti daugiau informacijos, žiūrėkite vaizdo įrašą, pridėtą prie pirmo žingsnio.

Dabar trumpai pažvelkime į projekto kodą. Pirmiausia turime atsisiųsti keletą bibliotekų. Mums reikia „LiquidCrystal_I2C“bibliotekos versijos, kuri veikia su ESP8266 lustu. Mums taip pat reikia puikios „ArduinoJSON“bibliotekos.

  1. „Arduino JSON“:
  2. Rodyti biblioteką:

Toliau turime apibrėžti kai kuriuos kintamuosius. Mes nustatėme „ssid“ir „WiFi“ryšio slaptažodį. Taip pat turime įvesti atitinkamame kintamajame sukurtą API raktą. Galiausiai turime įvesti „YouTube“kanalo ID, kurį norime patikrinti, norėdami patikrinti prenumeratorių skaičių.

const char* ssid = "SSID"; // vietinio tinklo SSIDstudijuoti char* password = "PASSWORD"; // Slaptažodis tinkle String apiKey = "YOURAPIKEY"; // API KEY String channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // „YouTube“kanalo ID

Kodas yra gana paprastas. Iš pradžių inicijuojame ekraną ir sukuriame tam tikrus pasirinktus simbolius. Šių simbolių mums reikia, kad gautume didelius skaitmenis. Nepamirškite, kad mūsų naudojamas ekranas yra simbolinis LCD ekranas, jis negali rodyti grafikos. Jis gali parodyti tik 4 teksto eilutes. Norėdami sukurti didelius skaičius, naudojame dvi teksto eilutes ir keletą pasirinktinių simbolių!

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

LCD. pradžia (20, 4);

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

createCustomChars ();

WiFi.begin (ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (500); lcd.setCursor (cursorPosition, 1); lcd.print ("."); cursorPosition ++; }

Tada mes prisijungiame prie „WiFi“ir kiekvieną minutę gauname abonentus. Norėdami gauti prenumeratorių skaičių, siunčiame užklausą „Google“serveriui ir analizuojame JSON baudą, į kurią ji atsako, naudodami „ArduinoJSON“biblioteką. Išsaugome abonentų skaičių į kintamąjį. Ciklo funkcijoje patikriname, ar nepasikeitė abonentų skaičius, išvalome ekraną ir atspausdiname naują numerį.

void loop () {int ilgis; Eilutės abonentaiString = Styga (getSubscribers ()); if (abonentai! = abonentaiBefore) {lcd.clear (); ilgis = abonentaiString.length (); printSubscribers (ilgis, abonentaiString); subscribersBefore = abonentai; } uždelsimas (60000); }

Kaip visada, projekto kodą galite rasti šioje instrukcijoje. Kadangi kartkartėmis atnaujinu kodą, naujausios kodo versijos ieškokite projekto svetainėje:

9 žingsnis: galutinis rezultatas

Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas

Galiausiai, man labai patinka šis projektas. Tai buvo tikrai lengva sukurti ir nebrangu. Žinoma, yra kur tobulėti. Mes galime pridėti akumuliatorių korpuso viduje ar net garsą. Galvoju pridėti 18650 ličio bateriją kartu su „Wemos“akumuliatoriaus skydu. Šiame projekte to nepadariau, nes turiu dar šiek tiek išbandyti „Wemos Battery“skydą. Šis mažas skydas gali įkrauti ir apsaugoti ličio baterijas, todėl tai yra paprastas būdas pridėti įkraunamų baterijų prie mūsų projektų.

Norėčiau išgirsti jūsų nuomonę apie šį projektą. Ar jums patinka, kaip tai atrodo, ir ar galite galvoti apie šio projekto patobulinimus? Prašome paskelbti savo komentarus žemiau esančiame komentarų skyriuje.

Rekomenduojamas: