Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////////////////////
- //Project 6.03 Read TCN75A Temperature Sensor
- //Wire-kirjasto mahdollistaa keskustelun I2C-laitteiden kanssa
- #include <Wire.h>
- //alustetaan tarvittavat muuttujat
- int tempreg = 0;
- float temperature = 0;
- byte address = 72;
- int fan = 8;
- int potentiometer = A0;
- int potValue = 0;
- float threshold = 0;
- void setup(){
- //asettaa tiedonsiirtonopeuden, jolla tietoa siirretään Arduinon ja tietokoneen välillä; tässä 9600bps
- Serial.begin(9600);
- Wire.begin();
- //konfiguroidaan pinni numero 8 toimimaan outputtina
- pinMode(fan, OUTPUT);
- Wire.beginTransmission(address);
- Wire.write(0x01);
- Wire.write(0x60);
- Wire.endTransmission();
- Wire.beginTransmission(address);
- Wire.write(0x00);
- Wire.endTransmission();
- }
- void loop(){
- // Receives data from the Temperature Register
- Wire.requestFrom(address,byte(2));
- tempreg = Wire.read();
- tempreg= tempreg << 8;
- tempreg |= Wire.read();
- tempreg = tempreg >> 4;
- //lasketaan lämpötila
- temperature =( float ) tempreg / 16;
- potValue = analogRead(potentiometer);
- threshold = (23 + potValue/250.0);
- //ehtolause, joka tarkistaa lämpötilan suuruuden
- if(temperature > threshold){
- //jos lämpötila on liian suuri, käynnistää tuulettimen
- digitalWrite(fan, HIGH);
- }else
- {
- //muuten sammuttaa tuulettimen tai pitää sen sammuneena
- digitalWrite(fan, LOW);
- }
- // tulostetaan lämpötila sarjamonitoriin
- Serial.print("Tuuletin käynnistyy, jos lämpötila > ");
- Serial.println(threshold, 1);
- Serial.print("Tämänhetkinen lämpötila: ");
- Serial.println(temperature, 1);
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement