Heute habe ich mal den Spaß gemacht und einen Servo mittel Drehencoder laufen lassen.
Zusätzlich wird wie bekannt das Ganze auf einem alphanumerischen Display (16x2) angezeigt und
über PinC.4+5 die Drehrichtung als Impuls detektiert.
Wen's interessiert , hier der einfache Code dazu :
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.3
Config Lcd = 16 * 2
cls
cursor off
Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
Config Portc.1 = Input
Config Portc.2 = Input
config portb = output
Config Portc.4 = output
Config Portc.5 = output
dim Merken as byte
Dim Result As Byte
merken=30
Portc.1 = 1
Portc.2 = 1
locate 1 , 1
lcd "aktueller Wert :"
locate 2 , 1
lcd Merken ; " "
Enable Interrupts
Do
Result = Encoder(pinc.1 , Pinc.2 , Links , Rechts , 0)
Loop
End
Links:
pulseout portc , 5 , 1000
decr merken
if merken<30 then
merken=30
endif
Servo(1) =merken
locate 2 , 1
lcd Merken ; " "
Return
Rechts:
pulseout portc , 4 , 1000
incr merken
if merken>150 then
merken=150
endif
Servo(1) =merken
locate 2 , 1
lcd Merken ; " "
Return
Und wozu jetzt das Ganze bitte schön ...?
öhm .... weil er's kann ?! 


Picaxe Befehle (deutsch)
. Ist nicht weiter schlimm weil der nette Mann von der Werkstatt meinte "Mach nix wichtiges kaputt am Auto, es gibt keine Ersatzteile mehr für den Omega!", der ist doch erst 22 Jahre alt und läuft (fast) wie am ersten Tag. Da ist der Lautstärkeregler (Drehencoder) vom Radio nicht wirklich ein Problem
.

