Hi,
da ist noch 1 meiner anderen Winterprojekte das DR1, es soll jetzt mit einem 08M2 nachgerüstet werden für Licht und Hupe. Im Moment geht das Licht an wenn das DR1 eingeschaltet wird, das soll sich ändern .
Da recht wenig Platz vorhanden ist muss alles sehr klein sein, der Fahrtregler ist z.B. gerade mal 12mm x 10mm x 3mm klein. Da bleib nur die PICAXE und die RS-232 Buchse als Platinenersatz zu nehmen, und wieder Sekundenkleber, Zahnstocher... weil ich den Kleinkram nicht mehr richtig anfassen kann .
Das DR1 mit Fahrer:
Von unten:
Der Stromlaufplan:
Ohne Platine:
Das Modul:
Das Programm:
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
65
; picaxe08m2 ; automatische Compilerauswahl für gedit
; Dateiname: Licht und Hupe.axe
; Funktion: Das Signal von einem RC-Empfänger auswerten und verarbeiten (Licht ein/aus, Hupe)
; Datum: Start 30.01.2016, Stand 16.12.2019
; Von: Naubaddi
;
; PICAXE 08M2 Alle Pin Funktionen (C.0 nur Ausgang, C.3 nur Eingang)
;
; +---v---+
; +V |1 8| 0V
; RxD/I C.5 |2 7| C.0 O/TxD/hserout/DAC
; Touch/ADC/O/I C.4 |3 6| C.1 I/O/ADC/Touch/hserin/SRI/hi2c/scl
; I C.3 |4 5| C.2 I/O/ADC/Touch/pwm/tune/SRQ/hi2c sda
; +-------+
;
pause 1000 ; x Milisekunden Pause damit das System sich beruhigen kann
;
symbol Licht = C.1 ; Ausgang für den Blinker oder ein Signal links
symbol Hupe = C.2 ; Ausgang für die Hupe
symbol RC_Kanal = C.3 ; Eingang für einen Kanal vom Empfänger
;
symbol RC_Signal = w0 ; das Signal vom Empfänger, links > Mitte + Schaltpunkt, Mitte = X, rechts < Mitte - Schaltpunkt (75-225)
symbol Mitte = b2 ; die Mittelstellung
symbol Schaltpunkt = b3 ; Schaltpunkt plus/Minus von der Mittelstellung
symbol Licht_ein = b4 ; Licht ein/aus
symbol dumm = b5 ; eine Variable für alles Mögliche
;
Schaltpunkt = 30 ; Schaltpunkt plus/Minus von der Mittelstellung
Licht_ein = 0 ; Licht aus
low Licht ; Licht ausschalten
low Hupe ; Hupe ausschalten
;
pulsin RC_Kanal, 1, Mitte ; die Mittelstellung übernehmen (ca. 150)
;
RC_Licht_Hupe: ; Hauptschleife Licht/Hupe (das RC Signal vom Empfänger auswerten)
;
pulsin RC_Kanal, 1, RC_Signal ; RC Signal übernehmen
dumm = Mitte + Schaltpunkt ; Mittelstellung + Schaltpunkt für Licht ein/aus
;
if RC_Signal > dumm then ; gibt es ein RC Signal für das Licht (ein/aus)
if Licht_ein = 0 then ; wenn das Licht aus ist
high Licht ; Licht einschalten
Licht_ein = 1 ; Licht ein merken
else ; sonst
low Licht ; Licht ausschalten
Licht_ein = 0 ; Licht aus merken
endif ; Ende von: Licht_ein = 1
do ; Warteschleife
pulsin RC_Kanal, 1, RC_Signal ; RC Signal übernehmen
loop until RC_Signal < dumm ; Ende von: do (Warteschleife)
endif ; Ende von: RC_Signal
;
pulsin RC_Kanal, 1, RC_Signal ; RC Signal übernehmen
dumm = Mitte - Schaltpunkt ; Mittelstellung - Schaltpunkt für Hupe ein
;
if RC_Signal < dumm then ; gibt es ein RC Signal für die Hupe
high Hupe ; Hupe einschalten
do ; Warteschleife
pulsin RC_Kanal, 1, RC_Signal ; RC Signal übernehmen
loop until RC_Signal > dumm ; Ende von: do (Warteschleife)
low Hupe ; Hupe ausschalten
endif ; Ende von: RC_Signal
;
goto RC_Licht_Hupe ; Ende von: RC_Licht_Hupe
;
Grüßle, Naubaddi