Smart Coaster using ATtiny85 and mlx90615 by nid69ita 3d model
Warning. This content is not moderated and could be offensive.
m4
3dmdb logo
Thingiverse
Smart Coaster using ATtiny85 and mlx90615 by nid69ita

Smart Coaster using ATtiny85 and mlx90615 by nid69ita

by Thingiverse
Last crawled date: 3 years ago
Connect to usb battery or PC, cable usb only use vcc/gnd. Green when no object on top.
With a heavy object, pushbutton HIGH, sensor read temperature. Blue with ice, yellow/red with hot water. On stl no hole for cable, I used a drill.
In code T1 to T4 level for colors/temperature
I used an CJMCU LilyTiny (AtTiny85) as MCU, for temperature reading an MLX90615, for leds a ring of 16 led WS2812. Libraries for mlx and Neopixel for leds.
Code (missing hashtag character):
include //Adafruit_NeoPixel.h
include // Wire.h
include "mlx90615.h"
const byte PIN_NEO=1;
const byte PIN_BUTTON=4;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(16, PIN_NEO, NEO_GRB + NEO_KHZ800);
MLX90615 mlx = MLX90615(); // -40 to +115
define K_TMIN -400
define K_T1 0
define K_T2 200
define K_T3 400
define K_T4 800
define K_TMAX 1150
byte r,g,b;
int temp;
void setup()
{ pinMode(PIN_BUTTON,INPUT);
mlx.begin();
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop()
{
if(digitalRead(PIN_BUTTON)==LOW)
{ for(int i=0; istrip.show();
return;
}
temp = mlx.get_object_temp()*10.0; //float temp=mlx.get_object_temp();
for(int i=0; i{ if(temp < K_T1) // -1=azure-> -40° blue
{ r = 0; b = 255;
g = map(temp, K_TMIN, K_T1+1, 0, 255);
}
else if(temp <= K_T2) // 0=azure-> 20° white
{ r = map(temp, K_T2, K_T1 , 255, 0);
g = 255; b = 255;
}
else if(temp <= K_T3) // 21°=bianco -> 60° giallo
{ b = map(temp, K_T2+1, K_T3 , 255, 0);
r = 255; g = 255;
}
else if(temp <= K_T4) // 61° yellow -> 90° red
{ g = map(temp, K_T3+1, K_T4 , 255, 0);
r = 255; b = 0;
}
else // 91=red-> 115° black
{ r = map(temp, K_T4+1, K_TMAX, 255, 0);
g = 0; b = 0;
}
strip.setPixelColor(i, r, g, b);
}
strip.show();
delay(2000);
}
Pinout:
P4 to button
P0 to mlx (sda) PB0
P2 to mlx (scl) PB2
P1 to led ring

Tags