Inhaltsverzeichnis:

Arduino XMAS Hitcounter - Gunook
Arduino XMAS Hitcounter - Gunook

Video: Arduino XMAS Hitcounter - Gunook

Video: Arduino XMAS Hitcounter - Gunook
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS-Hitcounter
Arduino XMAS-Hitcounter
Arduino XMAS-Hitcounter
Arduino XMAS-Hitcounter

Weihnachten rückt näher, deshalb hier mein Beitrag, um euch in die richtige Stimmung zu versetzen. Es ist ein Blog-Hitcounter, der eine Glocke läutet. Buchstäblich. Es zaubert dir jedes Mal ein Lächeln ins Gesicht, wenn jemand auf deinen Blog klickt.

Es besteht aus einem Arduino-Board, einer Glocke, einem Servo und ein paar Codezeilen in c, python und php. Die meisten Teile sind ziemlich häufig und sollten leicht zu bekommen sein.

Schritt 1: Werkzeuge und Materialien

Werkzeuge und Materialien
Werkzeuge und Materialien

Was wird also benötigt?

  • Arduino-Board. Ich habe ein Arduino Diecimila von Adafruits bekommen. Mittlerweile gibt es wirklich günstige und handliche Klone, z. B. das wirklich nackte Brett von Modern Devices, besonders wenn Sie es auf einem Steckbrett verwenden möchten.
  • Ein Servomotor. Jedes Servo wird es tun. Ich habe einen alten genommen, der in meinem früheren Hobby verwendet wurde.
  • Eine Glocke. Vorzugsweise eine, die klein genug ist, um sie mit dem Servo zu schütteln.
  • Zwei Büroklammern. Eine große, um die Glocke zu halten und eine kleine, um den Aktuator zu bauen, um die Glocke zu läuten.
  • Drähte, um das Servo mit dem Arduino zu verbinden.
  • Eine Website. Tatsächlich muss es keine Website oder ein Blog sein. Eigentlich funktioniert alles, was gezählt werden kann.
  • Ein PC oder Mac, um das Arduino-Board mit dem Blog oder der Website zu verbinden.

Möglicherweise benötigen Sie einen Lötkolben, wenn die Drähte nicht direkt mit dem Arduino verbunden werden können.

Schritt 2: Hardware-Montage

Hardware-Montage
Hardware-Montage
Hardware-Montage
Hardware-Montage
Hardware-Montage
Hardware-Montage
Hardware-Montage
Hardware-Montage

Die Glocke wird von einer starken Büroklammer gehalten. Aus der kleinen Büroklammer wird eine Art Arm gebildet, der am Servomotor befestigt wird.

Beachten Sie, dass Sie die Büroklammer, die die Glocke hält, so biegen möchten, dass bereits ein leichtes Schütteln ein Klingeln erzeugt.

Schritt 3: Schaltpläne

Schema
Schema

Es gibt keinen wirklichen Schaltplan. Befestigen Sie einfach den Servomotor am Arduino. Das Servo hat drei Drähte:

  • gelb oder orange: Signal
  • rot: VCC
  • braun: GND

Der rote und der braune werden an den entsprechenden Pins des Arduino (5V und GND) befestigt. Der orangefarbene ist mit Pin 2 verbunden. Er signalisiert dem Servo, in welche Richtung er sich drehen soll. Möglicherweise möchten Sie kleine Stecker an die Drähte löten, wenn die Drähte nicht direkt in den Arduino oder das Servo passen.

Schritt 4: Programmierung des Arduino

Programmierung des Arduino
Programmierung des Arduino

Arduino Wenn Sie neu beim Arduino sind, ist es ein kleines Board, das vollständig mit einem AVR-Mikrocontroller bestückt ist. Es eignet sich gut zum Hacken und Interagieren mit Ihrer Umgebung. Viele Dinge, die mit Mikrocontrollern schwierig sind, sind mit Arduino ziemlich einfach. Einige der Vorteile:

  • kein separates Programmiergerät (Programmer) erforderlich
  • kommt mit einer integrierten Entwicklungsumgebung (IDE)
  • läuft auf jeder Plattform, Windows, Mac, Linux.
  • einfacher Anschluss an Ihren PC mit USB
  • Hardware ist Open Source (aber der Name Arduino nicht)
  • hat eine tolle Community

Weitere Informationen finden Sie auf der offiziellen Arduino-Website. Achten Sie darauf, Johns Arduino instructable für weitere Details zu den ersten Schritten mit Arduino zu überprüfen. Was macht die Software? Die kleine Software, die auf den Arduino hochgeladen wird, steuert das Servo. Er empfängt einzelne Bytes über die serielle Verbindung über das USB-Kabel. Erhält er den Wert 5, bewegt er den Servoarm fünfmal hin und her. Der maximal zu sendende Wert ist also 255. Programmieren Sie den Ardiuno Ich gehe also davon aus, dass Sie die neueste Arduino IDE von Arduino.cc heruntergeladen und installiert haben. Im Moment ist es die Version 0010 Alpha. Um das Servo bequemer anzusteuern, müssen Sie eine Bibliothek herunterladen. Sie finden es auf dem Arduino Playground. Entpacken Sie es und legen Sie den Ordner in …/arduino-0010/hardware/libraries/ ab.

  • Verbinden Sie den Arduino mit dem USB-Kabel mit Ihrem PC.
  • Öffnen Sie die IDE und starten Sie eine neue Skizze. Sketch ist Arduino-Sprache für Programm. Wählen Sie Datei -> Neu.
  • Wählen Sie das entsprechende serielle Gerät aus (Tools -> Serial Port). Dies hängt von Ihrer Umgebung ab, für mich ist es /dev/tty.usbserial-A4001JAh.
  • Laden Sie die angehängte Quelldatei herunter und fügen Sie sie in die neue Skizze ein. Klicken Sie auf die Schaltfläche Speichern.
  • Klicken Sie auf die Schaltfläche Verifizieren. Dies kompiliert Ihre Skizze in eine Hex-Datei, die auf Ihr Arduino übertragen werden kann.
  • Klicken Sie auf die Schaltfläche Hochladen, um Ihre Skizze auf das Arduino zu übertragen.

Testen Jetzt ist Ihr Hitcounter einsatzbereit. Mal sehen, ob es funktioniert.

  • Klicken Sie auf die Schaltfläche für den seriellen Monitor.
  • Wählen Sie das Textfeld neben der Schaltfläche Senden aus.
  • Drücken Sie die Tabulatortaste und senden Sie es.
  • Der Servoarm sollte sich jetzt vor und zurück bewegen.

Puh. Das war der schwierigste Teil. Vorerst können Sie ein Byte an den Arduino und die Servowellen an Sie senden. Als nächstes müssen Sie etwas finden, bei dem Sie die Glocke auslösen möchten. Wir sind fast fertig.

Schritt 5: Machen Sie es zu einem Hitcounter

Um es zu einem Hitcounter für Ihre Website zu machen, benötigen wir zwei kleine Code-Stücke. Eins zwei erstellt und kümmert sich um den Zähler und ein zweiter, um den Wert des Zählers abzurufen und an den Arduino zu senden.

Hinweis: Wenn Sie mit Python oder PHP nicht vertraut sind, können die Skripte einfach auf Ihre bevorzugte Programmiersprache portiert werden. Der Zähler Hier ist ein kleines PHP-Skript, das einen Wert aus einer Datei (hitcounter.txt) liest, inkrementiert und schreibt es zurück in die Datei. Das ist alles, was benötigt wird. Diese Datei kann zB als counter.php auf Ihrem Server gespeichert werden. Sie können dann eine Zählung auslösen, indem Ihr Webbrowser auf https://www.youdomain.com/counter.php verweist. Ich habe diesen Ausschnitt in meinen WordPress-Blog aufgenommen. $hits = file($count_my_page); $hit = trim($hits[0]); $hit++; $fp = fopen($count_my_page, "w"); fputs($fp, "$hit"); fclose($fp); echo $hit; ?>Der Glue-Code Dieses nächste Code-Snippet wird verwendet, um den Zähler abzurufen. Ich habe Python verwendet, aber alles sollte funktionieren. Es öffnet eine HTTP-Verbindung und ruft die hitcounter.txt ab. Wenn sich der Wert seit dem letzten Abrufen geändert hat, wird das Diff berechnet und an den Arduino gesendet. Dies geschieht alle zehn Sekunden, bis Sie das Skript mit ctl-c unterbrechen. Passen Sie die untenstehende myUrl und die serielle Verbindung an Ihre Bedürfnisse an. # # Fetch Counter # Importzeit Import urllib Import Serial # USB serielle Verbindung zu Arduino ser = serial. Serial('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt ' last_counter = urllib.urlopen(myUrl).read() while (True): _ counter = urllib.urlopen(myUrl).read() _ delta = int(counter) - int(last_counter) _ print "counter: %s, delta: %s" % (counter, delta) _ ser.write(chr(ord(chr(delta)))) _ last_counter = counter _ time.sleep(10) Ich konnte keine Dateien mit PHP-Erweiterung hochladen, also du muss die counterphp.txt in counter.php umbenennen. Wenn Ihr Arduino noch an Ihren PC angeschlossen ist, starten Sie das Python-Skript, um Ihren Hitcounter abzurufen…>python counter.py und Sie sollten die Ausgabe des Zählers sehen. Wenn Sie Ihren Browser auf die URL Ihrer counter.php verweisen und auf neu laden klicken, sollten Sie Ihren Hitcounter klingeln hören. Ja, jetzt sind wir fertig. Zeit, sich zurückzulehnen und unsere Arbeit zu genießen.

Schritt 6: Fazit

Abschluss
Abschluss

Es ist das erste Mal, dass ich etwas gebaut habe, das bewegliche Teile hat. Das ist der erste Schritt, um die Lücke zwischen der virtuellen und der realen Welt zu schließen. Und es war wirklich einfach, der Code ist einfach. Auch die meisten Teile waren in meinem Mülleimer, außer der Klingel. Es hat Spaß gemacht, alles zusammenzustellen und darauf zu warten, dass jemand auf meinen Blog kommt.

Hoffe es hat dir gefallen.

Empfohlen: