Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 3 Antworten
und wurde 276 mal aufgerufen
 Einsatzfahrzeuge
Saichino Offline




Beiträge: 46

12.01.2021 21:06
TLF MB Actros der Feuerwehr Frechen Zitat · Antworten

Noch ein Feuerwehr Fahrzeug. In meinem Fall ein Sondermodell mit 1000 Stk. Auflage: Das TLF der Feuerwehr Frechen. Es gab das Modell günstig bei ebay und ich wollte vor 1,5 Jahren mal was bauen, was wild blinkt... naja. Blinkt jetzt wild, hat aber länger gedauert als geplant.

MB-Actros-Feuerwehr-TLF.png - Bild entfernt (keine Rechte)

Zum Umbau der Lenkung und des Fahrantriebs muss ich vermutlich nicht mehr viel schreiben. Ich muss auch gestehen, dass ich vom Umbau kaum Bilder gemacht haben. Es ist halt ein MB Actros mit Aufbau von Ziegler. Das 1.8g Servo ist stehend im Führerhaus eingebaut. Eine M705 1:90 Getriebe-Motor-Kombination von Sol-Expert sorgt für den Antrieb.

Bei den Arbeiten am Führerhaus ist mit das Gehäuse im Schriftzug "FEUERWEHR" gebrochen. Ärgerlich sowas und wieder mal die Erkenntnis möglichst zwei gleich zwei Modelle zu kaufen.

Ursprünglich hatte ich noch mit einem Soundmodul experimentiert. Das mit einem ATTiny modulierte Piezo-Gepiepe verschwand nach entsprechend negativem Feedback der Bastell-Gemeinschaft schnell wieder aus dem Versuchsaufbau. Die chinesisch nachgebauten „DasMikro“-Soundmodule sind allerdings irgendwo zwischen Shenzhen und Deutschland ertrunken und nie bei mir angekommen. Also, mein TLF bleibt ruhig... erstmal.

Den gewonnenen Platz im Aufbau füllt inzwischen ein 500mAh Lipo. Damit kann ich evtl. mit einer Ladung sogar bis nach Shenzhen fahren und mir die Soundmodule selber abholen!

Dem Original entsprechend sind vier 0402 LED als Blaulichter auf dem Dach und nochmal zwei als Blitzer im Kühlergrill verbaut. Wohl nicht ganz Original aber cool zum Spielen habe ich einen "Signal-Balken" am Heck angebracht. Hier sind vier einzeln ansteuerbare orangene LED der Baugröße 0402 platziert.
Die Steuerung der Blaulichter und des Signal-Balkens erfolgt mit einem ATTiny84, den ich mit der Arduino-Umgebung programmiert habe. Ich weiß, dass es auch andere Möglichkeiten gibt einen ATTiny zu programmieren, aber ich bin bereits mit der Ardunio-Umgebung vertraut und wollte trotz Herausforderungen (siehe später) nicht umlernen.

Der ATTiny nimmt ein Steuersignal vom Deltang RX43D-1 entgegen. Das PWM-Signal wird interpretiert als "Vorwärts" oder "Rückwärts" durch die Programm-Zustände schalten. Insgesamt sind neun Zustände möglich: Alles aus, nur Blaulichter, Signal-Balken leuchtet permament, Signal-Balken Doppelblitz, Signal-Balken Doppelblitz wechselseitig, Signal-Balken Leuchten wechselseitig, Signal-Balken Indikation zum Spurwechsel nach rechts, gleiches auch nach links und ein „Achtung!“ Signal innen / außen. Die Blaulichter bleiben in allen Zuständen eingeschaltet.

Normalerweise würde man – wie ich lernen durfte - das Schaltsignal mit einem Pin Change Interrupt an einem der Pins auslesen. Dazu hatte ich auch schon Rat in einem anderen Thread erhalten. Nun – ich hab’s nicht hinbekommen. Vielleicht lag es daran, dass ich nicht den INT0 am Pin #5 verwendet habe… Nun war mein Chip aber auch schon mit den LED verkabelt und ich wollte da nicht mehr groß umbauen.

Also habe ich eine andere Lösung gefunden. Prinzipiell ist es möglich das PWM-Signal vom Deltang mit der Arduino-Funktion pulseIn() zu lesen. Problem ist dabei, dass es immer wieder Störsignal / Ausreißer gibt. Das ist zwar mit dem nachträglichen Einbau eines Pulldown-Widerstands (ganz wichtig!) besser geworden, aber so ganz weg waren die Störungen nicht und der Tiny hat "selbstständig" immer wieder zwischen den Programm-Zuständen umgeschaltet.
Meine Lösung ist nun, dass ich nach Erhalt eines Schaltsignals 100 Loop-Durchläufe warte, ob das Signal dann immer noch besteht. Und wenn ja, dann nehme ich ein wirklich absichtliches Steuersignal an und schaltet in den nächsten Zustand. Damit entsteht eine Latenz von ca. 0,5 Sekunden (bei 1MHz Takt des Tiny) zwischen dem Umlegen des Schalters an der Fernbedienung und dem tatsächlichen Schalten. Für mich akzeptabel.

Für den geneigten Interessenten packe ich voller Demut den Arduino-Sketch in den Anhang zu diesem Post (siehe FeuerwehrTiny_saichino.txt) bzw. nachfolgend zum ausklappen. Ich weiß wohl, dass die Lösung nicht die elegantestes ist und die Angehörigen der BASCOM-Fraktion sich ggf. fragen werden: "Warum nur...?"


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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
 

/* Feuerwehr MB Actros
* Version 2
* ATTiny84 at 1 MHz
*
* Pin 0: Signal
* Pin 1, 2, 3, 4: LED signalbar
* Pin 5, 6, 7, 8: LED blinklights
* Pin 9: LED frontflasher
*
* Program 0: o o o o | off blinklights | off frontflasher
* Program 1: o o o o | ON blinklights | ON frontflasher
* Program 2: x x x x | permanent | keep blinklights & frontflasher
* Program 3: x x x x | double flasher | keep blinklights & frontflasher
* Program 4: x x o o | o o x x | halfsided double flasher | keep blinklights & frontflasher
* Program 5: x x o o | o o x x | halfsided lighter | keep blinklights & frontflasher
* Program 6: x o o o | x x o o | x x x o | x x x x | guide to side 1 | keep blinklights & frontflasher
* Program 7: o o o x | o o x x | o x x x | x x x x | guide to side 2 | keep blinklights & frontflasher
* Program 8: x o o x | o x x o | outer-inner | keep blinklights & frontflasher
*
* !NOTE! Digital HIGH is LED off (?)
*/
 
int i;
int pwmZero;
 
// variables for signalbar
int prog = 0;
 
int signalbar_pause_quick = 50;
int signalbar_duration_quick = 5;
int signalbar_interval_quick = 10;
int signalbar_duration_long = 100;
 
int countSignalbar = 0;
 
// variables for blinklights & frontflasher
int BkBz_duration = 5;
int BkBz_interval = 10;
 
int countBk1 = 0;
int countBk2 = 0;
int countBk3 = 0;
int countBk4 = 0;
int countBz = 0;
 
int pwmSignal = 0;
int pwmSignalPin = 0;
int countSignal = 0;
int countSignalWait = 100;
int signalLock = 0;
 
int Bk1_pause = 70;
int Bk2_pause = 95;
int Bk3_pause = 60;
int Bk4_pause = 80;
int Bz_pause = 100;
 

 
void setup() {
pwmZero = pulseIn(pwmSignalPin, HIGH); // Read the pulse of input signal as ZERO POINT

pinMode(0, INPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}
 
// the loop function
void loop() {
 
pwmSignal = pulseIn(pwmSignalPin, HIGH); // Read the pulse of current input signal

if (pwmSignal < 1200) { // negativ triggering pwm signal
if (countSignal >= countSignalWait && signalLock == 0) { // wait 100 loops and check for not already triggered switch until consider signal as real
signalLock = 1; // enable signal lock
countSignal = 0;

prog = prog - 1;
if (prog < 0) prog = 8;
 
resetCounters();
} else {
countSignal++;
}

} else if (pwmSignal > 1600) { // positive triggering pwm signal
if (countSignal >= countSignalWait && signalLock == 0) { // wait 100 loops and check for not already triggered switch until consider signal as real
signalLock = 1; // enable signal lock
countSignal = 0;

prog = prog + 1;
if (prog > 8) prog = 0;
 
resetCounters();
} else {
countSignal++;
}

} else { // no triggering pwm signal
if (countSignal >= countSignalWait) { // wait 100 loops until consider signal reset as real
signalLock = 0; // reset signal lock
countSignal = 0;
} else {
countSignal++;
}
}
 

 
// Light programs

if (prog == 0) {
// all off
 
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}

if (prog >= 1) {
// start blinklights

// blinklight 1
if (countBk1 == 0) {
digitalWrite(5, LOW); //on
} else if (countBk1 == BkBz_duration) {
digitalWrite(5, HIGH); //off
} else if (countBk1 == BkBz_duration + BkBz_interval) {
digitalWrite(5, LOW); //on
} else if (countBk1 == BkBz_duration + BkBz_interval + BkBz_duration) {
digitalWrite(5, HIGH); //off
} else if (countBk1 == BkBz_duration + BkBz_interval + BkBz_duration + Bk1_pause) {
countBk1 = -1; //reset
}

// blinklight 2
if (countBk2 == 0) {
digitalWrite(6, LOW); //on
} else if (countBk2 == BkBz_duration) {
digitalWrite(6, HIGH); //off
} else if (countBk2 == BkBz_duration + BkBz_interval) {
digitalWrite(6, LOW); //on
} else if (countBk2 == BkBz_duration + BkBz_interval + BkBz_duration) {
digitalWrite(6, HIGH); //off
} else if (countBk2 == BkBz_duration + BkBz_interval + BkBz_duration + Bk2_pause) {
countBk2 = -1; //reset
}

// blinklight 3
if (countBk3 == 0) {
digitalWrite(7, LOW); //on
} else if (countBk3 == BkBz_duration) {
digitalWrite(7, HIGH); //off
} else if (countBk3 == BkBz_duration + BkBz_interval) {
digitalWrite(7, LOW); //on
} else if (countBk3 == BkBz_duration + BkBz_interval + BkBz_duration) {
digitalWrite(7, HIGH); //off
} else if (countBk3 == BkBz_duration + BkBz_interval + BkBz_duration + Bk3_pause) {
countBk3 = -1; //reset
}

// blinklight 4
if (countBk4 == 0) {
digitalWrite(8, LOW); //on
} else if (countBk4 == BkBz_duration) {
digitalWrite(8, HIGH); //off
} else if (countBk4 == BkBz_duration + BkBz_interval) {
digitalWrite(8, LOW); //on
} else if (countBk4 == BkBz_duration + BkBz_interval + BkBz_duration) {
digitalWrite(8, HIGH); //off
} else if (countBk4 == BkBz_duration + BkBz_interval + BkBz_duration + Bk4_pause) {
countBk4 = -1; //reset
}
 
// start frontflasher
if (countBz == 0) {
digitalWrite(9, LOW); //on
} else if (countBz == BkBz_duration) {
digitalWrite(9, HIGH); //off
} else if (countBz == BkBz_duration + BkBz_interval) {
digitalWrite(9, LOW); //on
} else if (countBz == BkBz_duration + BkBz_interval + BkBz_duration) {
digitalWrite(9, HIGH); //off
} else if (countBz == BkBz_duration + BkBz_interval + BkBz_duration + Bz_pause) {
countBz = -1; //reset
}
}
 
if (prog == 2) {
// signalbar permanent ON

digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}

if (prog == 3) {
// signalbar doubleflasher all

if (countSignalbar == 0) {
digitalWrite(1, LOW); //on
digitalWrite(2, LOW); //on
digitalWrite(3, LOW); //on
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_quick) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick) {
digitalWrite(1, LOW); //on
digitalWrite(2, LOW); //on
digitalWrite(3, LOW); //on
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick) {
countSignalbar = -1; //reset
}
}

if (prog == 4) {
// signalbar doubleflasher halfsided

if (countSignalbar == 0) {
// start 1st half
digitalWrite(1, LOW); //on
digitalWrite(2, LOW); //on
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick) {
digitalWrite(1, LOW); //on
digitalWrite(2, LOW); //on
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick) {
// start 2nd half
digitalWrite(3, LOW); //on
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick +
signalbar_duration_quick) {
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick +
signalbar_duration_quick + signalbar_interval_quick) {
digitalWrite(3, LOW); //on
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick +
signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick) {
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick +
signalbar_duration_quick + signalbar_interval_quick + signalbar_duration_quick + signalbar_pause_quick) {
countSignalbar = -1; //reset
}
}

if (prog == 5) {
// signalbar lighter halfsided

if (countSignalbar == 0) {
// start 1st half
digitalWrite(1, LOW); //on
digitalWrite(2, LOW); //on
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_long) {
// start 2nd half
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, LOW); //on
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_long + signalbar_duration_long) {
countSignalbar = -1; //reset
}
}
 
if (prog == 6) {
// signalbar guide to side 1

if (countSignalbar == 0) {
digitalWrite(1, LOW); //on
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_long) {
digitalWrite(2, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 2)) {
digitalWrite(3, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 3)) {
digitalWrite(4, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 4)) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == (signalbar_duration_long * 5)) {
countSignalbar = -1; //reset
}
}
 
if (prog == 7) {
// signalbar guide to side 2

if (countSignalbar == 0) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_long) {
digitalWrite(3, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 2)) {
digitalWrite(2, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 3)) {
digitalWrite(1, LOW); //on
} else if (countSignalbar == (signalbar_duration_long * 4)) {
digitalWrite(1, HIGH); //off
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, HIGH); //off
} else if (countSignalbar == (signalbar_duration_long * 5)) {
countSignalbar = -1; //reset
}
}
 
if (prog == 8) {
// signalbar inner / outer

if (countSignalbar == 0) {
// start 1st half
digitalWrite(1, LOW); //on
digitalWrite(2, HIGH); //off
digitalWrite(3, HIGH); //off
digitalWrite(4, LOW); //on
} else if (countSignalbar == signalbar_duration_long) {
// start 2nd half
digitalWrite(1, HIGH); //off
digitalWrite(2, LOW); //on
digitalWrite(3, LOW); //on
digitalWrite(4, HIGH); //off
} else if (countSignalbar == signalbar_duration_long + signalbar_duration_long) {
countSignalbar = -1; //reset
}
}
 
countSignalbar++;
 
countBz++;
countBk1++;
countBk2++;
countBk3++;
countBk4++;

}
 
void resetCounters () {
// reset counters
countSignalbar = 0;
countBz = 0;
countBk1 = 0;
countBk2 = 0;
countBk3 = 0;
countBk4 = 0;
}
 
 




Zum Projekt gehört für mich immer eine Zeichnung der Verkabelung. Dieser Plan erfährt natürlich während der Bauphase immer wieder Anpassungen. Das Hilft mir persönlich oft nicht den Überblick zu verlieren. Muss man nicht machen, gehört für mich aber zum Spaß dazu.


Schaltplan1.jpg - Bild entfernt (keine Rechte)

Schaltplan2.jpg - Bild entfernt (keine Rechte)

LED-Platzierung1.jpg - Bild entfernt (keine Rechte)

LED-Platzierung2.jpg - Bild entfernt (keine Rechte)


Während der Feiertage zum Jahreswechsel habe ich den Wohnzimmertisch in Beschlag genommen und hab meine kürzlich fertig gestellten Projekte versucht etwas in Szene zu setzen. Leider habe ich bisher kein eigenes Geländemodul und Messen sind ja aktuell noch in weiter Ferne...

Ich besitze allerdings einige Häuschen, die mein Großvater vor über 50 Jahren aus Holz gebaut hat. Diese boten sich als Kulisse mit einigen gedruckten Straßen direkt an.
Dann habe ich ein bisschen mit den Tools von Adobe rumgespielt und habe Feuer gemacht. Zu sehen ist die Einsatzfahr des TLF der Feuerwehr Frechen auf YouTube: https://www.youtube.com/watch?v=HSvYgA9YqW0

Danke für die Aufmerksamkeit.
Grüße aus dem Süden.
Daniel

Dateianlage:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden!
FeuerwehrTiny_saichino.txt

Folgende Mitglieder finden das Top: Blaze, Maik_29413, Gernot, Huskyrider, Yazooka, Charmin, Otton, michl, Theoretiker, nachtdieb und Skippy
Blaze, michl und Theoretiker haben sich bedankt!
nachtdieb Offline




Beiträge: 1.216

12.01.2021 21:27
#2 RE: TLF MB Actros der Feuerwehr Frechen Zitat · Antworten

Hallo Daniel,

tolles Fahrzeug mit schönen Lichtfunktionen, tolle Beschreibung und tolles Video, gefällt mir sehr gut. Schade, dass es mit dem Soundmodul nicht geklappt hat.

Viele Grüße
Klaus

--------------------------------------------------
Hier geht's zur Beschreibung vom MotorTinyII


Maik_29413 Offline



Beiträge: 184

13.01.2021 09:51
#3 RE: TLF MB Actros der Feuerwehr Frechen Zitat · Antworten

Hallo Daniel,

ein sehr schönes Feuerwehrauto hast Du da "auf die Räder gestellt" und alles vorbildlich dokumentiert!
... bei diesen beeindruckenden Lichteffekten kann mein Mercedes-Benz Arocs ULF leider nicht "mithalten".

Ich flashe seit mehr als 10 Jahren die "herkömmlichen" DIP8 Tinys hin und wieder selbst und habe dafür einen seriellen Programmieradapter, der über entsprechende Chip-Fassungen verfügt.
Nun gibt es manche Tinys ja nur noch als SMD-Bauteile (SO/SOI/ ...) und aus Platzgründen ist deren Verwendung ja auch durchaus sinnvoll.
Nun meine Frage: Was für einen Programmieradapter verwendest Du bzw. was könne ich nehmen?
Einfach sowas (ebay.de) hier?

Herzliche Grüße von
Maik


Mit diesem Beitrag wurden folgende Inhalte verknüpft

Saichino Offline




Beiträge: 46

13.01.2021 11:01
#4 RE: TLF MB Actros der Feuerwehr Frechen Zitat · Antworten

Hallo zusammen,

@nachtdieb: Danke für das Lob! Vielleicht mache ich einen neuen Anlauf, hab noch einen RTW, der auf Aktivität wartet... allerdings ist für mich noch die Frage ungeklärt, wie ich die Sounds von der DX9 aus aufrufen kann. Hab ich noch nicht verstanden...

@Maik_29413: Ja, so einen Adapter für die SMD Varianten der Chips habe ich auch. Die gibt es ja auch in unterschiedlicher Größe bzw. Anzahl von möglichen Pins. Ich habe einen SOIC-16 Adpater erworben, weil ich in der Regel ATTiny84 (Bauform SOIC-14) verbaue.
Es gibt noch sog. "Testklammern (ebay.de)", welche für die SOIC-8 Bauformen (z.B. ATTiny85) ausreichen. Je nach Vorliebe...

"Mein" TLF hat im Original sogar seitlich noch jeweils zwei Leuchtstoff-Röhren zur Beleuchtung des Einsatzorts. Dazu hätte ich noch diverse weiße LEDs aneinander setzen müssen. Die länglichen LED, die man so bekommt, leuchten leider nach Abdunkelung mittels Vorwiderstände nicht vollflächig, sondern zeigen ein Zentrum der Leuchtkraft. Den Aufwand habe ich mir dann doch gespart...

Herzliche Grüße,
Daniel


Mit diesem Beitrag wurden folgende Inhalte verknüpft

Maik_29413 findet das Top
 Sprung  

disconnected Mikromodell-Chat Mitglieder Online 8
Xobor Xobor Community Software
Datenschutz