
Das Diskussionsforum, zu diesem Projekt, findet ihr hier
Zur Übersicht nochmal die Phasen mit Erklärung
-
Phase:
In der 1. Phase werde ich nur einen einfachen Roboter erstellen, mit dem ich mit einen PS3-Pad bisschen rumfahren kann.
Dazu nutz ich als Basis ein Zeroborg.
Nach dieser Phase soll der Rahmen, Räder und die grundlegende Steuerung funktionieren - Phase:
Hier werde ich eine Pi-Noir(Kamera) montieren, der mit OPENCV Objekte sowie Gesichter erkennen kann.
Außerdem wird die Kamera mit einem Step-Motor beweglich gemacht.
Abschluss der Phase wird sein, dass der SV-Bot, Objekte folgen kann, oder eben bestimmten Personen. - Phase:
Jetzt wird es kompliziert, denn hier werde ich anfangen den Alexa-Skill zu schreiben und einzubinden. - Phase:
Zum guten Schluss wird noch das äußere Aussehen erstellt.
Zum Beginn der 2 Phase, habe ich die Mechanik für die Bewegung der Kamera geplant.
Um die Position der Kamera zu bestimmen, wird ein Referenz Punkt angefahren (linke Seite) von der aus alle weiteren Positionen berechnet werden.
Die Befestigungsplatte der Kamera wird mit zwei Stiften geführt und auch beschränkt in seiner Bewegungsfreiheit.
Sodass war es für Heute, als nächsten wird alles verkabelt und das Grundprogramm für die Drehung geschrieben.
Wenn es erste Fortschritte gibt, werde ich vorläufige Programm und 3D Modell zur Verfügung stellen.
So die Anbringung der Kamera am SV-Bot ist jetzt fertig.
Hier gibt es auch noch ein kleinen Code, der die Grundlegenden Bewegungensfunktion ermöglicht und eine Referenz fahrt macht.
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Verwendete Pins am Rapberry Pi
A=18
B=23
C=24
D=25
E=17
time = 0.005
# Pins aus Ausgnge definieren
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.setup(E, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.output(A, False)
GPIO.output(B, False)
GPIO.output(C, False)
GPIO.output(D, False)
# Schritte 1 - 8 festlegen
def Step1():
GPIO.output(D, True)
sleep (time)
GPIO.output(D, False)
def Step2():
GPIO.output(D, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(C, False)
def Step3():
GPIO.output(C, True)
sleep (time)
GPIO.output(C, False)
def Step4():
GPIO.output(B, True)
GPIO.output(C, True)
sleep (time)
GPIO.output(B, False)
GPIO.output(C, False)
def Step5():
GPIO.output(B, True)
sleep (time)
GPIO.output(B, False)
def Step6():
GPIO.output(A, True)
GPIO.output(B, True)
sleep (time)
GPIO.output(A, False)
GPIO.output(B, False)
def Step7():
GPIO.output(A, True)
sleep (time)
GPIO.output(A, False)
def Step8():
GPIO.output(D, True)
GPIO.output(A, True)
sleep (time)
GPIO.output(D, False)
GPIO.output(A, False)
def vw():
Step1()
Step2()
Step3()
Step4()
Step5()
Step6()
Step7()
Step8()
def rw():
Step8()
Step7()
Step6()
Step5()
Step4()
Step3()
Step2()
Step1()
while GPIO.input(E) == GPIO.LOW:
vw()
else:
for i in range (62):
rw()
GPIO.cleanup()
Display More
Zum Abschluss von Heute, gibt es noch ein paar Bilder mit der fertigen Verkabelung