Arduino – NeoPixel – Temp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#include <Adafruit_NeoPixel.h> #define PIN 2 #define AVERCNT 100 Adafruit_NeoPixel strip=Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800); int temp=A2; float vars; int numbers=0; int cnt=0; int sum=0; int aver=0; int tempColor[][3]={ {3, 49, 254}, {0, 103, 255}, {0, 135, 255}, {0, 191, 255}, {1, 243, 255}, {23, 255, 236}, {75, 255, 183}, {127, 255, 131}, {163, 255, 95}, {214, 255, 44}, {251, 253, 7}, {255, 211, 5}, {255, 159, 5}, {255, 123, 2}, {255, 71, 2}, {255, 20, 4} }; void setup() { strip.begin(); strip.show(); Serial.begin(9600); } void loop() { vars=((analogRead(temp) * 5.0 / 1024.0) - 0.5) * 100; //numbers=map(vars, -16, 40, 0, 16); numbers=map(vars, 18, 32, 0, 16); sum+=numbers; cnt++; if (cnt > AVERCNT) { aver=sum/AVERCNT; sum=0; cnt=0; Serial.println(aver); } for (int i=0;i<strip.numPixels();i++) { strip.setPixelColor(i, strip.Color(tempColor[aver][0], tempColor[aver][1], tempColor[aver][2])); strip.show(); } } |