Hallo zusammen,
ich habe ein großes Problem und finde einfach keine Lösung dazu. Ich möchte mit einem Tiny13 einen Servo ansteuern. Es gibt 2 Stellungen - auf und zu. Diese werden durch 2 Taster angefahren. Nun soll es aber so sein, dass wenn das Servo die Position erreicht hat, das Servo Signal weg sein soll, damit es nicht brummt.
Ich habe mir überlegt, es mit Enable und Disable Interrupts zu machen. Nach dem ersten Einschalten funktioniert das auch einwandfrei. Das Servo fährt in die Position ( hier 66 ) und ich kann es von Hand bewegen. Sobald ich jedoch die Abfrage der Taster einbaue, funktioniert das Ausschalten des Servo Signals nicht mehr. Das Servo Signal ist IMMER da. Ich weiß bald nicht mehr weiter ....Es muss noch eine möglichkeit geben, das Signal mittels Software auszuschalten.
Vielen Dank im Voraus !!!
Code:'************************************************************************************************* '* * '* Servo Tiny Kieswerk * '* * '* Controller ist ein Tiny13 * '* * '************************************************************************************************* $regfile = "Attiny13.dat" ' Controller ist ein Tiny13 $crystal = 4800000 ' 4,8 Mhz Takt $hwstack = 10 $framesize = 10 $swstack = 20 Config Pinb.0 = Input ' Ein- / Ausgänge definieren Config Pinb.1 = Input Config Portb.2 = Output Config Portb.3 = Output Config Portb.4 = Output Taster_zu Alias Pinb.0 Taster_auf Alias Pinb.1 Gruen Alias Portb.3 Rot Alias Portb.4 Enable Interrupts Config Servos = 1 , Servo1 = Portb.2 , Reload = 10 Portb.0 = 1 ' Interne Pullups ein Portb.1 = 1 Portb.3 = 1 ' Werte von 40 - 75 = 90° Drehung Servo(1) = 66 Gruen = 0 Waitms 100 Disable Interrupts Taster_abfrage_zu: Do If Taster_auf = 0 Then Enable Interrupts Servo(1) = 66 Rot = 1 Gruen = 0 Waitms 100 Disable Interrupts Else Goto Taster_abfrage_auf End If Loop Taster_abfrage_auf: Do If Taster_zu = 0 Then Enable Interrupts Servo(1) = 95 Rot = 0 Gruen = 1 Waitms 100 Disable Interrupts Else Goto Taster_abfrage_zu End If Loop End







Zitieren


Lesezeichen