Indholdsfortegnelse:

YouTube -abonnenttæller ved hjælp af et ESP8266 -kort: 9 trin (med billeder)
YouTube -abonnenttæller ved hjælp af et ESP8266 -kort: 9 trin (med billeder)

Video: YouTube -abonnenttæller ved hjælp af et ESP8266 -kort: 9 trin (med billeder)

Video: YouTube -abonnenttæller ved hjælp af et ESP8266 -kort: 9 trin (med billeder)
Video: #9 Programmer ESP8266 Modbus TCP || FLProg || VTSCADA 2024, Juli
Anonim
Image
Image
YouTube -abonnenttæller ved hjælp af et ESP8266 -kort
YouTube -abonnenttæller ved hjælp af et ESP8266 -kort
YouTube -abonnenttæller ved hjælp af et ESP8266 -kort
YouTube -abonnenttæller ved hjælp af et ESP8266 -kort

Kære venner velkommen til et andet ESP8266 -projekt I dag skal vi bygge en DIY YouTube -abonnenttæller med et stort LCD -display og et 3D -printet kabinet. Lad os komme igang!

I denne vejledning laver vi dette: En DIY YouTube -abonnenttæller. Den bruger den store I2C -skærm, jeg gennemgik for et par uger siden, til at vise antallet af abonnenter med store let at se fra distancenumre. Skabets kabinet er 3D -trykt ved hjælp af træfilament. Jeg brugte to forskellige træfilamenter denne gang, og jeg er virkelig vild med farvekombinationen! Efter min mening ser det så sejt ud. Jeg ville virkelig have en YouTube -abonnenttæller til at hjælpe mig med at forblive motiveret! At producere videoer kræver meget tid og kræfter. Når du ved, at 35.000 mennesker venter på en video fra dig, arbejder du hårdere og hårdere på at holde alle disse mennesker tilfredse, det giver dig et godt motiv. Så denne tæller hjælper mig med at holde fokus. Lad os nu se, hvordan du bygger dette projekt!

Trin 1: Få alle delene

Få alle delene
Få alle delene
Få alle delene
Få alle delene

Projektet er virkelig enkelt og let at bygge. De dele, der er nødvendige for at bygge dette projekt, er følgende:

  • Et Wemos D1 mini board ▶
  • Et 20x4 LCD -display ▶
  • Nogle ledninger ▶
  • Power Bank ▶

Omkostningerne ved elektronikken er mindre end 10 $

Hvis du skal 3D -printe kabinettet, skal du også bruge to ruller af træfilamentet. Jeg brugte FormFutura's Easy Wood Birch og Coconut filamenter.

Kokosfilament ▶

Birketråd ▶

Til kabinettet har vi brug for omkring 100gr materiale, så det vil koste os omkring 5 $. Så de samlede omkostninger ved projektet er omkring 15 $.

Trin 2: Wemos D1 Mini Board

Image
Image

Wemos D1 mini er et fantastisk nyt bord, der koster omkring $ 5!

Tavlen er meget lille. Den bruger ESP8266 EX -chippen, som kan fungere med en frekvens på op til 160MHz. Det har en masse hukommelse, 64Kb instruktions -RAM, 96Kb data -RAM og 4MB flashhukommelse til at gemme dine programmer. Det tilbyder WiFi -forbindelse, Over the Air -opdateringer og meget mere. D1 mini -kortet har 11 GPIO -ben og en analog indgang. På trods af sin lille størrelse udvikles mange skjolde til dette bord, som jeg synes er fantastisk, da vi på denne måde let kan bygge flotte Internet of Things -projekter! Selvfølgelig kan vi programmere dette board ved hjælp af Arduino IDE.

Tavlen trods sin lille størrelse overgår alle de andre Arduino -kompatible tavler i ydeevne. Jeg har foretaget en sammenligning mellem ESP8266 og Arduino, du kan kontrollere den video, jeg har vedhæftet i dette trin. Dette bord er 17 gange hurtigere end en Arduino Uno! Det overgår også det hurtigste Arduino -bord, Arduino Due. Alt det med en pris på mindre end $ 6! Imponerende.

Få det her ▶

Trin 3: LCD -displayet på 20 x 4 tegn

Image
Image
Byg prototypekredsløbet
Byg prototypekredsløbet

