16. TEMPERATUUR SENSOREN

imageHier 4 soorten temperatuursensoren.
De werking is zichtbaar op een LCD1602.

 

ANALOGE TEMPERATUUR SENSOR
imageDeze thermistor is een weerstand die varieert met de temperatuur.
image
LCD
verbind pin RS to digital pin 4; R/W to GND; E to digital pin 5; D4~D7 to digital pin 9 to 12; VSS to GND; VDD to 5V; A to 3.3V; K to GND
Potentiometer verbinding: middelste met VO en ee nandere kant op GND
SCHETS
/***************************************************/
//TEMPERATUUR thermistor schakeling 16
//analoog
/***************************************************/

#include <LiquidCrystal.h>
// initialiseer de library met de pins nodig voor de interface 1602
LiquidCrystal lcd(4, 5, 9, 10, 11, 12);

#define analogPin  A0 //hier zit de thermistor op
#define beta 4090 //de beta van de thermistor
#define resistance 10 //de waarde van de pull-down resistor

void setup()
{
// zet de regels van de LCD op:
lcd.begin(16, 2);
lcd.clear();
}

void loop()
{
//lees thermistor waarde
long a =1023 – analogRead(analogPin);
//bereken de temperatuur
float tempC = beta /(log((1025.0 * 10 / a – 10) / 10) + beta / 298.0) – 273.0;
float tempF = tempC + 273.15;
// zet  “Temp: “op de LCD.
// zet de cursor op colom 0, regel 0
lcd.setCursor(0, 0);
lcd.print(“Temp: “);
// zet op de centigraad de temperatuur op de LCD.
lcd.print(tempC);
// zet de eenheid van de centigraad temperatuur op de LCD.
lcd.print(”  C”);
// cursor op colom 0, regel 1
// (opmerking: regel 1 is de tweede rij, we tellen eerst met 0):
lcd.setCursor(0, 1);
lcd.print(“Fahr: “);
// zet Fahrenheit temperatuur op de LCD.
lcd.print(tempF);
// zet Fahrenheit temperature op de LCD.
lcd.print(” F”);
delay(200); //wacht 100 milliseconden
}

ARDUINO tool 16 1 analoog
DIGITALE TEMPERATUURSENSOR
imageEen digitale temperatuursensor reageert alleen als de drempelwaarde is overschreden. Boven de drempelwaarde gaat de led op poort 13 aan.
image
SCHETS
/***************************************************/
//TEMPERATUUR thermistor schakeling 16
//digitaal
//hou je de thermistor vasat dan gaat de led uit
//draai aan schroefje voor waarde rond 510
/***************************************************/
const int digitalPin = 7;     // D0 pin naar pin7
int analogPin = A0;
const int ledPin =  13;      // LED pin

// variables will change:
boolean Dstate = 0;         // variabele om de status van de thermistor te lezen
int Astate = 0;
void setup() {
// initialiseer de LED pin als een output:
pinMode(ledPin, OUTPUT);
// initialiseer de thermistor pin als een input:
pinMode(digitalPin, INPUT);
Serial.begin(9600);

}

void loop(){
// lees de waarde van de thermistor:
Astate = analogRead(analogPin);
Dstate = digitalRead(digitalPin);
Serial.println(Dstate);
Serial.println(Astate);
// controleer of de thermistor warmer wordt
// zo ja dan is de thermistor HIGH:
if (Dstate == HIGH)
{
// zet LED aan:
digitalWrite(ledPin, LOW);
}
else
{
// zet LED uit:
digitalWrite(ledPin, HIGH);
}
}

ARDUINO tool 16 2 digitaal
DS18B2image0 TEMPERATUURSENSOR   Dit is een eenvoudige goed werkende sensor die direct naar display laat zien wat er uitkomt.
image
SCHETS
/***************************************************/
//TEMPERATUUR thermistor schakeling 16
//DS18B20
/***************************************************/
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
// zet S op poort 2
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// via oneWire reference naar Dallas Temperature.
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(4, 5,9, 10, 11, 12);

void setup(void)
{
lcd.begin(16, 2);
// start seriele port
Serial.begin(9600);
Serial.println(“Dallas Temperature IC Control Library Demo”);
// Start de library
sensors.begin();
}
void loop(void)
{
// roep sensors.requestTemperatures() aan
// vraag aan alle devices
Serial.print(“Requesting temperatures…”);
sensors.requestTemperatures(); // stuur signaal om temperatuur te achterhalen
Serial.println(“DONE”);
lcd.setCursor(0, 0);
lcd.print(“Tem: “);
lcd.print(sensors.getTempCByIndex(0));//zet de temperatuur op lcd1602
lcd.print(” C”);
lcd.setCursor(0, 1);
lcd.print(“Tem: “);
lcd.print(sensors.getTempCByIndex(0) + 273.15);//zet temperatuur op lcd1602
lcd.print(” F”);
Serial.print(“Temperature for the device 1 (index 0) is: “);
Serial.println(sensors.getTempCByIndex(0));  //zet temperatuur op seriel monitor
}

ARDUINO tool 16 3 DS18B20

 

download ino via menu “Schets”

Advertenties

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

w

Verbinden met %s