Hallo Zusammen,
ich hätte eine Idee für ein lustiges Projekt, aber es möchte nicht
klappen.
An meinen Gartenteich möchte ich einen Zwerg mit einer Angel stellen.
Per Bewegungsmelder soll sich der Zwerg dann wenn jemand vorbei geht,
schnell wegdrehen und die Angel schleudern.
Und da ich aus meiner Modellbaukiste noch viele Servos habe, wollte ich
einen solchen unter den Zwerg schnallen.
Mit meiner C-Control Mikro und dem Entwicklngsboard habe ich es nun
probiert.
Schliesse ich einen Servo an und nehme das Beispielprogramm aus der
CControl-CD funktioniert es einwandfrei.
Sobald ich am Poti am Baord drehe, dreht der Servo einwandfrei mit.
Mein Problem ist aber, dass sobald ich den Code verändere, der Servos
gar nichts macht, stehen bleibt, oder zittert.
Er soll ja eigenlich nur einmal schwenken, dann für 5 Sekunden warten
und dann zurück in die Ausgangsposition.
Also dacht ich mir in etwa so (zum Test mit Taster an Port 3).
#Start
Programmblablabla
Pos2=20
if Taster=off then
Pos2=100
pause 1000
end if
goto Start
Hier ist der Beispielcode, der einwandfrei funktioniert und den ich
eigentlich nur mit o. g. code modifiziere:
'--------------------------
'------ I/O PORTS ---------
'--------------------------
define POS1 byte[1]
define POS2 byte[2]
define SERVO1 port[4]
define SERVO2 port[5]
define ADC6 ad[6]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define ADJ2 byte
'---------------------------------------------------
'------ DRIVER INIT POR PAGE AND PORTS -------------
'---------------------------------------------------
SYS FD34h 'PAGE0
'SYS FC37h 'PAGE1
SERVO1=off
SERVO2=off
'---------------------------------------------------
'--------- SETTING SERVO 1 POSITION ---------------
POS1=100
'--------- SERVO 2 POSITION ADJUSTABLE ------------
#los
ADJ2=ADC6/2
'--------- LIMIT SERVO POSITION TO 100 ------------
if ADJ2<=100 then POS2=ADJ2
if ADJ2>100 then POS2=100
goto los
syscode "SERVO_P4P5.s19"
attributes
end attributes
Hat jemand eine Idee?
Dank Euch und Pfürt Euch
Andi
Simulier dein Programm mal (im Kopf). Was passiert, wenn du Taster gedrückt hältst? Das muss reichen. Viel Spaß!
Der Servo muss dauernd (alle 25msec) seine Impulse (von 1 bis 2 msec Dauer) bekommen.
Hey Hallo Danke Ihr Beiden. Da ich nach dem Tastendruck das Programm eh in eine Pause schicke, ging ich davon aus, das passt schon. Aber Dank Eurer Antworten habe ich jetzt 2 neue hoffnungsvolle Ansätze. Das könnte es ja wirklich sein. DANKE Andi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.