Skip to content

Instantly share code, notes, and snippets.

@philpep
Created January 15, 2012 23:38
Show Gist options
  • Save philpep/1617998 to your computer and use it in GitHub Desktop.
Save philpep/1617998 to your computer and use it in GitHub Desktop.
Arduino binary temperature meter
#define LEN(x) (sizeof(x)/sizeof(x[0]))
/* connected leds (map temperature between 0°C and 64 °C) */
static int leds[] = {13, 12, 11, 10, 9, 8};
void setup(void)
{
int i;
Serial.begin(9600);
for (i = 0; i < LEN(leds); i++) {
pinMode(leds[i], OUTPUT);
digitalWrite(leds[i], 0);
}
}
void loop(void)
{
int i, t;
/* read temperature */
t = 5.0 * analogRead(0) * 100.0 / 1024.0;
for (i = 0; i < LEN(leds); i++) {
if (t & (1 << i))
digitalWrite(leds[i], 255);
else
digitalWrite(leds[i], 0);
}
Serial.println(t);
delay(500);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment