Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

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


RC-Modul für ein Lauflicht und Licht

#1 von Naubaddi , 12.11.2019 21:22

Hi,

ja der alte Naubaddi lebt noch und bastelt mal wieder mit einer PCAXE, und natürlich mit Resten die so im Bastelkeller rumliegen.

Es fing alles ganz harmlos an weil das Wetter nicht so dolle war, also ist es wieder Bastelzeit.

Das erste Projekt war eine RC Hoverdisk aus Resten, das zweite Projekt ein RC-Dreirad aus Resten, bis hier ging es ohne die PICAXE . Als drittes Projekt kam dann MF1 (merkwürdiges Fahrzeug 1) auch aus Resten, auch eine RC Variante die etwas mehr können soll. Bei dem MF1 kommt dann auch eine PICAXE 14M2 ins Rennen die für ein Lauflicht und das Licht zuständig ist, es gibt viel Huhn, braten wir es an ähm zu tun.

Die PICAXE 14M2 verrichtet ihren Dienst recht gut, das vorliegende Programm nutzt Multitask (start1) für das Lauflicht weil sonst die Ansprechzeiten der RC-Signale zu groß sind. Dabei ist mir aufgefallen das der pause Befehl in bei Multitask anders arbeitet als ohne Multitask direkt in der RC-Schleife .

Das RC-Model:


Das RC-Modul:


Der Stromlaufplan:


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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 
; picaxe14m2 ;	automatische Compilerauswahl für gedit
; Dateiname: Lauflicht-und-Licht.axe
; Funktion: Lauflicht mit 2x5 LEDs und Licht über einen RC-Kanal ein/aus schalten
; Datum: Start 22.08.2013, Stand 12.11.2019
; Von: Naubaddi
;
; PICAXE 14M2 Alle Pin Funktionen
;
; +---v---+
; +V |1 14| 0V
; RxD/I C.5 |2 13| B.0 O/TxD/hserout/DAC
; Touch/ADC/I/O C.4 |3 12| B.1 I/O/ADC/Touch/SRI/hserin
; I C.3 |4 11| B.2 I/O/ADC/Touch/pwm/tune/SRQ
; kb clk/hpwm A/pwm/I/O C.2 |5 10| B.3 I/O/ADC/Touch/hi2c scl
; kb data/hpwm B/I/O C.1 |6 9| B.4 I/O/ADC/Touch/pwm/hi2c sda
; hpwm C/pwm/Touch/ADC/I/O C.0 |7 8| B.5 I/O/ADC/Touch/hpwm D
; +-------+
;
symbol RC_Kanal = C.0 ; Eingang für einen Kanal vom Empfänger
symbol RC_Signal = w0 ; das Signal vom Empfänger (75-225)
symbol Mitte = b2 ; die Mittelstellung vom Sender
symbol Schaltpunkt = b3 ; Schaltpunkt plus/minus zu der Mittelstellung
let Schaltpunkt = 30 ; der Schaltpunkt
symbol Licht_vorne = C.1 ; Ausgang für das Licht vorne
symbol Licht_hinten = C.2 ; Ausgang für das Licht hinten
symbol Licht = b4 ; Variable für Licht ein/aus
let Licht = 0 ; Licht zuerst aus
;
symbol LED_max = b5 ; Variable für die max Anzahl LEDs
let LED_max = 5 ; max Anzahl LEDs
symbol LED = b6 ; ein Zähler für die LEDs am Ausgang
let LED = 0 ; mit LED am Ausgang 1 anfangen
symbol LR = b7 ; nach links oder nach rechts?
let LR = 1 ; 0 = links, 1 = rechts, zuerst nach rechts
symbol LED_ein = b8 ; LED Einzeit
let LED_ein = 100 ; LED x ms ein, 100 Millisekunden
symbol Lauflicht = b9 ; Lauflicht ein/aus
let Lauflicht = 0 ; Lauflicht zuerst aus
;
symbol LED_x = b10 ; Variable für LED x
let LED_x = 0 ; LED x ist erst mal 0
symbol P1 = b11 ; Pause 1, überblenden
let P1 = 18 ; Pause 1, 33 Millisekunden
symbol P2 = b12 ; Pause 2, überblenden
let P2 = 54 ; Pause 2, 99 Millisekunden
;
symbol dumm = b13 ; eine Variable für alles Mögliche
symbol KITT = b14 ; normales Lauflicht oder KITT Lauflicht
let KITT = 1 ; 0 = normal, 1 = KITT
;
suspend 1 ; Multitask für das Lauflicht stoppen
;
pause 1000 ; eine Pause für die RC-Elektrik
;
pulsin RC_Kanal, 1, Mitte ; die Mittelstellung übernehmen (ca. 150)
;
RC_Modul: ; Hauptschleife für das RC-Modul
;
pulsin RC_Kanal, 1, RC_Signal ; RC Signal übernehmen
dumm = Mitte + Schaltpunkt ; Mittelstellung + Schaltpunkt für Lauflicht ein/aus
;
if RC_Signal > dumm then ; gibt es ein RC Signal für Lauflicht ein/aus?
;
if Lauflicht = 0 then ; wenn das Lauflicht aus ist
Lauflicht = 1 ; Lauflicht auf ein setzen
LED = 0 ; mit LED am Ausgang 1 anfangen
resume 1 ; Multitask für das Lauflicht starten
else ; sonst
suspend 1 ; Multitask für das Lauflicht stoppen
Lauflicht = 0 ; Lauflicht auf aus setzen
low B.1 ; LED 5 und 6 aus
low B.2 ; LED 4 und 7 aus
low B.3 ; LED 3 und 8 aus
low B.4 ; LED 2 und 9 aus
low B.5 ; LED 1 und 10 aus
endif ; Ende von: Lauflicht_ein
;
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 Licht ein/aus?
;
if RC_Signal < dumm then ; gibt es ein RC Signal für Licht ein/aus?
;
if Licht = 0 then ; wenn das Licht aus ist
Licht = 1 ; Licht auf ein setzen
high Licht_vorne ; Licht vorne einschalten
high Licht_hinten ; Licht hinten einschalten
else ; sonst
Licht = 0 ; Licht auf aus setzen
low Licht_vorne ; Licht vorne ausschalten
low Licht_hinten ; Licht hinten ausschalten
endif ; Ende von: Licht
;
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
;
goto RC_Modul ; Ende von: RC_Modul
;
start1: ; Multitask-Marke für das Lauflicht
;
if KITT = 0 then ; wenn KITT 0 ist ein normales Lauflicht
;
if LR = 1 then ; nach rechts
if LED < LED_max then ; wenn Ausgang LED_max noch nicht erreicht wurde
LED = LED + 1 ; einen Ausgang weiter
else ; sonst
LR = 0 ; LR nach links
endif ; Ende von: if LED
endif ; Ende von: if LR
if LR = 0 then ; nach links
if LED > 1 then ; wenn Ausgang 1 noch nicht erreicht wurde
LED = LED - 1 ; einen Ausgang zurück
else ; sonst
LR = 1 ; LR nach rechts
endif ; Ende von: if LED
endif ; Ende von: if LR
switch on LED ; LED an Ausgang C.x einschalten
pause LED_ein ; x Millisekunden die LED einschalten
switch off LED ; LED an Ausgang C.x ausschalten
;
else ; sonst ein KITT Lauflicht
;
for LED = 1 to LED_max ; die LEDs nach rechts laufen lassen
switch on LED ; LED x ein
pause P1 ; x Millisekunden Pause zum Überblenden
LED_x = LED - 1 ; LED_x ist 3 LEDs davor
pause P2 ; x Millisekunden Pause zum Überblenden
switch off LED_x ; LED x aus
next LED ; Ende von: for LED (rechts)
for LED = LED_max to 1 step -1 ; die LEDs nach links laufen lassen
switch on LED ; LED x ein
pause P1 ; x Millisekunden Pause zum Überblenden
LED_x = LED + 1 ; LED_x ist 3 LEDs davor
pause P2 ; x Millisekunden Pause zum Überblenden
switch off LED_x ; LED x aus
next LED ; Ende von: for LED (links)
;
endif ; Ende von: KITT
;
goto start1 ; Ende von: Multitask-Marke für das Lauflicht
;
 
 



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: RC-Modul für ein Lauflicht und Licht

#2 von harry02 ( Gast ) , 13.11.2019 21:45

Super Naubaddi, sehr schöne Programmbeschreibung.

harry02

RE: RC-Modul für ein Lauflicht und Licht

#3 von Naubaddi , 13.11.2019 22:48

Hi,

Danke für die Blumen.

Es geht weiter mit einer PICAXE 08M2, 2 DF Player Mini Modulen, einem RC-Modul und einer Unterbodenbeleuchtung, es wird langsam eng im MF1 .

Die Unterbodenbeleuchtung besteht aus 2 Reihen a 10 LED und wird im Moment direkt mit Spannung beim Einschalten versorgt, mal sehen ob noch ein Kanal über bleibt um sie ein/aus zu schalten. Das 08M2 RC-Modul steuert ein MP3-Modul für Musik und ein MP3-Modul für die Waltons-Hupe und das RC-Modul von Con... ist für die Blinker zuständig.
Im Moment wird das 08M2 RC-Modul welches für Licht und Hupe oder Blinkerund Warnblinker programmiert ist zweckentfremdet, die Hupe funktioniert ja ganz normal und da das MP3-Modul für Musik ein kurzes Signal erwartet muß im Moment 2x der Kanal für Licht angesteuert werden. Kommt Zeit kommt neues Programm für Musik und Hupe.

Das Programm wird wenn es fertig ist nachgereicht.

Noch im Versuchsmodus aufgebaut sieht es so aus:


Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: RC-Modul für ein Lauflicht und Licht

#4 von Naubaddi , 18.11.2019 12:31

Hi und Hallo,

es geht weiter mit noch einer PICAXE an Stelle eines fertigen RC-Modul. Das fertige RC-Modul ist ja ganz nett und kann Bremse/Licht oder Blinker, das PICAXE-Modul kann Licht/Hupe oder Blinker/Warnblinker. Da es ja recht einfach ist mit der PICAXE RC-Module zu erstellen werden weitere RC-Module mit einer PICAXE gebastelt, so ist man frei in der Gestaltung und (fast) alles realisieren .

Da es mir diese Waltons-Hupe angetan hat wurde eine gebastelt, das einfache Röhrchen mit dem kleinen Lautsprecher (12mm Durchmesser und 6mm Höhe) sieht nun aus wie eine richtige Hupe. Aus einem Stück rotem runden Plastik wurde ein Hupenaufsatz für den Lautsprecher auf der Drehbank erstellt, und dann mit einem Ring aus Teppichklebeband auf den Lautsprecher geklebt. Der Effekt durch diesen Trichter kann sich hören lassen, es wurde lauter und der Klang ist richtig gut geworden .

Alle Kanäle (5 Stück) die möglich sind sind nun mit einer Funktion belegt, weitere Funktionen können nur noch über die Programmierung der 3 PICAXE erstellt werden (wenn nötig).

Die Funktionen von MF1 (merkwürdiges Fahrzeug:

1 Servo: für die Lenkung
2 Fahrtregler: für vorwärts und Rückwärts
3 PICAXE 08M2: Musik und Hupe
4 PICAXE 08M2: Blinker und Warnblinker
5 PICAXE 14M2: Licht und Lauflicht

Und 2 Bilder wie MF1 jetzt aussieht.

Alle Funktionen eingeschaltet, für die Musik und die Hupe ganz nah mit dem Ohr ans Bild :


Aufteilung und Kabel Optimierung Stufe 1:


Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


   

Universalklingel
Musik im RC Hot Rot, 08M2 & DFPlayer

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