Adafruit NeoPixel Ring 12 Leds Fitting Cover
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
I integrated a 12 pixel neopixel ring into my printer to act as a temp gauge when warming up and cooling down, then…
- Ocena
- 0 / 5
- Polubienia
- 3
- Pobrania
- 30
- Wydruki
- 0
- Wyświetlenia
- 615
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Other Ideas
- Licencja
- Creative Commons — Attribution
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.
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.
Let me know if you're interested in my wiring and code.
UPDATE 8/6/2017
Here are the changes I made to my Marlin code:
Add the Adafruit Neopixel library .h and .ccp files to the same folder Marlin is in.
Find the function "void manage_inactivity" and add the following to the last line of the function:
"dispTempGauge(); //Call's Dan's temp gauge" Add the following function: (I added it below the Temp_Stat_LEDs fuction)
// // 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 > 200) { // Update every 0.2s previousMills = currentMills; if ((isHeatingHotend(cur_extruder)) && (degTargetHotend(cur_extruder)>100.0) && ((degTargetHotend(cur_extruder)-degHotend(cur_extruder))>2)){ guage_type = 1; //if heating up && target is set high && not there yet } else if(degHotend(cur_extruder)>150.0){ //if not heating and temp is above minimum then dance guage_type = 2; } else if(degHotend(cur_extruder)>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.99, 3, 11); //maxTemp
.90 is to scale the max pixel down slightly. Otherwise max is firm MAX. for(int i=3;i.98, 3, 11); //maxTemp.98 is to scale the max pixel down slightly. Otherwise max is firm MAX. for(int i=3;iRafts:
Doesn't Matter
Supports:
No
Category: DIY