Inhoudsopgave:

Instructables View Counter + ESP8266 Guide - Ajarnpa
Instructables View Counter + ESP8266 Guide - Ajarnpa

Video: Instructables View Counter + ESP8266 Guide - Ajarnpa

Video: Instructables View Counter + ESP8266 Guide - Ajarnpa
Video: WiFi YouTube subscriber counter - Arduino ESP8266 2024, November
Anonim

Abonnee-tellers voor YouTube en Facebook zijn vrij gebruikelijk, maar waarom zou u niet iets soortgelijks maken voor Instructables? Dat is precies wat we gaan doen: in deze instructable maken we een Instructables-weergaveteller!

De weergaven zullen van de interwebs moeten worden vastgelegd, dus we zullen de gewone (en goedkope) ESP8266 WiFi-module gebruiken om de vereiste informatie te krijgen. Het heeft wat configuratie nodig, maar ik zal alle stappen doorlopen die nodig zijn om het in gebruik te nemen.

Om het project zo toegankelijk mogelijk te houden (d.w.z. er is geen 3D-printer, lasersnijder of deeltjesversneller nodig), besloot ik Lego voor de zaak te gebruiken! Dus haal die bak met Lego tevoorschijn en laten we gaan bouwen!

Stap 1: Onderdelen & Gereedschap

Onderdelen & Gereedschap
Onderdelen & Gereedschap

Onderdelen

  • ESP8266 ESP-01
  • MAX7219 7-cijferige LED-displaymodule
  • 3.3V compatibele FTDI breakout (programmeur)
  • Pin-headers
  • 4x 10k Ohm weerstand
  • 2x Drukknop
  • 2x 10uF condensator
  • 3.3V-regelaar (LM1117-3.3V)
  • USB-kabel
  • Lego!

Totale kosten: <10$

Gereedschap

Soldeerbout

Stap 2: Elektronica

Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica

Laten we beginnen met het project door het circuit te bouwen.

De elektronica van het project is niet erg ingewikkeld, maar de ESP8266-module vereist een speciale behandeling om hem te laten werken. Dus allereerst, waar gaat dit ESP-gedoe over?

De ESP8266 is vooral bekend als een goedkope wifi-chip, maar heeft ook een volwaardige microcontroller-eenheid. Dit maakt het ideaal voor projecten die wifi vereisen en het aansturen van externe componenten zoals ons 7-segments display. Het programmeren gebeurt met een USB naar serieel converter, ook wel een FTDI converter genoemd.

Schematisch

De componenten kunnen eenvoudig worden aangesloten zoals in het schema, maar hier wordt wat meer informatie gegeven.

Allereerst werkt de ESP8266 op 3,3V, terwijl het display (en de USB die we zullen gebruiken voor stroom) op 5V werkt. Dit betekent dat we een spanningsomvormer nodig hebben om de 5V van de USB om te zetten in 3,3V voor de ESP8266.

Bij het opstarten van de ESP8266 gaat hij naar een van zijn "opstartmodi", afhankelijk van de spanning op de IO-pinnen. Met andere woorden: als we willen dat het onze code uitvoert wanneer het opstart, moeten we dit configureren! Voor het uitvoeren van het programma betekent dit:

  • CH_PD naar VCC
  • RST naar VCC
  • GPIO0 naar VCC
  • GPIO2 naar VCC

Terwijl voor het programmeren van het apparaat, dit vertaalt naar:

  • CH_PD naar VCC
  • RST naar VCC
  • GPIO0 naar GND
  • GPIO2 naar VCC

Zoals te zien is, is het enige verschil de status van de GPIO0-pin. Daarom zullen we tijdens het programmeren een drukknop gebruiken om GPIO0 met GND te verbinden. Na het opstarten kunnen de pinnen vrij worden gebruikt, in ons geval voor 2 dingen:

  1. Als ingang: er is een knop aangesloten op GPIO2.
  2. Het scherm besturen. Omdat er meer dan 2 signalen nodig zijn, worden de TX- en RX-lijn ook als IO gebruikt.

Nu we de werkingstheorie achter de rug hebben, kunnen we dit vertalen naar een fysiek ontwerp.

PCB

Om de printplaat te maken heb ik een perfboard/stripboard layout ontworpen in KiCad (een open source printplaat layout software). Door de rasterafstand in te stellen op 2,54 mm (0,1 inch), kunt u lay-outs maken die op stripboard kunnen worden gesoldeerd.

Dit maakt het super eenvoudig om de elektronica aan elkaar te solderen: print het ontwerp (meegeleverd als pdf) en kopieer het ontwerp op het stripboard. Gebruik header-pinnen om het scherm, FTDI en ESP8266 aan te sluiten.

Snijd na het solderen de perfboard op de juiste maat en sluit alle componenten aan. Met de elektronica aan elkaar gesoldeerd kunnen we er leven in blazen met wat code!

Stap 3: Programmeren van de ESP8266

Programmeren van de ESP8266
Programmeren van de ESP8266
Programmeren van de ESP8266
Programmeren van de ESP8266

De bibliotheken instellen

Voordat we code naar het bord kunnen uploaden met behulp van de Arduino IDE, moeten we de bibliotheken toevoegen. Dit kan door de volgende stappen te volgen:

  1. Ga naar Bestand> Voorkeuren en plak de volgende link in het vak "Extra boardmanager-URL's":
  2. Ga naar Tools>Boards>Boards Manager en zoek naar ESP8266
  3. Installeer vanuit dit venster het meest recente pakket
  4. Start de IDE opnieuw
  5. Selecteer in Extra>Boards "Generic ESP8266 Module" als board
  6. Open de schets en render deze (ctrl+R) om te zien of het bord correct is toegevoegd.

De code uploaden

Om ons apparaat te programmeren, moeten we het in de programmeermodus zetten en verbinden met het FTDI-breakoutboard. Dit kan worden gedaan door de juiste pinnen naar VCC of GND te trekken en de verbindingen te maken zoals hieronder vermeld.

  • CH_PD naar VCC
  • RST naar VCC
  • GPIO0 naar GND
  • GPIO2 naar VCC
  • RX naar TX van FTDI
  • TX naar RX van FTDI

Gelukkig zijn alle verbindingen die verbindingen al aanwezig op onze printplaat. Ik probeerde het eerst op een breadboard, en zoals je kunt zien, is het een beetje onhandig. Dus om code te uploaden:

  1. Verwijder het display en sluit de FTDI. aan
  2. Houd de programmaknop ingedrukt bij het aansluiten van de USB-kabel
  3. Upload de code. Na het uploaden moet "Set net" worden weergegeven

Mogelijke fouten

U kunt een foutmelding krijgen bij het uploaden, zoals "error: espcomm_upload_mem_failed", upload de code gewoon opnieuw. Als het scherm leeg blijft bij het opstarten, uploadt u de code ook opnieuw.

De code uitvoeren

Om de code uit te voeren die we zojuist hebben geüpload, moet de programmeermodus worden uitgeschakeld door de GPIO0-pin naar VCC te trekken. Of in ons geval, zet het apparaat aan zonder op de programmaknop te drukken.

Met de code geüpload en actief, kunnen we nu onze viewcounter configureren!

Stap 4: De weergaveteller instellen

De weergaveteller instellen
De weergaveteller instellen
De weergaveteller instellen
De weergaveteller instellen
De weergaveteller instellen
De weergaveteller instellen

De configuratie van de viewcounter gebeurt via een webpagina-interface. Dit maakt het mogelijk om de instellingen on-the-fly te wijzigen in plaats van de code elke keer opnieuw te moeten uploaden.

