Projekt 20 bringt uns mit dem Arduino zum Digitalthermometer und dieser Artikel liefert den Code dazu…

Programmierung:

#define DATA 6       // Arduino-Pin 6 wird verbunden mit Schieberegister-Pin 14 
#define LATCH 8      // Arduino-Pin 8 wird verbunden mit Schieberegister-Pin 12
#define CLOCK 10     // Arduino-Pin 10 wird verbunden mit Schieberegister-Pin 11

int temp = 0;
float voltage = 0;
float celsius = 0;
float sensor = 0;
int digits[]={252, 96,218,242,102,182,190,224,254,246,238,62,156,122,158,142};

void setup()
{
pinMode(LATCH, OUTPUT);
pinMode(CLOCK, OUTPUT);
pinMode(DATA, OUTPUT);
}

void displayNumber(int n)
{
int left, right = 0;
if (n < 10)
{
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLOCK, LSBFIRST, digits[n]);
shiftOut(DATA, CLOCK, LSBFIRST, digits[0]); 
     digitalWrite(LATCH, HIGH);    
   }
   if (n>= 10)
   {
     right = n %10;
     left = n / 10;
     digitalWrite(LATCH, LOW);
     shiftOut(DATA, CLOCK, LSBFIRST, digits[right]);
     shiftOut(DATA, CLOCK, LSBFIRST, digits[left]); 
     digitalWrite(LATCH, HIGH);         
   }
}

void loop()
{
sensor = analogRead(5);
voltage = (sensor * 5000) / 1024;
voltage = voltage - 500;
celsius = voltage / 10;
temp = int(celsius);

displayNumber(temp);
delay(500);
}

Von Torsten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert