Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


DR1 (Dreirad 1) aus Resten mit einer PICAXE 08M2

#1 von Naubaddi , 16.12.2019 15:28

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:

1
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

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: DR1 (Dreirad 1) aus Resten mit einer PICAXE 08M2

#2 von Naubaddi ( Gast ) , 17.12.2019 22:32

Auch hier wurde ein wenig gebastelt obwohl so ein AVR reichlich Zeit am Anfang beansprucht.

Nix Weltbewegendes ist passiert, mir war eingefallen das BBM mal ein paar Zeilen für ein Martinshorn mit einer PICAXE geschrieben hat. Im Quelltext hat man nun die Möglichkeit zwischen einer normalen Hupe und einem Martinshorn zu wechseln, einfach die Variable Art anpassen und gut ist.

Der Quelltext mit Licht ein/aus und normale Hupe oder Martinshorn:

1
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 

; picaxe08m2 ; automatische Compilerauswahl für mein Skript
; 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 17.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 Art = b5 ; Art der Hupe, 0 = normale Hupe, 1 = Martinshorn
symbol dumm = b6 ; eine Variable für alles Mögliche
;
Art = 1 ; 0 = eine normale Hupe oder 1 = ein Martinshorn
;
Mitte = 150 ; die Mittelstellung 150 vorgeben
Schaltpunkt = 30 ; Schaltpunkt plus/Minus von der Mittelstellung
Licht_ein = 0 ; Licht aus
low Licht ; Licht ausschalten
low Hupe ; Hupe ausschalten
;
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
if Art = 0 then ; ist es eine normale 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
else ; oder ein Martinshorn?
pwmout pwmdiv16, 2, 151, 305
pause 500
pwmout 2,off
pwmout pwmdiv16, 2, 113, 229
pause 500
pwmout 2,off
pwmout pwmdiv16, 2, 151, 305
pause 500
pwmout 2,off
pwmout pwmdiv16, 2, 113, 229
pause 500
pwmout 2,off
pause 500
endif ; Ende von: if Art = 0 then
endif ; Ende von: RC_Signal
;
goto RC_Licht_Hupe ; Ende von: RC_Licht_Hupe
;
 
 



Grüßle, Naubaddi


Naubaddi
zuletzt bearbeitet 17.12.2019 22:33 | Top

   

MF1 (merkwürdiges Fahrzeug 1) mit 3 08M2 und 1 14M2
Universalklingel

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz