MWClight - LED Lichtsteuerung mit Effekten für Kopter

Status
Nicht offen für weitere Antworten.
#1
Habe in einem anderen Forum diese nette Spielerei von Volker Bongé entdeckt: MWClight V1

Jetzt als V2 bei flyduino erhältlich.

Natürlich gleich mal nach- und eingebaut.

http://vimeo.com/27510009

Gesteuert wird der auf einem AT tiny 2313 basierenden Controller über einen freien Servokanal. Dimmen 0-100%, Rotieren und Pulsieren kann man darüber einstellen. Desweiteren kann das Low-Batt Signal vom Arduino bzw. Wiikopter angeschlossen werden, so dient das MWClight auch als Batteriewarner.

Es können 18 Leds pro Kanal angeschossen, bei den 4 Kanälen sind das bis zu 72 Leds.

Die Platinen sind nur ~ 20x20 mm groß, besitzen Anschlüsse für 12 Volt, 4 Led Stripes mit gemeinsamen +, Programmieranschlüße und Low-Batt für den Arduino. Mit zwei Widerständen kann ein Spannungsteiler gebastelt werden, so kann auch ohne Arduino die Low-Batt anzeige genutzt werden.





Habe ein paar Platinen mehr fertigen lassen und auch ein paar Bauteile mehr bestellt, wer interesse an Platinen oder einem Fertiggerät hat, PN an mich. Edit: Leider nix mehr da...

Hier noch der Link zum MWClight für mehr Informationen.
 
Zuletzt bearbeitet:
#9
Ist ja 'n Ding, gerade gestern ist meine Beleuchtung auch fertig geworden (Arduino Pro Mini, 6 PWM-Kanäle):

http://www.youtube.com/watch?v=HC3LNYPnesQ
 

DerCamperHB

Erfahrener Benutzer
#10
elektro was hast du dir den Bezüglich der Bezahlung vorgestellt, habe Interesse an der Platine

JK wie hast du die LED Leisten angesteuert, vom PWM auf ein Transistor?
Wärst du bereit dein Programm frei zu geben
 

sunny

Well-known member
#11
Wo bleibt die Rüge?
Da hat jemand das Thema von Elektro beschmutzt mit seiner eigenen Entwicklung!
Hallo Moderator!
"Offtopic" Alarm!!!
Schitt, jetzt klemmt der Buzzer
:p:
 
#12
DerCamperHB hat gesagt.:
JK wie hast du die LED Leisten angesteuert, vom PWM auf ein Transistor?
Darlington-Array ULN2003
Wärst du bereit dein Programm frei zu geben
Klar, in der Hoffnung, dass jemand mir mehr gestalterischer Phantasie Verbesserungen vornimmt :)

Code:
#define PWM1 3
#define PWM2 5
#define PWM3 6
#define PWM4 9
#define PWM5 10
#define PWM6 11
#define CTRL A3

byte  gtable[256];
const byte blink1[]={1,1,0,0,0,0,0};
const byte blink2[]={0,0,0,1,0,1,0};
const byte blink3[]={0,0,0,1,0,1,0};
const byte blink4[]={1,1,0,0,0,0,0};
const byte blink5[]={1,1,1,0,1,0,1};
const byte blink6[]={0,0,1,1,0,1,1};

int  bright=0;

void setup()
  {
  pinMode(PWM1,OUTPUT);
  pinMode(PWM2,OUTPUT);
  pinMode(PWM3,OUTPUT);
  pinMode(PWM4,OUTPUT);
  pinMode(PWM5,OUTPUT);
  pinMode(PWM6,OUTPUT);
  pinMode(CTRL,INPUT);
  BuildGammaTable(0.5);
  }

void loop()
  {
  long    t,v;
  
  t = pulseIn(CTRL,HIGH,30000);
  if(t <= 1500)
    {
    v = constrain(t,1000,1500) - 1000;
    v = gtable[v * 127 / 500];
    if(v > bright) bright++; else if(v < bright) bright--;
    bright = constrain(bright,0,127);
    analogWrite(PWM1,gtable[bright]);
    analogWrite(PWM2,gtable[bright]);
    analogWrite(PWM3,gtable[bright]);
    analogWrite(PWM4,gtable[bright]);
    analogWrite(PWM5,gtable[bright]);
    analogWrite(PWM6,gtable[bright]);
    }
  else if(t <= 1666) Dim();
  else if(t <= 1833) Rotate();
  else
    {
    v = constrain(t,1833,2000) - 1833;
    Blink(v+50);
    }
  }

void BuildGammaTable(double gamma)
  {
  short  x;
  	
  for(x=0; x<128; x++)
    {
    gtable[x] = byte((pow(double(x)/127.,(1./gamma)) * 255. + .5));
    gtable[255-x] = gtable[x];
    }
  }

void Dim()
  {
  byte  v;
  short i,j;

  for(i=64; i<196; i++)
    {
    v = gtable[i];
    analogWrite(PWM1,v);
    analogWrite(PWM4,v);
    analogWrite(PWM2,v);
    analogWrite(PWM3,v);
    j = i + 64; if( j >=196) j -= 128;
    v = gtable[j];
    analogWrite(PWM5,v);
    analogWrite(PWM6,v);
    delay(15);
    }
  }
  