De webserver configureren

  1. Zet het apparaat aan en wacht tot "set net" wordt weergegeven
  2. Druk op de Mode-knop, het apparaat toont "setup"
  3. Ga op je pc naar je wifi-netwerken en selecteer "Instructables Hit Counter" (Als je om een wachtwoord wordt gevraagd, voer je 'wachtwoord' in.)
  4. Er zou een browservenster moeten openen (open er anders zelf een en typ 192.168.4.1 in)
  5. Er wordt een pagina geopend, druk op "WiFi configureren"
  6. Kies een netwerk en typ je wachtwoord in. Vul een statisch IP, gateway en subnet in
  7. Druk op opslaan, er verschijnt een bevestigingspagina

Nu de ESP8266 is verbonden met ons WiFi-netwerk, kunnen we onze Instructable-referenties invullen.

Gebruikersinstellingen

  1. Open een browser en typ het statische IP-adres dat u in de vorige stap hebt gekozen.
  2. Ga naar het tabblad "Gebruikersinstellingen"
  3. Vul uw Instructables-naam in en sla op
  4. Volg de instructies op de pagina om de weergaven van een specifieke Instructable te zien
  5. Druk op opslaan, uw weergaven worden nu weergegeven!
  6. Voor meer opties, verken de instellingen;)

De balie is nu volledig functioneel, maar ziet er nog steeds een beetje saai uit. Laten we daar verandering in brengen door een geweldige case te maken!

Opmerking

De code van dit project komt van deze geweldige kerel: https://www.instructables.com/id/Instructables-Hi… Alle eer voor de code gaat naar hem, ik gebruik het alleen om mijn eigen versie van het project te maken. De belangrijkste reden dat ik dit schrijf is omdat ik een aantal dingen bij elkaar moest puzzelen om het te laten werken (zoals hoe de ESP8266 te programmeren, de bibliotheken toe te voegen, de instructables-ID te krijgen, de PCB te maken, …) en ik wilde een complete zelfstandige gids maken.

Stap 5: Behuizing

Behuizing
Behuizing
Behuizing
Behuizing
Behuizing
Behuizing

Dit is het deel waar je super creatief kunt worden. Elke zaak kan werken, maar een mooie maken kan een project maken of breken. Daarom heb ik besloten om de mijne van Lego te maken!

Het scherm monteren

Om het scherm op zijn plaats te bevestigen, vond ik dat een "Lego-paneel zonder zijsteun" perfect op het scherm past. Er is alleen één nadeel: hij is twee keer zo breed als ik zou willen… Gelukkig is dit eenvoudig op te lossen door hem in 2 te knippen. We hebben nu een mooie houder voor het display, en een goed uitgangspunt voor de hele behuizing!

De letters maken

Om het duidelijker te maken dat dit een weergaveteller is, wilde ik een label met "weergaven" opnemen. Maar toen dacht ik, waarom een stom label gebruiken als je van Lego letters kunt maken? Dus dat is wat ik deed! Ik heb een close-up van de letters toegevoegd, zodat ze gemakkelijker te repliceren zijn.

De robot maken

Ik was op zoek naar iets om deze build af te maken en kwam deze geweldige instructable tegen:

De instructables-robot gebouwd van Lego, de perfecte metgezel voor de toonbank! Ik zal niet ingaan op de gedetailleerde stappen om het hier te maken, omdat het stap voor stap wordt uitgelegd in de originele instructable. Onze kleine metgezel is de finishing touch voor onze zaak; werden gedaan!

Stap 6: Test & Geniet

Proef & Geniet!
Proef & Geniet!

Werden gedaan! Het enige wat we nog moeten doen is onze nieuwe kijkteller testen.

Sluit het aan op een USB-poort en bewonder je uitzicht! Ik hoop dat je het project leuk vond en geïnspireerd bent om iets soortgelijks te maken.

Voel je vrij om mijn andere instructables te bekijken:

Aanbevolen: