Ein neuer Nachtflieger hat das (Mond-)Licht der Welt erblickt.
Einige technische Daten:
Gebaut aus EPP 20g/dm³
Spannweite: 100 cm
Länge: 89 cm (ohne Nachbrenner), 138 cm (mit Nachbrenner)
Abfluggewicht: 1150 g
Motor: NTM Prop Drive Series 35-30A 1400kv / 560w
Luftschraube: Kavan 9x6
Regler: 60 Ampere Turnigy Plush
Lipo: 3S 2100 mAh - 3700 mAh
Alles anzeigen
Im Video wurde noch die erste Version des Codes benutzt. Dieser war noch etwas "verbuged". Es tauchte beim Hoch- und Runterfahren des Nachbrenners immer wieder eine türkise LED auf (im Video u.a. kurz bei 0:16 am rechten Nachbrenner zu sehen). Ist im aktuellen Code bereits beseitigt.
Die wenigen Bilder, die während des Baus gemacht wurden, können bei Interesse hier gefunden werden:
Kurze Baubeschreibung vom Nightflight Delta
Nette Grüße,
Robert
Einige technische Daten:
Gebaut aus EPP 20g/dm³
Spannweite: 100 cm
Länge: 89 cm (ohne Nachbrenner), 138 cm (mit Nachbrenner)
Abfluggewicht: 1150 g
Motor: NTM Prop Drive Series 35-30A 1400kv / 560w
Luftschraube: Kavan 9x6
Regler: 60 Ampere Turnigy Plush
Lipo: 3S 2100 mAh - 3700 mAh
BASCOM-Quellcode
- 'RC Afterburner mit WS2812-Leds
- 'Bascom Version 2.0.8.0
- '$sim
- $regfile = "attiny85.dat"
- $crystal = 8000000
- $hwstack = 32
- $swstack = 10
- $framesize = 40
- Const Num_leds = 30
- Const Num_leds_1 = Num_leds - 1
- Config Rainbow = 1 , Rb0_len = Num_leds , Rb0_port = Portb , Rb0_pin = 2
- Config Pinb.3 = Input
- Rb_selectchannel 0
- Dim Farbe(3) As Byte
- Rot Alias Farbe(_base)
- Gruen Alias Farbe(_base + 1)
- Blau Alias Farbe(_base + 2)
- Dim N As Byte
- Dim M As Word
- Dim X As Word
- Dim Rc_value As Word
- Dim Afterburner_length As Byte
- Dim Afterburner_length_1 As Byte 'automatische Änderungen der Nachbrennerlänge
- Dim Afterburner_length_final As Byte 'finale Nachbrennerlänge fürs LED-Mapping
- Dim Rounds_counter_1 As Byte 'Programmdurchlaufzähler 1 (Häufigkeit der Nachbrennerlängenänderungen)
- Dim Rounds_counter_2 As Byte 'Programmdurchlaufzähler 2 (Häufigkeit des "neu wachsen Lassens" des hinterne Teils des Nachbrenners)
- Dim Rounds_counter_3 As Byte 'Programmdurchlaufzähler 3 (Auf- und Abbaugeschwindigkeit des Nachbrenners)
- Dim Rounds_counter_4 As Byte 'Programmdurchlaufzähler 4 (RC Abfragehäufigkeit)
- Dim Data_steps As Word
- Dim Data_lines_steps As Word
- Const Data_lines = 121 'Anzahl der Datenzeilen
- Const On_off_value = 150 'Schaltwert zum ein/ausschalten den Nachbrenners eingeben (min 100, max 200)
- Do
- Incr Rounds_counter_4
- If Rounds_counter_4 > 200 Then 'RC Messung alle x Durchläufe
- Pulsein Rc_value , Pinb , 3 , 1 'Werte zwischen 100 (1ms) und 200 (2ms)
- Rounds_counter_4 = 0
- End If
- '********************************* Auf- und Abbau des Nachbrenners *************************************
- Incr Rounds_counter_3
- If Rc_value > On_off_value Then
- If Rounds_counter_3 > 20 Then 'Hier Wert für Aufbaugeschwindigkeit eingeben
- Incr Afterburner_length
- If Afterburner_length > Num_leds_1 Then Afterburner_length = Num_leds_1 '0-29
- Rounds_counter_3 = 0
- End If
- Else
- If Rounds_counter_3 > 20 Then 'Hier Wert für Abbaugeschwindigkeit eingeben
- If Afterburner_length > 0 Then Decr Afterburner_length
- Rounds_counter_3 = 0
- End If
- End If
- '***********************************************************************************************************
- '************ Länge des Nachbrenners (Anzahl leuchtender LEDs) ändert sich automatisch *****************
- Incr Rounds_counter_1 'Durchlaufzähler erhöhen
- If Rounds_counter_1 > 10 Then 'Längenänderungen erfolgen alle x Programmdurchläufe
- If Afterburner_length > 10 Then '... allerdings nur, wenn mindestens x LEDs an wären
- Afterburner_length_1 = Afterburner_length - Rnd(6) 'Rnd: maximale Längenänderung
- Rounds_counter_1 = 0 'Durchlaufzähler wieder zurücksetzen
- Else
- Afterburner_length_1 = Afterburner_length 'wenn weniger als x LEDs an sind, wird die tatsächliche Anzahl an LEDs ohne Längenändeungen angezeigt
- End If
- End If
- '***********************************************************************************************************
- '********* Hinteren Teil des Nachbrenners (ab 50% oder 66%) immer wieder neu wachsen lassen ************
- Incr Rounds_counter_2
- If Rounds_counter_2 > Rnd(2) Then
- If Afterburner_length_final < Afterburner_length_1 Then
- Incr Afterburner_length_final
- Else
- ' Afterburner_length_final = Afterburner_length_final / 2' Flackern ab der Mitte
- Afterburner_length_final = Afterburner_length_final / 3 'Flackern nur ...
- Afterburner_length_final = Afterburner_length_final * 2 '...im letzen Drittel
- End If
- Rounds_counter_2 = 0
- End If
- '***********************************************************************************************************
- '****************************************** LED-Mapping **************************************************
- Rb_clearcolors
- X = 0
- For N = 0 To Afterburner_length_final
- '------------ Berechnung, welche Datenzeile für die nächste zu setzende LED benutzt wird ---------------
- If N > 0 Then 'Für die erste LED wird immer die erste Datenzeile verwendet
- Data_lines_steps = Data_lines / Afterburner_length_final 'Differenz der Datenzeilen zwischen 2 LEDs (in Abhängigkeit der Nachbrennerlänge)
- X = Data_lines_steps * N 'Anzahl der Datenzeilen multipliziert mit der nun zu setzenden LED
- X = X - 1 'eine Datenzeile abziehen, um ein Überschreiten des Table-Indexes unter ungünstigen Bedingungen zu vermeiden
- X = X * 3 'je 3 Datawerte ergeben eine Datenzeile
- End If
- '-----------------------------------------------------------------------------------------------------------
- Rot = Lookup(x , Farben)
- X = X + 1 : Gruen = Lookup(x , Farben)
- X = X + 1 : Blau = Lookup(x , Farben)
- Rb_setcolor N , Farbe()
- Next N
- If Rc_value < On_off_value And Afterburner_length = 0 Then 'nötig um auch LED Nr. 0 aus zu bekommen
- Rb_clearcolors
- End If
- Rb_send
- '***********************************************************************************************************
- Loop
- End
- '(
- Linear Gardient, der für die Datenzeilen zugrunde liegt:
- rot grün blau Position in %
- 255 0 100 0
- 128 0 255 40
- 30 0 200 65
- 0 0 90 75
- 0 0 10 100
- 121 Zeilen
- ')
- Farben:
- Data 255 , 0 , 100
- Data 252 , 0 , 103
- Data 250 , 0 , 106
- Data 247 , 0 , 110
- Data 244 , 0 , 113
- Data 242 , 0 , 116
- Data 239 , 0 , 119
- Data 236 , 0 , 123
- Data 234 , 0 , 126
- Data 231 , 0 , 129
- Data 229 , 0 , 132
- Data 226 , 0 , 136
- Data 223 , 0 , 139
- Data 221 , 0 , 142
- Data 218 , 0 , 145
- Data 215 , 0 , 148
- Data 213 , 0 , 152
- Data 210 , 0 , 155
- Data 207 , 0 , 158
- Data 205 , 0 , 161
- Data 202 , 0 , 165
- Data 199 , 0 , 168
- Data 197 , 0 , 171
- Data 194 , 0 , 174
- Data 192 , 0 , 178
- Data 189 , 0 , 181
- Data 186 , 0 , 184
- Data 184 , 0 , 187
- Data 181 , 0 , 190
- Data 178 , 0 , 194
- Data 176 , 0 , 197
- Data 173 , 0 , 200
- Data 170 , 0 , 203
- Data 168 , 0 , 207
- Data 165 , 0 , 210
- Data 162 , 0 , 213
- Data 160 , 0 , 216
- Data 157 , 0 , 219
- Data 154 , 0 , 223
- Data 152 , 0 , 226
- Data 149 , 0 , 229
- Data 147 , 0 , 232
- Data 144 , 0 , 236
- Data 141 , 0 , 239
- Data 139 , 0 , 242
- Data 136 , 0 , 245
- Data 133 , 0 , 249
- Data 131 , 0 , 252
- Data 128 , 0 , 255
- Data 125 , 0 , 253
- Data 121 , 0 , 251
- Data 118 , 0 , 250
- Data 115 , 0 , 248
- Data 112 , 0 , 246
- Data 108 , 0 , 244
- Data 105 , 0 , 242
- Data 102 , 0 , 240
- Data 99 , 0 , 239
- Data 95 , 0 , 237
- Data 92 , 0 , 235
- Data 89 , 0 , 233
- Data 86 , 0 , 231
- Data 82 , 0 , 229
- Data 79 , 0 , 228
- Data 76 , 0 , 226
- Data 72 , 0 , 224
- Data 69 , 0 , 222
- Data 66 , 0 , 220
- Data 63 , 0 , 218
- Data 59 , 0 , 217
- Data 56 , 0 , 215
- Data 53 , 0 , 213
- Data 50 , 0 , 211
- Data 46 , 0 , 209
- Data 43 , 0 , 207
- Data 40 , 0 , 206
- Data 37 , 0 , 204
- Data 33 , 0 , 202
- Data 30 , 0 , 200
- Data 28 , 0 , 191
- Data 25 , 0 , 182
- Data 23 , 0 , 173
- Data 20 , 0 , 163
- Data 18 , 0 , 154
- Data 15 , 0 , 145
- Data 13 , 0 , 136
- Data 10 , 0 , 127
- Data 8 , 0 , 118
- Data 5 , 0 , 108
- Data 3 , 0 , 99
- Data 0 , 0 , 90
- Data 0 , 0 , 87
- Data 0 , 0 , 85
- Data 0 , 0 , 82
- Data 0 , 0 , 79
- Data 0 , 0 , 77
- Data 0 , 0 , 74
- Data 0 , 0 , 71
- Data 0 , 0 , 69
- Data 0 , 0 , 66
- Data 0 , 0 , 63
- Data 0 , 0 , 61
- Data 0 , 0 , 58
- Data 0 , 0 , 55
- Data 0 , 0 , 53
- Data 0 , 0 , 50
- Data 0 , 0 , 47
- Data 0 , 0 , 45
- Data 0 , 0 , 42
- Data 0 , 0 , 39
- Data 0 , 0 , 37
- Data 0 , 0 , 34
- Data 0 , 0 , 31
- Data 0 , 0 , 29
- Data 0 , 0 , 26
- Data 0 , 0 , 23
- Data 0 , 0 , 21
- Data 0 , 0 , 18
- Data 0 , 0 , 15
- Data 0 , 0 , 13
- Data 0 , 0 , 10
Im Video wurde noch die erste Version des Codes benutzt. Dieser war noch etwas "verbuged". Es tauchte beim Hoch- und Runterfahren des Nachbrenners immer wieder eine türkise LED auf (im Video u.a. kurz bei 0:16 am rechten Nachbrenner zu sehen). Ist im aktuellen Code bereits beseitigt.
Die wenigen Bilder, die während des Baus gemacht wurden, können bei Interesse hier gefunden werden:
Kurze Baubeschreibung vom Nightflight Delta
Nette Grüße,
Robert
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von R2D2 Bastler ()