Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Får du mardrömmar om att förlora dina YouTube -prenumeranter? Om du gör det är du inte den enda.
Lyckligtvis har jag gjort denna "YouTube Desktop Notifier" för att hålla mig uppdaterad om mina kanaler Prenumerant och antal visningar. Detta mycket enkla DIY -projekt kostade mig cirka $ 10 och det håller mig nu i spår med min kanal. Förutom att visa prenumerant och vy räknar den här enheten också "pip och glöd" när min kanal får en ny prenumerant.
Steg 1: Hårdvarukrav - 1
För detta projekt behöver vi en blandning av både elektroniska komponenter och träbearbetningsverktyg.
- De elektroniska komponenterna inkluderar:
- En Perfboard
- NodeMCU
- 220v AC till 5v DC Buck Step-Down-modul
- En summersköld eller en summer och en 100Ω motstånd
- SPDT -omkopplare
- 4 x TM1637 4 bitars digitala 7-segmentskärmar
- Par färgade lysdioder och lika många 220Ω motstånd
- Några anslutningskablar
- En USB -kabel för att ladda upp koden
- och allmän lödutrustning
Steg 2: Hårdvarukrav - 2
För arbetsbiten behöver vi:
- Smak trä
- Penna
- Måttband
- Hand-/huggsåg
- Hammare
- Naglar
- Slipverktyg
- och personlig skyddsutrustning (PPE) för träsnitt
Jag gör höljet av pallträ eftersom jag har en massiv hög med pallar kvar från mina andra DIY-träprojekt. Du kan också göra lådan av kartong eller plastbehållare och måla den för att ge den COOL look.
Steg 3: Ämne täckt
Steg 4: Planen
Planen är att göra en 24 x 10 cm låda för att hålla kretsarna i den.
När enheten är påslagen kommer den först att ansluta till det angivna Wi-Fi-nätverket med SSID- och lösenordsparet i koden. När en anslutning har gjorts använder koden en kombination av "Google API -nyckeln" (jag visar dig hur du genererar den i det senare avsnittet) och ditt "YouTube Channels's ID" för att hämta data från YouTube -servern. Enheten visar sedan vyn och antalet prenumeranter med hjälp av 7 -segmentskärmen.
Efter att ha visat informationen väntar den i 5 minuter innan nästa uppsättning information hämtas från YouTube -servern. En variabel används för att lagra det aktuella antalet abonnenter. Om antalet nya abonnenter är större än det gamla antalet ringer summern på och de blå och vita lysdioderna blinkar (lyser) alternativt.
Steg 5: Kabeldragning
Ledningarna är mycket enkla. Vi börjar med att ansluta 7-segmentskärmarna till mikrokontrollern. Var och en av dessa skärmar har 4 stift, 2 för ström och en för klocka och den andra för data. Anslut data och klockstift till NodeMCU enligt instruktionerna på skärmen.
Sedan ansluter vi alla VCC -stiften på skärmarna till 3.3V -stiftet på NodeMCU. Anslut sedan summerskölden/summern med 100Ω motståndet till D8 -stiftet. Anslut sedan de blå och vita lysdioderna till D9- och D10 -stiften med ett 220Ω strömbegränsande motstånd.
Nu, fortsätt och länka alla markstift till GND -stiftet på NodeMCU. När alla stiften är anslutna ansluter du omkopplaren till VIN för NodeMCU och GND till GND i stegomvandlaren.
Steg 6: Bibliotek används
Kanalens användare och kanal -ID listas under "Kontoinformation"
Logga in på ditt YouTube -konto.
Klicka på din kontoikon> Inställningar högst upp till höger.
Klicka på "Avancerade inställningar" i panelen till vänster.
Här är listan över bibliotek som vi behöver för detta projekt.
Programvarubibliotek:
- TM1637 LED -drivrutin:
- ESP8266WiFi:
- Arduino Json:
- Arduino YouTube API:
Du kan ladda ner dem alla från GitHub, jag har tillhandahållit länkarna i beskrivningen nedan. När du har laddat ner packar du upp och byter namn på biblioteken genom att ta bort specialtecken och "mastern" från deras namn. Placera mappen i din Arduinos biblioteksmapp. Du kan behöva skapa biblioteksmappen om detta är ditt första bibliotek. Starta om IDE så att det läser in KEYWORD -filen, Exempel, och lägger till biblioteket i biblioteksmenyn.
Unika identifierare:
- WiFi SSID/lösenord
- YouTube -kanal -ID:
- Googles API-nyckel:
- Tillsammans med biblioteken behöver du också få unika identifierare för detta projekt.
- Den första är SSID och lösenord för ditt trådlösa nätverk.
-
Då behöver du din YouTube -kanals unika kanal -ID. För att få det:
- Logga in på ditt YouTube -konto.
- Klicka på din kontoikon> Inställningar högst upp till höger.
- Klicka på "Avancerade inställningar" i panelen till vänster.
- Kanalens användare och kanal -ID listas under "Kontoinformation"
-
Och slutligen måste du generera "Google API -nyckeln" för din kanal. För att generera nyckeln
- Sök på Google "Använda API -nycklar" eller öppna länken i beskrivningen nedan.
- Rulla ner och klicka på "API: er och tjänster → Uppgifter"
- Om det här är första gången du öppnar den här sidan måste du skapa ett nytt projekt genom att klicka på knappen "Skapa".
- Godkänn villkoren och ge ditt projekt ett namn och tryck sedan på "Skapa" -knappen för att skapa projektet
- När ett projekt har skapats behöver du bara klicka på rullgardinsmenyn "Skapa referenser" och välja "API -nyckel" därifrån
- Systemet tar sin tid att skapa nyckeln. När den väl skapats visar den dig nyckeln i en popup -dialog. - Kopiera och spara det i din e -post
- Klicka nu på alternativet "Bibliotek" från den vänstra panelen och
- Rulla ner och aktivera "YouTube Data API v3" och "YouTube Reporting API" genom att klicka på dem och klicka på "Aktivera" -knappen
- Vänta i 5 till 10 minuter och då ska du kunna använda API -nyckeln som du just skapade i din kod.
Steg 7: Träbearbetning
Låt oss börja vårt projekt med att montera trälådan. Som diskuterats tidigare kommer jag att klippa:
2 x 24x10cm, 2 x 10x6cm sidopaneler och en 24x10cm bakplatta. Efter att ha klippt alla träklossar ska jag gå med och slipa dem för att ge lådan ett snyggt och smidigt utseende. På baksidan av enheten ska jag borra 2 hål, ett av dem skulle vara för nätsladden och det andra för på- och avstängningsknappen.
Steg 8: Lödning
När lådan är klar ska jag lödda alla elektronikkomponenter och installera dem i lådan.
Jag börjar med att löda NodeMCU. Sedan löd jag 100Ω motståndet till D8 -stiftet på NodeMCU. Efter det kommer jag att löda summern till en perfboard och länka den till NodeMCU. Därefter ska jag löda omkopplaren och installera den på baksidan av lådan. Enligt schemat kommer en stift på omkopplaren att ansluta till VIN för NodeMCU och den andra till +ve -terminalen i stegomvandlaren. Omvandlarens -ände ansluter till GND -stiftet på NodeMCU. Nu ska jag löda de 7 segmenten enligt schemat.
Därefter löd jag de blå och vita lysdioderna till D9- och D10 -stiften på NodeMCU. Så här ser min frontplatta ut. Låt mig göra ett snabbt test innan du installerar frontplattan. Det verkar som om allt fungerar som det ska. OK, så låt mig installera frontplattan och sedan förklarar jag koden för er.
Steg 9: Koden
Detta är listan över de bibliotek som vi behöver för detta projekt.
Om du nu använder samma schema som min behöver du inte ändra något i den här koden än de här få raderna. Du behöver bara lägga till SSID och lösenord för ditt WiFI -nätverk och Google API -nyckeln och kanalens ID här. Vila kan du lämna som den är och ladda koden till NodeMCU.
"Api_mtbs" är den genomsnittliga tiden mellan API -begäranden som gjorts av mikroprocessorn.
Sedan initierar jag bildskärmarna genom att ställa in klockan och datastiften. Efter det sätter jag igång summern och de 2 lysdioderna.
I avsnittet setup () ställer jag in LED -stiftlägena och tänder den blå lysdioden vid start. Sedan rensar jag alla 7-segmenten och visar 0 på display 1 och 3. Efter det kommer enheten att ansluta till WiFI-nätverket med de angivna uppgifterna.
I loop () -delen när räknarens värde översteg api_mtbs eller i enkla termer, när det är dags att göra nästa begäran till YouTube -servern, görs ett API -samtal med kanal -ID och resultatet visas på seriell bildskärm och på 7-segmentskärmarna. Du måste beräkna MOD för det mottagna antalet för att visa de fyra sista siffrorna och sedan subtrahera MOD -värdet från det ursprungliga värdet för att få de första 4 siffrorna. En sak jag har märkt är att om MOD är låt säga 24 så visar displayen bara 24 och inte 0024. Så vi måste lägga till de saknade nollorna på displayen. Denna bit av koden är att lägga till de saknade 0: orna.
Och slutligen är denna bit av koden att slå på summern och lysdioderna när antalet nya abonnenter blir större än det gamla abonnentantal.
Obs! Pin D9 och D10 är RX- och TX -stiften på NodeMCU. Så om du ansluter lysdioderna till dessa stift kommer du inte att kunna få något på den seriella bildskärmen. Så, under testprocessen, anslut inte något till D9- och D10 -stiften och kommentera den bit som ställer in stiftlägena för dessa stift.
Du kan ladda ner koden från länken i beskrivningen nedan.
Steg 10: Framtidsförbättring
Några saker som jag kommer att inkludera i den kommande versionen av detta projekt är:
- Sparar det dagliga antalet i en webbservers databas
- Sparar månadsräkning i en webbservers databas
- Skapa ett webbgränssnitt för att visa den dagliga/månatliga analysen med hjälp av stapel/linjediagram
- Lägger till NeoPixels istället för blinkande lysdioder
Om du har några andra förslag, låt mig veta i kommentarerna nedan. Okej, så vad väntar du på? Fortsätt och tryck på prenumerationsknappen och låt min skrivbordsmeddelande surra och lysa.