Adafruit NeoPixel Ring 12 Leds Fitting Cover

Adafruit NeoPixel Ring 12 Leds Fitting Cover

prusaprinters

<p>I integrated a 12 pixel neopixel ring into my printer to act as a temp gauge when warming up and cooling down, then just a random color fading widget while at temp. I used FKOne's mount as a backing to attach it to my printer. It needed a little bit of a diffuser and I had some glow-in-the-dark filament handy so I made this snap fit cover for it.</p> <p>The result is three 0.3mm layers of solid fill glow-in-the-dark filament and a ring that snaps over the frame. I might add a few more layers later or make it so it stands off of the frame a little further but I'm satisfied with it for now.</p> <p>Let me know if you're interested in my wiring and code.</p> <p><em>UPDATE 8/6/2017</em><br/> Here are the changes I made to my Marlin code:<br/> Add the Adafruit Neopixel library .h and .ccp files to the same folder Marlin is in.<br/> Find the function "void manage_inactivity" and add the following to the last line of the function:</p> <p>"dispTempGauge(); //Call's Dan's temp gauge" Add the following function: (I added it below the Temp_Stat_LEDs fuction)</p> <h3> // // Begin Dan's Custom Coloring!! // // unsigned long previousMills = 0; unsigned long currentMills = 0; int guage_type = 2; //default to display off int guage = 3; void dispTempGuage(){ int8_t cur_extruder = 0; currentMills = millis(); if (currentMills - previousMills &gt; 200) { // Update every 0.2s previousMills = currentMills; if ((isHeatingHotend(cur_extruder)) &amp;&amp; (degTargetHotend(cur_extruder)&gt;100.0) &amp;&amp; ((degTargetHotend(cur_extruder)-degHotend(cur_extruder))&gt;2)){ guage_type = 1; //if heating up &amp;&amp; target is set high &amp;&amp; not there yet } else if(degHotend(cur_extruder)&gt;150.0){ //if not heating and temp is above minimum then dance guage_type = 2; } else if(degHotend(cur_extruder)&gt;30.0){ //when done dancing then show cool down from prev temp setting? guage_type = 3;//busy printing } else{ //if none of the above then the printer must be idle. turn all lights off. guage_type = 0; //lights off } switch (guage_type){ case 0://off for(int i=0;i<numpixels;i++){ 0="" 1="" 1:="" 2="" 20,="" break;="" case="" cold="" degtargethotend(cur_extruder)<em="" green="" guage="map(degHotend(active_extruder)," guagecolor="pixels.Color(map(degHotend(active_extruder),20,degTargetHotend(cur_extruder)-2,0,128),0,map(degHotend(active_extruder),20,degTargetHotend(cur_extruder)-2,128,0));" heating="" hot="" is="" pixel="" pixels.setpixelcolor(0,128,0,0);="" pixels.setpixelcolor(1,0,128,0);="" pixels.setpixelcolor(2,0,0,128);="" pixels.setpixelcolor(i,0,0,0);="" sample="" status="" }="">.99, 3, 11); //maxTemp</numpixels;i++){></h3>.90 is to scale the max pixel down slightly. Otherwise max is firm MAX. for(int i=3;i<guage+1;i++){ 0="" 1="" 2="" 20,="" 210<em="" 2:="" 3:="" break;="" busy="" case="" cold="" colorb[i]="constrain(colorB[i]-fade,0,255);" colorb[index]="random(174);" colorg[i]="constrain(colorG[i]-fade,0,255);" colorg[index]="random(174);" colorr[i]="constrain(colorR[i]-fade,0,255);" colorr[index]="random(174);" cooling="" fades="" for(int="" green="" guage="map(degHotend(active_extruder)," guagecolor="pixels.Color(map(degHotend(active_extruder),20,210,0,64),0,map(degHotend(active_extruder),20,210,64,0));" hot="" i="0;i&lt;NUMPIXELS;i++){" index="random(NUMPIXELS);" is="" pixel="" pixels.setpixelcolor(0,64,0,0);="" pixels.setpixelcolor(1,0,64,0);="" pixels.setpixelcolor(2,0,0,64);="" pixels.setpixelcolor(i,0,0,0);="" pixels.setpixelcolor(i,colorr[i],colorg[i],colorb[i]);="" pixels.setpixelcolor(i,guagecolor);="" pixels.setpixelcolor(index,colorr[index],colorg[index],colorb[index]);="" printing="" random="" sample="" show="" so="" status="" }="">.98, 3, 11); //maxTemp</guage+1;i++){>.98 is to scale the max pixel down slightly. Otherwise max is firm MAX. for(int i=3;i<guage+1;i++){ break;="" for(int="" h1="" i="guage+1;i&lt;NUMPIXELS;i++){" pixels.setpixelcolor(i,0,0,0);="" pixels.setpixelcolor(i,guagecolor);="" pixels.show();="" print="" settings<="" }=""> <p><strong>Rafts:</strong></p> <p>Doesn't Matter</p> <p><p class="detail-setting supports"><strong>Supports: </strong> <div><p>No</p></div></p> </p></guage+1;i++){> Category: DIY

Download Model from prusaprinters

With this file you will be able to print Adafruit NeoPixel Ring 12 Leds Fitting Cover with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Adafruit NeoPixel Ring 12 Leds Fitting Cover.