Du willst Design studieren?Bewerbungsschluss zum Sommersemester 2023 ist der 15. November!
Inhalt des Kurses
Full Stack Development
Zwei Veranstaltungen im Stundenplan - aber ein Projekt zusammen. In dieser fachübergreifenden Veranstaltung geht es darum, die physischen Aspekte von Mechanik und Elektronik zu erkunden, und die dazugehörige Software von Embedded über Kommunikation und Datenbanken bis zur Nutzerschnittstelle selbst zu entwickeln. Dies sorgt nicht nur für allerlei Einblick in aufeinander aufbauende Technologien, sondern hilft auch, erste Erfahrungen in interdisziplinärer Projektarbeit zu sammeln. Denn am Ende sollen alle Teile zusammen auch ein funktionierendes Ganzes ergeben.
Das Thema in diesem Semester war der Bau von Robotern, mit denen die Gebäude der Hochschule durch Besucher der Semesterausstellung interaktiv erkundet werden können. Dabei steuern die Besucher die Roboter für eine begrenzte Zeit selbst, und können im Live-Videobild andere Roboter und deren Bewegungen sowie die Umgebung betrachten.“
Hier seht ihr die Liste der Roboter die momentan aktiv sind und die ihr live aus dem Internet steuern könnt - einfach anklicken und warten bis ihr an der Reihe seid:
Prof. Michael Schuster, Benjamin Thomsen, Florian Geiselhart, Mario Rieker
Motorized camera slider
Aufbau
Meine Idee war es einen gewöhnlichen Kameraslider mit einem Arduino, sowie einem Raspberry Pi zu motorisieren und ihn so fernsteuern zu können.
Dafür habe ich in erster Linie natürlich einen Slider gebraucht, an dem ich einen Nema 17 Schrittmotor befestigt habe. Daran wurde dann ein Zahnrad, genau wie am anderen Ende der Schiene, geschraubt, damit man einen Zahnriemen zum Ziehen der Kamera installieren kann.
Die Kamera habe ich auf einen Servo angebracht, welcher wiederum auf dem beweglichen Teil des Sliders befestigt war.
Damit man merkt, wenn man an einem Ende angekommen ist, habe ich auf beiden Seiten einen Mikroschalter installiert.
Code Entwicklung
Jetzt fehlte “nur noch” der Code Teil. Einen Link zu meinem Frontend Code gibt es hier: Code
Im Frontend wird durch anklicken der Buttons eine Nachricht übergeben, die dann über einen Server an das Backend und von dort an den Raspberry Pi geschickt wird um diese dann schlussendlich an den Arduino weiterzuleiten.
In meinem Arduino Code lasse ich den Slider im void Setup() erstmal eine Referenzfahrt machen, um die absolute Position herauszufinden. Danach überprüfe ich, ob man den Slider oder die Kamera ansteuern möchte. Der Slider fährt so lange, bis er an einen Endschalter gelangt, passiert letzteres, so fährt er kurz dagegen, springt aber direkt wieder in die entgegengesetzte Fahrtrichtung und bleibt dort stehen.
Der Servo kann sich bei einem Button Klick entweder um 180° nach links oder rechts bewegen.
Zum Schluss wollte ich noch ein Feedback der Position des Sliders im Interface mit einbinden. Dazu sende ich bei jedem Schritt die Position vom Arduino zum Frontend, und bewege mit diesen Daten den Slider im Interface.
Arduino Code:
#include <Stepper.h> #include <Servo.h>
const int buttonPinR = 7; const int buttonPinL = 6; int buttonStateR = 0; int buttonStateL = 0; int pos = 0; Servo myservo;
// Define number of steps per revolution: const int stepsPerRevolution = 200; Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11);
Kommentare
Michael Schuster
Hinterlasse einen Kommentar