//?channel 4x 3Watt RGB + 2x 3watt white + 4x(4parralel 20k mcd white 5mm also on 5V) =>18 channels J3Y NPN (s8050) >(3x 16V 10uF tantal parralel to ledcolor) # //hope minismal SMD npn can handle the drain^^ //leds with acryl spot reflector shinig against minidiscoball //power 5V microUSB 4x 10V 3300uF high frequency elektrolyte parralel power by microUSB //different light source angel= none rotating mirrorball and moving dots //use if usefull have fun [MEOW] /*pictures * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_shapeplaning.jpg * https://marderchen.lima-city.de/NEU+/lmust_be_some_kind_of_minory-scala_.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_wireconstruckt.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_wireconstruckt.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_basewireshape.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_wireprogress1.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_wireprogress2%20.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_shapecreatesketch2.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_cooperconstruckt.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_ledssoldered1.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_ledssoldered2.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_5Vtestrum.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_supply+koting.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_supply.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_whitestrobo-roomlight_supplyz.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_white_strobo-roomlight_cased.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_white_strobo-roomlight_lamp_test.jpg * https://marderchen.lima-city.de/NEU+/mass_18chan_white_strobo-roomlight_charging.jpg * y µ.üö-zngbsdr * hf use if want :3 */ #define strobe1 PC13 #define strobe2 PC14 #define strobe3 PC15 #define strobe4 PB1 #define strobe5 PB10 #define strobe6 PB11 #define strobe7 PB12 #define strobe8 PB13 #define strobe9 PB14 #define strobe10 PB15 #define strobe11 PA8 #define strobe12 PA9 #define strobe13 PA10 #define strobe14 PB5 #define strobe15 PB6 #define strobe16 PB7 #define strobe17 PB8 #define strobe18 PB9 #define poti PA0 #define t1 PA4 #define t2 PA15//not porting tolate case closed change to singletasteruse #define channelz 17 #define sqsteps 21 boolean lamp=false; void setup(){ delay(10); pinMode(strobe1,OUTPUT); pinMode(strobe2,OUTPUT); pinMode(strobe3,OUTPUT); pinMode(strobe4,OUTPUT); pinMode(strobe5,OUTPUT); pinMode(strobe6,OUTPUT); pinMode(strobe7,OUTPUT); pinMode(strobe8,OUTPUT); pinMode(strobe9,OUTPUT); pinMode(strobe10,OUTPUT); pinMode(strobe11,OUTPUT); pinMode(strobe12,OUTPUT); pinMode(strobe13,OUTPUT); pinMode(strobe14,OUTPUT); pinMode(strobe14,OUTPUT); pinMode(strobe15,OUTPUT); pinMode(strobe16,OUTPUT); pinMode(strobe17,OUTPUT); pinMode(strobe18,OUTPUT); pinMode(t1,INPUT);pinMode(t2,INPUT); allof();delay(300);ratemal();} void loop(){zeitreise();}// uint16_t beatsplit,strop[channelz+1],helligkeiten[channelz+1],newtrigger,blinkdata[sqsteps+1][channelz+1],isoncount,isoncount2,picker,einie,modi=3,doubleup=2,zufall,brighty,speedy; uint8_t moden[5]={1,2,4},mehrspeed[6]={2,4,6,10,14,20}; uint8_t xmoden[7]={0,42,78,0,57};//long thing matching vauels to psy fullon {0,81,72,0,59} //most time spendet for adjusting.. //(20100/doubleup)){//something between 19500-20500 raw- beatsplit++;if (beatsplit >=xmoden[doubleup]){beatsplit=1;newtrigger++;if(newtrigger>16){ratemal();newtrigger=random(1,4)*3;}}//ratemal(); for(uint8_t fiz=0;fiz= (320/(doubleup*8))){for(uint8_t fap=0;fap=10){strop[fu]-=10;}if(strop[fu]>=1){strop[fu]-=1;}}}dimmer = micros();}//downfade while ((micros()- littletime) >= 2){schalterei();pulspowder();littletime = micros();}//istinput();pulspowder();pulspowder(); } uint16_t mk1=0,mk2; void schalterei(void){ if(digitalRead(t1)==HIGH&&mk1==0) {mk1=1;wechseldich();}if(mk1==1){mk2++;}if(mk2>500){mk2=0;mk1=0;} if(((analogRead(poti)-680)/2)=5){brighty-=5;}else{brighty+=5;}//0.5-2.8 620..3475 <>2855<>1427 if(lamp==false){maxx=1000;} if(lamp==true){maxx=1600;for(uint8_t dings=0;dings<=channelz;dings++){strop[dings]=brighty;}} } void wechseldich(void){if(lamp==true){lamp=false;}else{lamp=true;}} void ratemal(void){ zufall=random(0,60); speedy=random(0,5); einie=random(1,4); if(modi==3 && zufall <20){doubleup=moden[1];} if(modi==3 && zufall >=40){doubleup=moden[2];} for(uint8_t tik=0;tik<=sqsteps;tik++){for(uint8_t tok=0;tok=1){isoncount++;}}if(isoncount>=1){isoncount=0;isoncount2++;}}if(isoncount23){modi=0;} } void pulspowder(void) { for (uint16_t fcount=0; fcount <=maxx; fcount++) {//oh have to change this back to old system caused writing HIGH or LOW 1800x each cyclus to inhibit the whole programm if (fcount <= (maxx-1) && fcount >=1) { if (fcount==(maxx-strop[0])) {digitalWrite(strobe1,HIGH);} if (fcount==(maxx-strop[1])) {digitalWrite(strobe2,HIGH);} if (fcount==(maxx-strop[2])) {digitalWrite(strobe3,HIGH);} if (fcount==(maxx-strop[3])) {digitalWrite(strobe4,HIGH);} if (fcount==(maxx-strop[4])) {digitalWrite(strobe5,HIGH);} if (fcount==(maxx-strop[5])) {digitalWrite(strobe6,HIGH);} if (fcount==(maxx-strop[6])) {digitalWrite(strobe7,HIGH);} if (fcount==(maxx-strop[7])) {digitalWrite(strobe8,HIGH);} if (fcount==(maxx-strop[8])) {digitalWrite(strobe9,HIGH);} if (fcount==(maxx-strop[9])) {digitalWrite(strobe10,HIGH);} if (fcount==(maxx-strop[10])) {digitalWrite(strobe11,HIGH);} if (fcount==(maxx-strop[11])) {digitalWrite(strobe12,HIGH);} if (fcount==(maxx-strop[12])) {digitalWrite(strobe13,HIGH);} if (fcount==(maxx-strop[13])) {digitalWrite(strobe14,HIGH);} if (fcount==(maxx-strop[14])) {digitalWrite(strobe15,HIGH);} if (fcount==(maxx-strop[15])) {digitalWrite(strobe16,HIGH);} if (fcount==(maxx-strop[16])) {digitalWrite(strobe17,HIGH);} if (fcount==(maxx-strop[17])) {digitalWrite(strobe18,HIGH);} } if (fcount>=maxx){allof();}}} void allof(void){ digitalWrite(strobe1, LOW);digitalWrite(strobe2, LOW);digitalWrite(strobe3, LOW);digitalWrite(strobe4, LOW);digitalWrite(strobe5, LOW);digitalWrite(strobe6, LOW); digitalWrite(strobe7, LOW);digitalWrite(strobe8, LOW);digitalWrite(strobe9, LOW);digitalWrite(strobe10, LOW);digitalWrite(strobe11, LOW);digitalWrite(strobe12, LOW); digitalWrite(strobe13, LOW);digitalWrite(strobe14, LOW);digitalWrite(strobe15, LOW);digitalWrite(strobe16, LOW);digitalWrite(strobe17, LOW);digitalWrite(strobe18, LOW); }