You are viewing an older revision! See the latest version
Regulacija temperature prostorije
Implementirajte klasu imena Heater u Heater.cpp datoteci, čiji je deklaracijski dio zadan sljedećim kôdom:
Heater.h
#ifndef HEATER_H
#define HEATER_H
#include "mbed.h"
/** Jednostavna klasa za regulaciju temperature u prostoriji pomoću
* grijača pokretanog digitalnim izlazom i jednog analognog temperaturnog senzora.
*
* Author(s): TVZ Mechatronics Team
*
*/
class Heater {
public:
/** Konstruktor prima imena pinova temperaturnog senzora i
* DigitalOut pin na koji je spojen grijač. */
Heater(PinName sensorPin, PinName digitalOutPin);
/** Postavi temperaturni raspon senzora. */
void configureSensor(float minTemperature, float maxTemperature);
/** Pročitaj trenutnu temperaturu u prostoriji sa senzora. */
float readTemperature();
/** Provjeri da li je grijač uključen. */
bool isHeaterOn();
/** Postavi željenu temperaturu prostorije. */
void setTemperature(float temp);
private:
AnalogIn sensor;
DigitalOut driver;
Ticker ticker;
void regulateTemperature();
bool heaterOn;
float currentTemp, desiredTemp, minTemp, maxTemp, hysteresis, heaterOnTemp, heaterOffTemp;
};
#endif // HEATER_H
Nakon toga napišite glavnu funkciju main() u datoteci main.cpp za mbed application board, u kojem potenciometar Pot1 služi za emulaciju temperaturnog senzora, potenciometar Pot2 služi za postavljanje željene temperature, dok dioda LED1 prikazuje stanje grijača (uključen ili isključen). Prikažite podatke na LCD zaslonu, prema sljedećem primjeru:
Zeljena temperatura: 22.5 Trenutna temperatura: 24.0 Stanje grijaca: iskljucen
Moguće rješenje je dano sljedećim programom:
Import programMAB_Heater
Program that uses Heater library.
Čestitke!
Završili ste sve vježbe iz teme Regulacija temperature prostorije.
Povratak na naslovnu stranicu TVZ Mechatronics Team-a.