Jeg opdagede denne skærm for noget tid siden på Banggood.com. Det tiltrak min opmærksomhed, fordi det er billigt, det koster omkring 7 $, det er stort, og det bruger I2C -grænsefladen. Da det bruger I2C -grænsefladen, er det ekstremt let at bruge med Arduino. Vi behøver kun at forbinde to ledninger. Jeg havde brug for en stor, let at tilslutte skærm til prototyper af nogle projekter, og den eneste skærm, der brugte I2C -grænsefladen, var denne lille OLED -skærm. Nu har vi et stort I2C display til brug i vores projekter! Store!

Som du kan se, er displayet virkelig stort. Den kan vise 20 tegn pr. Linje, og den har 4 linjer. Det kan ikke tegne grafik, kun tegn. På bagsiden kan vi finde et lille sort bord loddet på displayet. På det sorte bord er der en trimpot, som styrer LCD -kontrasten.

Få det her ▶

Trin 4: Byg prototypekredsløbet

Byg prototypekredsløbet
Byg prototypekredsløbet
Byg prototypekredsløbet
Byg prototypekredsløbet

Forbindelsen kunne ikke være lettere.

Tilslutning af LCD -skærmen

  • Displayets Vcc går til 5V output fra Wemos D1 mini
  • Displayets GND går til Wemos GND
  • SDA -pin på displayet går til D2 -pin på Wemos Board
  • SCL -pin på displayet går til D1 -pin på Wemos Board

Det er det! Hvis vi nu starter projektet, kan vi se, at kortet efter et par sekunder er forbundet til WiFi -netværket, og på skærmen vises antallet af abonnenter på denne kanal med store tal. Projektet fungerer som forventet, så vi kan komme videre.

Trin 5: 3D -udskrivning af kabinettet

3D Udskriv kabinettet
3D Udskriv kabinettet
3D Udskriv kabinettet
3D Udskriv kabinettet
3D Udskriv kabinettet
3D Udskriv kabinettet

Det næste trin er at 3D -udskrive kabinettet. Jeg designede denne kabinet ved hjælp af Fusion 360 gratis software.

Jeg prøvede en masse forskellige 3d design software, men Fusion 360 blev min favorit af følgende årsager.

  • Det er meget kraftfuldt, og det er gratis
  • Det er relativt let at bruge
  • Der er mange tutorials online om, hvordan du bruger denne software

Jeg tog mig omkring en time at designe dette kabinet og har i tankerne, at jeg er meget ny inden for 3D -design og 3D -print. Jeg har uploadet designfilerne til Thingiverse og kan downloade dem gratis.

Jeg brugte Formfuturas EasyWood Coconut filament til de to dele og Birch filament til den forreste del.

Få det her ▶

Trin 6: Afslut 3D -udskrivningen

Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet
Afslut 3D -printet

Det var et let og hurtigt print. Det tog mig omkring 5 timer at udskrive alle delene ved hjælp af min Wanhao i3 3d printer. men resultatet var fantastisk!

Efter at delene var trykt, slibede jeg dem med fint sandpapir, og derefter lagde jeg trælak på dem. Jeg brugte forskellige trælak til hver farve, og jeg påførte den med et lille stykke klud.

Dernæst lader jeg lakken tørre i 24 timer, og slutresultatet er fantastisk!

Trin 7: Tilslut alt sammen

Forbinder alt sammen
Forbinder alt sammen
Forbinder alt sammen
Forbinder alt sammen
Forbinder alt sammen
Forbinder alt sammen

Efter at lakken var tør, var det tid til at lægge elektronikken inde i kabinettet.

Jeg limede forstykket på plads, og derefter placerede jeg displayet i sin nøjagtige position.

Jeg brugte også varm lim til at holde skærmen på plads. Derefter lodde jeg nogle hunledninger til de Wemos D1 mini -ben, vi bruger, og derefter sluttede jeg dem til displayet. Jeg testede projektet for at se, at alt fungerer fint, og derefter brugte jeg varm lim til at lime pladen på plads. Det sidste trin var at lime bagdækslet på kabinettet!

Vores projekt er klar, og det ser så fedt ud! Efter min mening ser det ikke plastisk ud som de fleste 3D -printede objekter ser ud! Jeg elsker virkelig hvordan det blev. Lad os nu se projektets kode.

Trin 8: Projektets kode

Projektets kode
Projektets kode
Projektets kode
Projektets kode
Projektets kode
Projektets kode
Projektets kode
Projektets kode

Projektet henter antallet af abonnenter på en given YouTube -kanal ved hjælp af YouTube API. Vi sender en anmodning til en Google -server, og serveren svarer med en JSON -fil med antallet af abonnenter. For at kunne bruge YouTube API skal vi have en API -nøgle.

Lad os gøre det først. Så vi har logget ind på vores Google -konto og besøgt udviklerkonsollen. (https://console.developers.google.com) Vi klikker for at oprette et nyt projekt, vi giver det et navn, og vi trykker på opret. Så med det nye projekt valgt aktiverer vi YouTube Data API. Det sidste trin er at oprette legitimationsoplysninger. Vi trykker på Credentials -tasten, og derefter vælger vi fra det vindue, der vises, at oprette en ny API -nøgle. Vi trykker tæt, og vi er færdige. For flere detaljer, se videoen vedhæftet det første trin.

Lad os nu tage et hurtigt kig på projektets kode. Først og fremmest skal vi downloade nogle biblioteker. Vi har brug for en version af LiquidCrystal_I2C biblioteket, der fungerer med ESP8266 -chippen. Vi har også brug for det fremragende ArduinoJSON -bibliotek.

  1. Arduino JSON:
  2. Displaybibliotek:

Dernæst skal vi definere nogle variabler. Vi indstiller ssid og adgangskoden til WiFi -forbindelsen. Vi skal også indtaste den API -nøgle, vi har oprettet i den relevante variabel. Endelig skal vi indtaste channelID for YouTube -kanalen, vi vil kontrollere antallet af abonnenter.

const char* ssid = "SSID"; // SSID for det lokale netværkconst char* password = "PASSWORD"; // Adgangskode på netværket String apiKey = "YOURAPIKEY"; // API KEY String channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // YouTube -kanal -id

Koden er relativt enkel. Først initialiserer vi displayet, og vi opretter nogle brugerdefinerede tegn til displayet. Vi har brug for disse tegn for at kunne producere store cifre. Glem ikke, det display, vi bruger, er tegn -LCD -display, det kan ikke vise grafik. Det kan bare vise 4 linjer tekst. For at oprette store tal bruger vi to tekstlinjer og nogle brugerdefinerede tegn!

ugyldig opsætning () {Serial.begin (9600); int cursorPosition = 0;

lcd.begin (20, 4);

lcd.setCursor (0, 0); lcd.print ("Opretter forbindelse …");

createCustomChars ();

WiFi.begin (ssid, adgangskode); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); lcd.setCursor (cursorPosition, 1); lcd.print ("."); cursorPosition ++; }

Derefter opretter vi forbindelse til WiFi, og vi får abonnenterne hvert minut. For at få antallet af abonnenter sender vi en anmodning til en Google -server, og vi analyserer JSON -finen, som den reagerer ved hjælp af ArduinoJSON -biblioteket. Vi gemmer abonnenttællingen i en variabel. I loop -funktionen kontrollerer vi, om der er en ændring i antallet af abonnenter, vi rydder displayet, og vi udskriver det nye nummer.

void loop () {int length; String subscribersString = String (getSubscribers ()); hvis (abonnenter! = subscribersBefore) {lcd.clear (); length = subscribersString.length (); printSubscribers (længde, subscribersString); subscribersBefore = abonnenter; } forsinkelse (60000); }

Som altid kan du finde koden til projektet vedlagt i denne instruktionsbog. Da jeg opdaterer koden fra tid til anden, kan du besøge projektets websted for den nyeste version af koden:

Trin 9: Endeligt resultat

Endeligt resultat
Endeligt resultat
Endeligt resultat
Endeligt resultat

Som en sidste tanke elsker jeg virkelig dette projekt. Det var virkelig let at bygge og billigt. Selvfølgelig er der plads til forbedringer. Vi kan tilføje et batteri inde i kabinettet eller endda lyd. Jeg overvejer at tilføje et 18650 litiumbatteri sammen med wemos batteriskjold. Jeg gjorde det ikke i dette projekt, fordi jeg har brug for at teste Wemos batteriskærm noget mere. Dette lille skjold kan oplade og beskytte litiumbatterier, så det giver en nem måde at tilføje genopladelige batterier til vores projekter.

Jeg vil meget gerne høre din mening om dette projekt. Kan du lide, hvordan det ser ud, og kan du tænke på forbedringer af dette projekt? Send venligst dine kommentarer i kommentarfeltet herunder.

Anbefalede: