AndyF
15.10.2016, 17:29
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
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