//4x 3Watt high power RGB led + 8x 90kmcd 5mm lense white //2nd prototype build with light knicking 90°C scatter mirror LCD TV backlight foil (parralel glasfibre +transparent foil material) //drivingvoltage atualle 5.24Volt(!more kills blue) //supply: 4x 18650 Li-ion(parralel to cells 2x TP4056 charger) >6A switch> bost step-up //have fun :3 do with it whatever want to //WARNING better not change this kote if not have understand it if rebuild this psychedelic breinhack musicvisualizing exactly like in pictures //versions 1x mobils smal 4x 18650 (this current kote+video) //1x stationary 8x18650 /*pictures * https://marderchen.lima-city.de/NEU+/4x3Watt_RGB_preformance-heatsink-art.jpg * https://marderchen.lima-city.de/NEU+/foileffect_research_colorflasherbase.jpg * https://marderchen.lima-city.de/NEU+/specialfoil_cutting_reflectorshapes.jpg * https://marderchen.lima-city.de/NEU+/lightscatter_psychedelicreflector_built.jpg * https://marderchen.lima-city.de/NEU+/scatterreflector_casing.jpg * https://marderchen.lima-city.de/NEU+/scatterreflector_neardone.jpg * https://marderchen.lima-city.de/NEU+/scattermirrorfoil_syncing.jpg */ #define strobe1 PA6 //uv #define strobe2 PB1 //uv #define strobe3 PB10//uv #define strobe4 PB12 #define strobe5 PB13 #define strobe6 PB14 #define strobe7 PB15 #define strobe8 PA8 #define strobe9 PA9 #define strobe10 PA10 #define strobe11 PB5 #define strobe12 PB6 #define strobe13 PB7 #define strobe14 PB8 #define strobe15 PB9 #define strobe16 PA7 //w #define strobe18 PB0 //w #define strobe17 PB11//w #define cal1 PC15 #define cal2 PA0 #define t1 PA12 #define t2 PA15 #define channelz 14 #define sqsteps 64 uint8_t strop[channelz+6],blinkdata[sqsteps+1][channelz+1][5];// 0=helligkeit, 1=lebenszeit, 2=lebtseit uint8_t maxx=200,beatsplit=0; 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(strobe15,OUTPUT); pinMode(strobe16,OUTPUT); pinMode(strobe17,OUTPUT); pinMode(strobe18,OUTPUT); pinMode(t1,INPUT); pinMode(cal1,OUTPUT);pinMode(cal2,OUTPUT); allof();resetz();delay(300);} void loop(){zeitreise();} long littletime=micros();long slowtime=micros();long dimmer=micros(); void zeitreise(void){ while ((micros()- slowtime)>11900){ if(beatsplit==0){strop[15]=maxx;} if(beatsplit==16){strop[16]=60;} if(beatsplit==32){strop[17]=maxx;digitalWrite(cal1,HIGH);} if(beatsplit==48){strop[16]=100;} for(uint8_t fiz=0;fizsqsteps){beatsplit=0;digitalWrite(cal1,LOW); for(uint8_t wo=0;woblinkdata[wo][wer][1]){blinkdata[wo][wer][2]=0;blinkdata[wo][wer][1]=random(0,5)+2;blinkdata[wo][wer][0]=random(2,10)*20;}}}} slowtime = micros();} while ((micros()- dimmer) >= 4000){for(uint8_t fap=0;fap<1;fap++){for(uint8_t fu=0;fu=5){strop[fu]-=5;}if(strop[fu]>=1){strop[fu]-=1;}}}dimmer = micros();}//downfade while ((micros()- littletime) >= 3){pulspowder();littletime = micros();} } void resetz(void){ for(uint8_t tik=0;tik=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); }