void Rotate()
  {
  byte  v;
  short i;

  for(i=1; i<256; i++)
    {
    v = gtable[i];
    analogWrite(PWM1,v);
    v = gtable[(i+32)&255];
    analogWrite(PWM2,v);
    v = gtable[(i+64)&255];
    analogWrite(PWM3,v);
    v = gtable[(i+96)&255];
    analogWrite(PWM4,v);
    v = gtable[(i+128)&255];
    analogWrite(PWM5,v);
    v = gtable[(i+160)&255];
    analogWrite(PWM6,v);
    delay(1);
    }
  }
  
void Blink(int d)
  {
  int  i;
  
  for(i=0; i<sizeof(blink1); i++)
    {
    analogWrite(PWM1,blink1[i]?255:1);
    analogWrite(PWM2,blink2[i]?255:1);
    analogWrite(PWM3,blink3[i]?255:1);
    analogWrite(PWM4,blink4[i]?255:1);
    analogWrite(PWM5,blink5[i]?255:1);
    analogWrite(PWM6,blink6[i]?255:1);
    delay(d);
    }
  }
 
#13
@Sunny: lol, Danke

@JKSoft, coole Sache, mach mal ein eigenes Thema darüber, da haben bestimmt noch mehr interesse dran


Zurück zum MWClight:

Aufgrund der Nachfrage, die nackte Platine kostet 2€ + 0,55€ Versand.
Das Fertiggerät kostet 20€ + 2,50 Versand und sieht dann so aus:



Auf Wunsch gebe ich noch ein Stück Schlumpfschlauch zum einschlumpfen dazu. Gerne kann ich auch nur Pins als Anschlüße machen oder wer möchte ganz ohne.

Das ist nur eine einmalige Sache bis die restlichen Platinen weg sind und wird kein Dauerangebot.

Kennt sich hier noch jemand mit Bascom aus für eine eigene Software?
Werde demnächst mal anfangen, aber wenig Zeit im Moment.
 
#14
Es sind noch 8 Platinen übrig, jetzt auch mit Volkers Segen und seiner neuen Software V1.2.
Wenn die weg sind könnt ihr euch die auch über seine Homepage bestellen.
Er war auch so nett und hat mir den Quellcode überlassen, an dem ich grad schon rumbastel und noch ein paar nette Effekte mit einbaue. Als nächstes mach ich dann noch eine Version für Positionslichter fürn Flächenflieger.
 
#15
Habe mal ein Positionslicht programmiert, weis zwar nicht ob das soweit von den Blinkzeiten passt, aber soweit siehts schon mal ganz gut aus.... vielleicht noch das Blinken schaltbar machen?

http://vimeo.com/27638023
 

VoBo

Erfahrener Benutzer
#16
Schaut doch schon sehr gut aus !

Mach auf deiner HP doch einen Bereich für alternative Software für das MWCLight.
Dann kann ich auf meiner HP einen Link dahin setzen

Gruß
Volker
 
#18
Elektro hat gesagt.:
Habe in einem anderen Forum diese nette Spielerei von Volker Bongé entdeckt: MWClight V1
Natürlich gleich mal nach- und eingebaut.
Hier noch der Link zum MWClight für mehr Informationen.
Nettes Projekt, sag ma müssen beim 2313 irgendwelche Fuses gesetzt werden oder passt der per default? Wie funktioniert das mit dem Spannungsalarm vom Arduino, setzt das nur den Eingang vom 2313 auf High?
 

VoBo

Erfahrener Benutzer
#19
Hi

der-Frickler hat gesagt.:
Nettes Projekt, sag ma müssen beim 2313 irgendwelche Fuses gesetzt werden oder passt der per default? Wie funktioniert das mit dem Spannungsalarm vom Arduino, setzt das nur den Eingang vom 2313 auf High?
Bei dem 2313 muss das DIV8 Fusebit abgeschaltet werden. Per default liefert der interne Taktgenerator 8 Mhz und das DIV8 Bit ist eingeschaltet.
Somit läut der 2313 nur mit 1 Mhz. Wir brauchen aber 8 Mhz. Also einfach DIV8 abschalten. Der Rest bleibt Default

Beim MWC ist am Alarmausgang einfach eine LED oder ein Summer angeschlossen.
Beim MWCLight ist der Alarmeingang ein Interrupt-Eingang der auf die positive Flanke des Eingangssignals reagiert.

Gruß
Volker
 
#20
Ahh, dachte es mir schon fast, Startsequenz war sehr langsam und keine Reaktion auf den RC-Eingang - kann meist nur falsche Frequenz sein...hatte nur nix in der Doku und auf der Seite dazu gefunden.

Werde mal versuchen die Spannung an der roten LED meines Spannugnswarners in den Alarmeingang zu geben, sollte ja dann auch tun wenn der PEgel irgentdwo zwischen 2-5V liegt.

man hätte ja auch schön direkt die Akkuspannung mit dem AD des 2313 lesen können, dann ginge die Akkuewarnung auch Autonom.....denke den Code willst nicht gerne rausrücken ;_)
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten