//1rst clock>>4 digs 40*(5*0603 singlecolor led)channels 4 digs realsound by relai clock //2nd clock>>new prototype board solderet thistime 6taster, 6digs, pieper for relai1 relai2 smaler one, 2x tp4056, 4led /bar caused prototypboardsize, betterpartplaning hobbysolder work 2days (incl develop mapping, breacs, mindwuseln,etc..) //3rd clock>>stis kote is awesome well solved: the clock thingy! so using it also for a verry old epic white clock model i started engdate: 05/16/2018 but there was never time or motivation completing the hardware with a code.. //3rd clock>>used al leds: 5* 8050,0,5Whatt white smd led each bar with 4x 33uF 10Volt tantalcapacitor parralel, powerd by 5 5v"2Ampere stepupts (joy get knowledge can set them to custom voltage now :) 12x 18650 laptop cell, //3rd clock>> switchingparts 18x D882, 9x S8050 think PNP chosen, diodes as tantalbackflowblocker.. its the ultrawhite brigheenessclock think now got enough for finishing it *putrrrr* /* old project text: * MEOW =^.^= //Kote for epic WHITE led clock to upgrade capacito9rmatrixidea.. and puuurRRR this es realy epic white every of 170 SMD leds HAVE 0.5Watt and the capacitormatrix idea realy using it //fixed one NPN failture kote progressing not running with function //pics /* https://marderchen.lima-city.de/NEU+/epic_white_clock_ledtest_wtfhihi.jpg * https://marderchen.lima-city.de/NEU+/epic_white_ledmatrix-clock_supplyfortoday.jpg * https://marderchen.lima-city.de/NEU+/epic_white_ledmatrix-clock_supply_progressing.jpg * https://marderchen.lima-city.de/NEU+/epic_white_ledmatrix-clock_gluedalu.jpg * https://marderchen.lima-city.de/NEU+/epic_white_ledmatrix-clock_wirework.jpg * have fun use idea if usefull its burning in eyes :3 */ //7tasters, 3raleis, 4x 0.5Watt status, 6 led colors, temp sensor, additional 6 channels from 40 arround //hours blue, minutes green, dots red, line belos each number white, line above first 3 taster yellow, line above last 3 tasters orange. //bars below numbers and above taster=digitise[4][1-8] (1-7=horizontalbars, 8=dots) ääh think countig starting by 1 and not by 0 even if array playe 0 alrealy exists //5V2A boost stepup seted to 5.64Volt by solder (3* 10kOhm inline)=20kOhm between +Volt output>30kOhm>(factory measure resistor)>chip (solderpoint border from module, side positive pole USB output, realy near border 1rst solderpoint from smal resistor above big brown smc capacitor)result=adjusting output hihi //NPN J3Y> PNP Y2 caused higher voltage for digs than 3.3V /* ---1-- * | | * 3 2 []8 * | | * ---4--- * | | * 5 6 []8 * | | * ---7--- */ //GPIO>220R>D882 NPN 3A >red glas diode>single 0.5Wattn led with 10V10uF foil parralel (30pcs below digs growing seconds 2sec=one #define dig1 PB11 #define dig2 PB10 #define dig3 PB1 #define dig4 PB0 #define block1 PC13 //seconds block start here #define block2 PB9 #define block3 PB8 #define block4 PB7 #define block5 PB6 #define block6 PB5 //GPIO>220R>D882 NPN 3A >220R> S8050 PCB PNP >1N4007 SMD>leds with capacitors parralel #define seg1 PB12 #define seg2 PB13 #define seg3 PB14 #define seg4 PB15 #define seg5 PA10 #define seg6 PA9 #define seg7 PA8 #define LED5 PC15 #define LED4 PA4 #define LED3 PA5 #define LED2 PA6 #define LED1 PA7 //NPN ? #define coil1 PA3 #define coil2 PA2 #define coil3 PA1 #define drain4 PA5 //analoge 7tasters GND>4700R[GPIO]-470R[t1]-470R[t2]-470R[t3]-470R[t4]-470R[t5]-470R[t6]-470R[t7]-470R[t8]-470R[t9]-470R[t10]-? (tasters switching 3V3 between resistors #define tasterM PA0 int16_t digitise[14][10]; //last: brighteness uint8_t onpress[18]; uint8_t secscache[31][2]; void setup() { pinMode(dig1,OUTPUT); pinMode(dig2,OUTPUT); pinMode(dig3,OUTPUT); pinMode(dig4,OUTPUT); pinMode(block1,OUTPUT); pinMode(block2,OUTPUT);pinMode(block3,OUTPUT); pinMode(block4,OUTPUT);pinMode(block5,OUTPUT); pinMode(seg1,OUTPUT); pinMode(seg2,OUTPUT); pinMode(seg3,OUTPUT); pinMode(seg4,OUTPUT); pinMode(seg5,OUTPUT); pinMode(seg6,OUTPUT); pinMode(seg7,OUTPUT); pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED3 ,OUTPUT); pinMode(LED4,OUTPUT); pinMode(LED5,OUTPUT); pinMode(coil1,OUTPUT);pinMode(coil2,OUTPUT);pinMode(coil3,OUTPUT); neuesequenz(); } boolean alon=false; boolean downcount=false;uint16_t alarmsec=0;uint8_t downmod=0; void loop() { zeitreise(); } uint16_t dasist[]={3700,3400,3150,2900,2700,2550,2400},wert,fadefine=100,ani=99,aus=0;//measure values oh just many taster you want with one GPIO and resistors uint8_t toleranz=50,auswahlzi=0,soundmodus=0; uint32_t Secs=600,eintag=86400; boolean tplusset=false,tminusset=false,istan=false,updatez=false; uint8_t Relais[9]; void drueckmich(void){onpress[14]++; if (onpress[14] >=2) {onpress[14]=0; wert=analogRead(tasterM); if (wert>(dasist[1]-toleranz)&&wert<(dasist[1]+toleranz)&& onpress[0] ==0 && auswahlzi<8) {onpress[0]=1;auswahlzi++;} if (onpress[0]==1){onpress[1]++;}if(onpress[1]>=10){onpress[1]=0;onpress[0]=0;} if (wert>(dasist[0]-toleranz)&&wert<(dasist[0]+toleranz)&& onpress[2] ==0&& auswahlzi >0) {onpress[2]=1;auswahlzi--;} if (onpress[2]==1){onpress[3]++;}if(onpress[3]>=15){onpress[3]=0;onpress[2]=0;} if (wert>(dasist[2]-toleranz)&&wert<(dasist[2]+toleranz)&& onpress[4] ==0) { onpress[4] =1;} if (onpress[4]==1){onpress[5]++;}if(onpress[5]>=10){onpress[5]=0;onpress[4]=0;} if (wert>(dasist[3]-toleranz)&&wert<(dasist[3]+toleranz)&& onpress[6] ==0) { onpress[6] =1; if(istan==true){istan=false;}else{istan=true;}} if (onpress[6]==1){onpress[7]++;}if(onpress[7]>=20){onpress[7]=0;onpress[6]=0;} if (wert>(dasist[4]-toleranz)&&wert<(dasist[4]+toleranz)&& onpress[8] ==0) { onpress[8] =1; tminusset=true;} if (onpress[8]==1){onpress[9]++;}if(onpress[9]>=10){onpress[9]=0;onpress[8]=0;} if (wert>(dasist[5]-toleranz)&&wert<(dasist[5]+toleranz)&& onpress[10] ==0) { onpress[10] =1; tplusset=true;} if (onpress[10]==1){onpress[11]++;}if(onpress[11]>=10){onpress[11]=0;onpress[10]=0;} if (wert>(dasist[6]-toleranz)&&wert<(dasist[6]+toleranz)&& onpress[12] ==0) { onpress[12] =1; } //write this better hidden in code somwhere i not bindet to place iam living but my livestyle is strange //i hate money caused character destroyin iam like exchange, my capital is in my head //+ my abilities basicly motivation:consume chemical substances create necessity for led prototype developing //much more fun with chemicals if cute new lad or other prototype for entertaiment durring consume //if want have them only i can create them.. so automaticly never use tomuch chemicals or making me stupid with them //must always chemicals free breaks between >protoypes musst be developed clean stuff :3 //caused old ones insipidly after while.. simple motivation system working awesome much prototype output //shezhen is awesome! more awesome Tashirojima island but if hate money its expesive lining there //would live there english communication well, german better, but need this livestyle and if no //money must be sponsored.. but like prototypen lots of them have! how is about exchange protoypes+code against //ne creativity electronic parts+conmume stuff some verry strange lifestyle but if see the project //such epic strange advanced stuff can only be created by this way if there is necessity for creativity caused no money //:3 oh have much hardware+electronic+prototypes stuff verry much just enough to fill container for settlement in china /*clock 1rst documentation on twitter: https://twitter.com/marderchen_maus/status/1232074885511483394 video: https://cloud.mail.ru/public/2SkQ/5xVeNRdpd * code it write for it https://www.marderchen.lima-city.de/wuselcode/0603-singlecolor-LED_ticksound_clock_runinvideo.txt * clock 2nd documentation on twitter: https://twitter.com/marderchen_maus/status/1234060933250592768 video: https://cloud.mail.ru/public/3uWf/2gsYdqgb7 * code https://www.marderchen.lima-city.de/wuselcode/0603-singlecolor-LED_secbeep_6digs_changeupdate.txt * please open this adresses they explain somuch.. if developing this is funny hobby for me iam maybe good enough for having this livestyle/live in china :3 most of my prototypes documentation (videos taken from funktion, pictrues build documentation mostly on videoend press space for break to see them, its in russian mail.ru cloud drive https://cloud.mail.ru/public/3t72/dr8g1tJ7h caused do not use google or like USA :3 my code txt directory https://www.marderchen.lima-city.de/wuselcode/ txt content is for paste in arduino project (arduino readysetted with stm-master library and st-linkV2 dongle for flash it on the STM32F103C8T6 minimum system boars (AS3=action script3 =java=swf=flash mostly psychedelic draw with math in stage gfx stuff) iam on twitter watch profil and posts.. i can noly create stuff is can alsoso modifie or repair nearly every existing electronic hihi https://twitter.com/marderchen_maus maybe order german translator its also written there.. nearly every electronicstuff ordered in china ebay iam cd86matrix buyer :3 just watch pictue always manual handsoldered this stuff is hihihi for me its funny hobby with cute provocation and not hard work! just like todo it :3 email: marderchen@mail.ru would be awesome get answer from china(can be in english or german) //if i hate money deffenitly never selling my codes >they are all free to use! basicly my led/device/display etc stuff is some kind of psychedelic cutre color creating stuff //read twitter pofile.. if will have this in this would just must provide the code for building it.. other words: iam strange STM32F103C8T6 minimum Systemboard coder, some kind of advanced electronic engineer, would live in china. there must be a way soon as possible..*/ //https://www.deviantart.com/marderchen iam also creativ in art.. look the AS3 scripts basicly from this flashs (swf animations) submited there :3 //https://www.deviantart.com/marderchen/art/DRAW-LIQUID-BAR-RGB-device-Circuit-638441190 (old PCB none SMD project) junny resulution zoom in :3 or download for zoom in //>yes also can create schematics and such stuff for prototypes but.. only one person iam mostly no time create schematics just working free from head hihihi //china have advanced proficoder? if they undestand how this code https://www.marderchen.lima-city.de/wuselcode/720WS2812B%20update%20beat%20new%20stuff.txt working and doing this 720pcs ws2812B matrix animation video> https://cloud.mail.ru/public/3N91/H32zQW9Hh //=think its absolutly clear i should use any psychoactive chemicals i want caused i can transform my how the animation should work ideas in such complex code hihi //on top from code comments >think the animation looking cute if looking like this.. start writing on bottom for having exact this optical result (with raw working any way math)lol whats the meaning from this? //>> a epic skill >if its possible to explain me how a WS2812B animation idea should work (like german but also understand english deffinitly must understand the idea) i can tranform it in working colorfull WS2812B (large)matrixcode for STMF103C8T6 minimum systemboard 9U series with the stuff i alrealy have yay //think can do this with ws2812B most importand but also can do this with any kind of leds, sensors, switchingparts.. a mechatronic engineer can create systems ( if (onpress[12]==1){onpress[13]++;}if(onpress[13]>=10){onpress[13]=0;onpress[12]=0;} configdas(); updatez=false; for(uint8_t durchgeh=0;durchgeh<12;durchgeh+=2){if(onpress[durchgeh]==1){updatez=true;}} if(updatez==true){zeigseczeit(Secs);updatez=false;} }} void leuchtetbalken(void){//auswahlzi } uint16_t adder=1; //auswahl 0=zeit helligkeit, 1=setz stunden1, 2=setz stunden2, 3=setz minuten1, 4=setz minuten2,5=sound wie void configdas() { // digitise[6][auswahlzi]=ani; if (auswahlzi==0) {adder=20; if (tplusset ==true && ani <100) {tplusset=false; ani+=adder;} if (tminusset==true && ani >=adder){tminusset=false; ani-=adder;}} if (auswahlzi==1) {adder=36000; if (tplusset ==true && Secs =adder){tminusset=false; Secs-=adder;}} if (auswahlzi==2) {adder=3600; if (tplusset ==true && Secs =adder){tminusset=false; Secs-=adder;}} if (auswahlzi==3) {adder=600; if (tplusset ==true && Secs =adder){tminusset=false; Secs-=adder;}} if (auswahlzi==4) {adder=60; if (tplusset ==true && Secs =adder){tminusset=false; Secs-=adder;}} if (auswahlzi==5) {adder=1; if (tplusset ==true && Secs =adder){tminusset=false; Secs-=adder;}} if (auswahlzi==6) {adder=1; if (tplusset ==true && soundmodus <10) {tplusset=false; soundmodus+=adder;} if (tminusset==true && soundmodus >=adder){tminusset=false;soundmodus-=adder;}} if (auswahlzi==7) {} if (auswahlzi==8) {} } String michauch=""; void zeigseczeit(uint32_t runningSecs){michauch=""; if ((((runningSecs/60)/60)%60) <10){ michauch+="0";} michauch +=((runningSecs/60)/60)%60; if (((runningSecs/60)%60) <10){ michauch+="0";} michauch +=(runningSecs/60)%60; if ((runningSecs%60) <10){ michauch+="0";} michauch +=runningSecs%60; setzbalken(michauch);} void zeigzahl(uint32_t mich){michauch=""; if (mich <10) {michauch+="0";} if (mich <100) {michauch+="0";} michauch+=mich; setzbalken(michauch);} void setzbalken(String showme) {zeigzeugs(0,showme[0]); zeigzeugs(1,showme[1]); zeigzeugs(2,showme[2]); zeigzeugs(3,showme[3]); }//reorder if needet nixe kote system just expand for having seconds displayed boolean einszwei; uint8_t zehl,on=99; long maintime=millis();long maintime2=millis();long maintime3=millis();uint32_t flink=micros();uint32_t nochmal=millis(); void zeitreise(void){ while ((millis()- maintime) >=20) {relaiknatator(); drueckmich();downfade(); maintime = millis();} while ((millis()- maintime2) >= 499) {//zeigzahl(analogRead(tasterM)); //hihi so my 8digs display working just a display running to lazy calculyte taster values by risitorvalues just led print them out :3 result in dasist //if(einszwei=false){einszwei=true;}else{einszwei=false;digitise[4][7]=ani;} maintime2 = millis();}//dots here while ((millis()- maintime3) >= 999) {//have to currect clock running some minutes to fast after beepingnight Relais[1]=on;//zeigzahl(1234); if((Secs%2)==0){secscache[29][1]=ani;secscache[0][2]++;if(secscache[0][2]>30){secscache[29][2]=0;}}//setze wanderpunkt zeigseczeit(Secs); maintime3 = millis(); if((Secs%60)==0){neuesequenz();} Secs++; if(Secs>eintag){Secs=0;}}// thistime without date while ((micros()- flink) >= 3) { machlicht();flink=micros();} while ((millis()- nochmal) >= 17) { for(uint8_t durch=30;durch>1;durch-=1){if(secscache[durch-1][1]>0){secscache[durch-1][1]=secscache[durch][1];secscache[durch-1][0]=secscache[durch][1];secscache[durch][1]=0;}}//hihi nice system used it for 720xWS2812B animation but little complexerbasicly its swap or scroll?? nochmal=millis();} } uint8_t tenfivtelsec,sequenz[52];; void relaiknatator(void){ if((tenfivtelsec%10)==0){for(uint8_t ratter =1; ratter <8;ratter++){Relais[ratter]=0;}}//if(Relais[ratter]>=10){Relais[ratter]-=10;}}}// tenfivtelsec++;if(tenfivtelsec>=50){tenfivtelsec=0;} Relais[sequenz[tenfivtelsec]]=on; } boolean warnix=false; void neuesequenz(void){ warnix=true; for(uint8_t das=1;das<8;das++){sequenz[das]=0; if(random(0,100)<20) {sequenz[das]=random(2,6);}if(sequenz[das]>0){warnix=false;}} if(warnix ==true){neuesequenz();} } uint8_t steptz=4; void downfade(void) { for (int16_t digs=0; digs <=8; digs++) { for (int16_t ad=0; ad <=7; ad++) { if(digs <6&&ad<5&& secscache[(digs*5)+ad][0]>0){secscache[(digs*5)+ad][0]--;} if(digitise[digs][ad]>0) { digitise[digs][ad]--;} if(digitise[digs][ad]<(ani-(ani/4))&&digitise[digs][ad]>=steptz) { digitise[digs][ad]-=steptz;} }} } /*thingy the dig "PLAN" for setting array stuff (bars in digital display) for havving stuff there if build own digitdisplay must be a plan for translation somwhere usable: * zeigzeugs(position(number),character(number,alpha,ascii)); =1) { if (fcount1 == ((fadefine)-digitise[0][sekt])) { digitalWrite(dig1,HIGH);} if (fcount1 == ((fadefine)-digitise[1][sekt])) { digitalWrite(dig2,HIGH);} if (fcount1 == ((fadefine)-digitise[2][sekt])) { digitalWrite(dig3,HIGH);} if (fcount1 == ((fadefine)-digitise[3][sekt])) { digitalWrite(dig4,HIGH);} if(sekt<6){ if (fcount1 == ((fadefine)-secscache[0+sekt][0])) { digitalWrite(LED1,HIGH);} if (fcount1 == ((fadefine)-secscache[6+sekt][0])) { digitalWrite(LED2,HIGH);} if (fcount1 == ((fadefine)-secscache[12+sekt][0])){ digitalWrite(LED3,HIGH);}//just more.. if (fcount1 == ((fadefine)-secscache[18+sekt][0])){ digitalWrite(LED4,HIGH);} if (fcount1 == ((fadefine)-secscache[24+sekt][0])){ digitalWrite(LED5,HIGH);}} if (fcount1 == ((fadefine)-Relais[1])) { digitalWrite(coil1,HIGH);} if (fcount1 == ((fadefine)-Relais[2])) { digitalWrite(coil2,HIGH);} if (fcount1 == ((fadefine)-Relais[3])) { digitalWrite(coil3,HIGH);} } if (fcount1 > (fadefine)) {nodig();norest();} }}}} void nodig(void) { digitalWrite(dig1,LOW); digitalWrite(dig2,LOW); digitalWrite(dig3,LOW); digitalWrite(dig4,LOW); digitalWrite(block1,HIGH);digitalWrite(block2,HIGH);digitalWrite(block3,HIGH);digitalWrite(block4,HIGH); digitalWrite(block5,HIGH);} void noseg(void) { digitalWrite(seg1,LOW); digitalWrite(seg2,LOW); digitalWrite(seg3,LOW); digitalWrite(seg4,LOW); digitalWrite(seg5,LOW); digitalWrite(seg6,LOW); digitalWrite(seg7,LOW); digitalWrite(LED1,HIGH); digitalWrite(LED2,HIGH); digitalWrite(LED3,HIGH); digitalWrite(LED4,HIGH);digitalWrite(LED5,HIGH); } void norest(void){digitalWrite(coil1,LOW);digitalWrite(coil2,LOW);digitalWrite(coil3,LOW);} //[MEOW] project by marderchen us3e it or parts if usefull :3