Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Abonnentenzähler für Youtube und Facebook sind weit verbreitet, aber warum nicht etwas Ähnliches für Instructables machen? Genau das werden wir tun: In diesem instructable machen wir einen Instructables-Ansichtszähler!
Die Ansichten müssen aus den Interwebs erfasst werden, daher verwenden wir das übliche (und billige) ESP8266-WLAN-Modul, um die erforderlichen Informationen zu erhalten. Es erfordert eine gewisse Konfiguration, aber ich werde alle Schritte durchgehen, die erforderlich sind, um es zum Laufen zu bringen.
Um das Projekt so zugänglich wie möglich zu halten (d.h. keinen 3D-Drucker, Laserschneider oder Teilchenbeschleuniger zu benötigen), habe ich mich für Lego entschieden! Also hol den Lego-Behälter raus und lass uns bauen!
Schritt 1: Teile & Werkzeuge
Teile
- ESP8266 ESP-01
- MAX7219 7-stelliges LED-Anzeigemodul
- 3.3V-kompatibler FTDI-Breakout (Programmierer)
- Stiftleisten
- 4x 10k Ohm Widerstand
- 2x Taster
- 2x 10uF Kondensator
- 3.3V-Regler (LM1117-3.3V)
- USB-Kabel
- Lego!
Gesamtkosten: < 10$
Werkzeuge
Lötkolben
Schritt 2: Elektronik
Beginnen wir das Projekt mit dem Bau der Schaltung.
Die Elektronik des Projekts ist nicht sehr kompliziert, aber das ESP8266-Modul erfordert eine besondere Behandlung, damit es funktioniert. Also zunächst einmal, worum geht es bei dieser ESP-Sache?
Der ESP8266 ist am besten als kostengünstiger WLAN-Chip bekannt, verfügt jedoch auch über eine vollwertige Mikrocontroller-Funktion. Dies macht es ideal für Projekte, die WLAN und die Steuerung externer Komponenten wie unserer 7-Segment-Anzeige erfordern. Die Programmierung erfolgt mit einem USB-Seriell-Konverter, auch FTDI-Konverter genannt.
Schaltplan
Die Komponenten können einfach wie im Schaltplan verbunden werden, hier werden aber noch etwas mehr Informationen gegeben.
Zunächst arbeitet der ESP8266 mit 3,3 V, während das Display (und der USB, den wir für die Stromversorgung verwenden) mit 5 V arbeitet. Dies bedeutet, dass wir einen Spannungswandler benötigen, um die 5 V des USB in 3,3 V für den ESP8266 umzuwandeln.
Beim Einschalten des ESP8266 wechselt es in einen seiner "Boot-Modi", abhängig von der Spannung an seinen IO-Pins. Mit anderen Worten: Wenn wir möchten, dass es unseren Code beim Booten ausführt, müssen wir dies konfigurieren! Für die Programmausführung bedeutet dies:
- CH_PD zu VCC
- RST zu VCC
- GPIO0 zu VCC
- GPIO2 zu VCC
Bei der Programmierung des Geräts bedeutet dies:
- CH_PD zu VCC
- RST zu VCC
- GPIO0 zu GND
- GPIO2 zu VCC
Wie man sieht, ist der einzige Unterschied der Zustand des GPIO0-Pins. Daher verwenden wir beim Programmieren einen Taster, um GPIO0 mit GND zu verbinden. Nach dem Booten können die Pins frei verwendet werden, in unserem Fall für 2 Dinge:
- Als Eingang: An GPIO2 ist ein Taster angeschlossen.
- Fahren des Bildschirms. Da mehr als 2 Signale benötigt werden, wird die TX- und RX-Leitung auch als IO verwendet.
Nachdem wir nun die Betriebstheorie aus dem Weg geräumt haben, können wir dies in ein physikalisches Design übersetzen.
PCB
Um das PCB zu erstellen, habe ich ein Perfboard/Stripboard-Layout in KiCad (einer Open-Source-PCB-Layout-Software) entworfen. Durch Einstellen des Rasterabstands auf 2,54 mm (0,1 Zoll) können Sie Layouts erstellen, die auf Stripboard gelötet werden können.
Damit lässt sich die Elektronik super einfach zusammenlöten: Einfach das Design ausdrucken (als PDF enthalten) und das Design auf das Stripboard kopieren. Verwenden Sie Header-Pins, um den Bildschirm, FTDI und ESP8266 anzuschließen.
Schneiden Sie nach dem Löten das Perfboard auf die richtige Größe und stecken Sie alle Komponenten ein. Wenn die Elektronik zusammengelötet ist, können wir ihnen mit etwas Code Leben einhauchen!
Schritt 3: Programmierung des ESP8266
Einrichtung der Bibliotheken
Bevor wir mit der Arduino IDE Code auf das Board hochladen können, müssen wir seine Bibliotheken hinzufügen. Dies kann durch Befolgen der nächsten Schritte erfolgen:
- Gehen Sie zu Datei>Einstellungen und fügen Sie den folgenden Link in das Feld "Zusätzliche Board-Manager-URLs" ein:
- Gehen Sie zu Tools>Boards>Boards Manager und suchen Sie nach ESP8266
- Installieren Sie in diesem Fenster das neueste Paket
- Starten Sie die IDE neu
- Wählen Sie unter Tools>Boards "Generic ESP8266 Module" als Board
- Öffnen Sie die Skizze und rendern Sie sie (Strg+R), um zu sehen, ob das Board richtig hinzugefügt wurde.
Hochladen des Codes
Um unser Gerät zu programmieren, müssen wir es in den Programmiermodus versetzen und mit dem FTDI-Breakout-Board verbinden. Dazu ziehen Sie die entsprechenden Pins auf VCC oder GND und stellen die Verbindungen wie unten aufgeführt her.
- CH_PD zu VCC
- RST zu VCC
- GPIO0 zu GND
- GPIO2 zu VCC
- RX zu TX von FTDI
- TX zu RX von FTDI
Glücklicherweise sind alle Verbindungen dieser Verbindungen bereits auf unserer Platine vorhanden. Ich habe es zuerst auf einem Steckbrett versucht, und wie Sie sehen können, ist es etwas ungeschickt. So laden Sie den Code hoch:
- Entfernen Sie das Display und stecken Sie das FTDI. ein
- Halten Sie die Programmtaste gedrückt, wenn Sie das USB-Kabel anschließen
- Laden Sie den Code hoch. Nach dem Hochladen sollte "Set net" angezeigt werden
Mögliche Fehler
Möglicherweise erhalten Sie beim Hochladen eine Fehlermeldung wie "error: espcomm_upload_mem_failed", laden Sie einfach den Code erneut hoch. Wenn die Anzeige beim Einschalten leer bleibt, laden Sie auch den Code erneut hoch.
Ausführen des Codes
Um den gerade hochgeladenen Code auszuführen, sollte der Programmiermodus deaktiviert werden, indem der GPIO0-Pin auf VCC gezogen wird. Oder in unserem Fall das Gerät einschalten, ohne die Programmtaste zu drücken.
Nachdem der Code hochgeladen und ausgeführt wurde, können wir jetzt unseren Viewcounter konfigurieren!
Schritt 4: Einrichten des Viewcounters
Die Konfiguration des Viewcounters erfolgt über eine Webseitenoberfläche. Dies ermöglicht es, die Einstellungen im laufenden Betrieb zu ändern, anstatt den Code jedes Mal neu hochladen zu müssen.
Webserver konfigurieren
- Schalten Sie das Gerät ein und warten Sie, bis "set net" angezeigt wird
- Drücken Sie die Mode-Taste, das Gerät zeigt "Setup" an
- Gehen Sie auf Ihrem PC zu Ihren WLAN-Netzwerken und wählen Sie "Instructables Hit Counter" (Wenn Sie nach einem Passwort gefragt werden, geben Sie "Passwort" ein.)
- Es sollte sich ein Browserfenster öffnen (ansonsten selbst eines öffnen und 192.168.4.1 eingeben)
- Es öffnet sich eine Seite, drücken Sie auf "WiFi konfigurieren"
- Wählen Sie ein Netzwerk aus und geben Sie Ihr Passwort ein. Geben Sie eine statische IP, ein Gateway und ein Subnetz ein
- Klicken Sie auf Speichern, eine Bestätigungsseite wird angezeigt
Jetzt, da der ESP8266 mit unserem WiFi-Netzwerk verbunden ist, können wir unsere Instructable-Anmeldeinformationen ausfüllen.
Benutzereinrichtung
- Öffnen Sie einen Browser und geben Sie die statische IP ein, die Sie im vorherigen Schritt ausgewählt haben.
- Gehen Sie zum Tab "Benutzereinrichtung"
- Geben Sie Ihren Instructables-Namen ein und speichern Sie
- Um die Ansichten eines bestimmten Instructable anzuzeigen, befolgen Sie die Anweisungen auf der Seite
- Klicken Sie auf Speichern, Ihre Ansichten werden jetzt angezeigt!
- Weitere Optionen finden Sie in den Einstellungen;)
Der Zähler ist jetzt voll funktionsfähig, sieht aber noch etwas langweilig aus. Lasst uns das ändern, indem wir einen tollen Fall machen!
Notiz
Der Code dieses Projekts stammt von diesem großartigen Typen: https://www.instructables.com/id/Instructables-Hi… Alle Anerkennung für den Code geht an ihn, ich verwende ihn lediglich, um meine eigene Version des Projekts zu erstellen. Der Hauptgrund, warum ich dies schreibe, ist, dass ich einige Dinge zusammenrätseln musste, damit es funktioniert (wie das Programmieren des ESP8266, das Hinzufügen der Bibliotheken, das Abrufen der Instructables-ID, das Herstellen der Platine, …) und wollte eine vollständige eigenständige Anleitung erstellen.
Schritt 5: Gehäuse
Dies ist der Teil, in dem Sie super kreativ werden können. Jeder Fall kann funktionieren, aber einen schönen Fall zu machen, kann ein Projekt machen oder zerstören. Deshalb habe ich beschlossen, meins aus Lego zu machen!
Bildschirm montieren
Um den Bildschirm zu fixieren, fand ich, dass ein "Lego-Panel ohne Seitenstütze" perfekt zum Bildschirm passt. Es gibt nur einen Nachteil: Es ist doppelt so breit wie ich es gerne hätte… Glücklicherweise lässt sich dies leicht lösen, indem man es in 2 schneidet. Wir haben jetzt eine schöne Halterung für das Display und einen guten Ausgangspunkt für das gesamte Gehäuse!
Buchstaben herstellen
Um deutlicher zu machen, dass es sich um einen View-Zähler handelt, wollte ich ein Label mit "Views" einfügen. Aber dann dachte ich, warum ein dummes Etikett verwenden, wenn man aus Lego Buchstaben machen kann? Das habe ich also getan! Ich habe eine Nahaufnahme der Buchstaben eingefügt, damit sie leichter zu replizieren sind.
Den Roboter herstellen
Ich suchte nach etwas, um diesen Build zu beenden, und stolperte über dieses tolle instructable:
Der instructables Roboter aus Lego, der perfekte Begleiter für den View Counter! Ich werde nicht auf die detaillierten Schritte eingehen, um es hier zu machen, da es im Original Schritt für Schritt erklärt wird. Unser kleiner Begleiter ist der letzte Schliff für unseren Fall; Wir sind fertig!
Schritt 6: Testen & genießen
Wir sind fertig! Jetzt müssen Sie nur noch unseren neuen View Counter testen.
Schließen Sie es an einen USB-Port an und bewundern Sie Ihre Ansichten! Ich hoffe, Ihnen hat das Projekt gefallen und Sie sind inspiriert, etwas Ähnliches zu machen.
Fühlen Sie sich frei, meine anderen instructables zu überprüfen: