Schrittmotor am Raspberry Pi über Webinterface steuern

Veröffenticht am 05.11.2016    von     in der Kategorie Raspberry Pi     bisher keine Reaktionen


Der in diesem Beitrag veröffentlichte Programm-Code ermöglicht die Steuerung eines Schrittmotors mit ULN 2003 Treiber Board über ein auf dem Raspberry Pi vorhandenes Webinterface. Die beiden Skripte sind Teil eines Projektes, in dem ich den Sichtbereich der Kamera mittels eines Schrittmotors über ein Webinterface einstelle. Da ich in diesem Projekt mittels Bewegungsmelder auf die Kamera zugreife, stelle ich der Weboberfläche das Kamerabild über eine Bilderreihe, anstatt einem Videostream zur Verfügung.

 

Funktionsweise des Programmcodes

 

Vorbereitung

Damit die zur Verfügung gestellten Programmskripte funktionieren, sind neben dem Anschluss des Schrittmotors, folgende Vorbereitungen notwendig.

Für die Verbindung zwischen Python und HTML/JavaScript muss neben einem eingerichteten Webserver die Tornado Websocket Bibliothek vorhanden sein. Informationen zur Verwendung des Tornado Websocket findest du in meinem Beitrag “Web zu UART Terminalprogramm…”.

Wenn du auch das Kamerabild über die Bildreihe dem Webinterface zur Verfügung stellen möchtest, dann schaue dir mal die Beiträge “Kameraaufnahme mit HC-SR501 Bewegungsmelder am Raspberry Pi” und zur Zwischenspeicherung der Bilder meinen Beitrag zur Anlage einer Ram-Disk an.

 

Anschluss und Ansteuerung des Schrittmotors

Bei dem von mir verwendeten Schrittmotor handelt es sich um einen 28YBJ-48DC 5V 4 Phasen Motor mit ULN2003 Treiber Board. Da Christoph Scherbeck mit seinem Beitrag “Schrittmotorsteuerung mit dem Raspberry Pi” eine super Anleitung zum Anschluss und Ansteuerung veröffentlicht hat, welche auch die Grundlage für meine Umsetzung ist, möchte ich auf diesen Verweisen.

 

Das Python-Skript

 

 

Das HTML-Skript

Die Übergabe der gewünschten Drehrichtung an das Python-Skript erfolgt mit der entsprechenden Funktion socket.send(). Die Überwachung und Abfrage der Button erfolgt in $(‘.button-auswahl button’).click(function(evt).

Auslesen der Bewegungssensoren mit JavaScript

Wenn der Aufruf der Webseite mit einem Smartphone bzw. Tablet erfolgt, wird die Drehrichtung in der Funktion handleOrientation(event) überwacht und verarbeitet. In meinem Fall möchte ich nicht jede Gradänderung weitergeben und führe diese erst nach Erfüllung der if-Option durch. Damit die erste Positionsabfrage keine Einwirkung auf den Schrittmotor hat, verwende ich im Skript var startStatus. Weitere Informationen zur Erfassung der Sensorwerte des Gerätes findest du in der API Beschreibung “Detecting device orientation”.

Sollte die Abfrage auf deinem Gerät oder verwendeten Browser nicht unterstützt werden, erfolgt auch keine entsprechende Text-Ausgabe im Footer in den entsprechenden <label> Tags.

Download aller Dateien

Die beiden Skripte mit den notwendigen Bootstrap Bibliotheken kannst du dir hier als ZIP-Archiv herunterladen.

 

Share on Facebook0Share on Google+1Tweet about this on Twitter0Pin on Pinterest1Share on LinkedIn0



Servus, ich bin Wolfgang.

Blogger – Maker – web & mobile Developer – Dobermann Besitzer.

Mit meinem über die Jahre gesammelten Wissen als Webworker möchte ich dir Hilfestellungen und Anregungen zur Nutzung der sich aus dem digital Lifestyle ergebenden Möglichkeiten und Notwendigkeiten geben.

Einen aktuellen Schwerpunkt auf meinem Blog bildet das Thema IoT im Zusammenspiel mit dem Raspberry Pi.


Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Notwendige Felder sind mit * markiert.

Verfasse den ersten Kommentar (0 Kommentare)