Bascom macht es einem mit vielen Makros sowas von Einfach.
Das sind allenfalls 10-15 Minunten Arbeit (5-7 Minuten für die Bemerkungen und das Drapieren) wenn man sich damit einwenig auseinandersetzt.
Da !
Code:
'Einfacher Servosteuerung über 2 Taster.
'
'Minimum,Maximum und Schrittweite sind Servospezifisch und müssen auf das
'jeweilige Modell angeglichen werden.
'Verzögerung ist Geschmackssache sowie der Startwert
'Das Programm ist absichtlich einfach gehalten um die Funktion zu verdeutlichen.
'also keine ausgefeilte Tastenabfrage oder sonstige Optimierung.
'
'Ratber
'===============================================================================
$regfile = "M8def.dat"
$crystal = 8000000
$baud = 19200
Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
Enable Interrupts 'Ist nötig
Config Portb.1 = Output 'Servoausgang
Config Pind.6 = Input 'Taster 1
Config Pind.7 = Input 'Taster 2
Portd.6 = 1 'Pullup aktiviert
Portd.7 = 1 'Pullup aktiviert
Dim Ist As Byte
Dim Minimum As Byte
Dim Maximum As Byte
Dim Schrittweite As Byte
Dim Pause As Byte
Minimum = 35 'Rechter Anschlag
Maximum = 155 'Linker Anschlag
Schrittweite = 1 'Schrittweite beim erhöhen
Pause = 150 'Verzögerungszeit in ms damits steuerbar bleibt
Ist = Minimum 'Einfach nur Definierter Startwert
Do
If Pind.6 = 0 Then
Ist = Ist + Schrittweite
If Ist > Maximum Then Ist = Maximum
End If
If Pind.7 = 0 Then
Ist = Ist - Schrittweite
If Ist < Minimum Then Ist = Minimum
End If
Servo(1) = Ist
Waitms Pause
Loop
End
Meine gute Tat fürs Wochenende ist damit abgegolten
Edit:Kleine Korrektur am Code.
Pullups aktiviert.
Lesezeichen