Upravljanje temperaturom
Dependencies: mbed TextLCD Ventilator
main.cpp@5:ef85309e4c19, 2021-05-04 (annotated)
- Committer:
- tomislavs
- Date:
- Tue May 04 09:04:43 2021 +0000
- Revision:
- 5:ef85309e4c19
- Parent:
- 4:a3e4bb2053cb
Updated
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wim | 0:a75049de1a82 | 1 | #include "mbed.h" |
wim | 0:a75049de1a82 | 2 | #include "TextLCD.h" |
tomislavs | 5:ef85309e4c19 | 3 | #include "ventilator.h" |
tomislavs | 5:ef85309e4c19 | 4 | |
tomislavs | 5:ef85309e4c19 | 5 | TextLCD lcd(A4, A5, D4, D5, D6, D7); //definiramo pinove koji ce se koristiri za lcd |
tomislavs | 5:ef85309e4c19 | 6 | VENTILATOR ventilator1(D3); |
tomislavs | 5:ef85309e4c19 | 7 | AnalogIn potencio(A1); //definiramo da pin A1 bude analogni ulaz |
tomislavs | 5:ef85309e4c19 | 8 | DigitalIn start(D8); //definiramo da pin D8 bude digitalni ulaz |
tomislavs | 5:ef85309e4c19 | 9 | Timer ven_on; //definiramo timer |
tomislavs | 5:ef85309e4c19 | 10 | float vrijednost_pot; //definiramo farijablu tipa float u koju ćemo spremiti vrijednost potenciometra |
wim | 0:a75049de1a82 | 11 | |
tomislavs | 5:ef85309e4c19 | 12 | int main() |
tomislavs | 5:ef85309e4c19 | 13 | { |
tomislavs | 5:ef85309e4c19 | 14 | start.mode(PullUp); |
tomislavs | 5:ef85309e4c19 | 15 | while(1){ // beskonacna petlja |
tomislavs | 5:ef85309e4c19 | 16 | vrijednost_pot=potencio*100; |
tomislavs | 5:ef85309e4c19 | 17 | lcd.printf("Temp: %.2f C",vrijednost_pot); |
tomislavs | 5:ef85309e4c19 | 18 | wait(0.2); |
tomislavs | 5:ef85309e4c19 | 19 | if(vrijednost_pot>=60){ |
tomislavs | 5:ef85309e4c19 | 20 | while(vrijednost_pot > 25){ |
tomislavs | 5:ef85309e4c19 | 21 | vrijednost_pot=potencio*100; |
tomislavs | 5:ef85309e4c19 | 22 | lcd.printf("Temp: %.2f C",vrijednost_pot); |
tomislavs | 5:ef85309e4c19 | 23 | wait(0.2); |
tomislavs | 5:ef85309e4c19 | 24 | ventilator1.stanje(1); //pozivanje i slanje vrijednosti za funkciju stanje |
tomislavs | 5:ef85309e4c19 | 25 | lcd.cls(); |
tomislavs | 5:ef85309e4c19 | 26 | } |
tomislavs | 5:ef85309e4c19 | 27 | } |
tomislavs | 5:ef85309e4c19 | 28 | if(vrijednost_pot<60){ |
tomislavs | 5:ef85309e4c19 | 29 | ventilator1.stanje(0); |
tomislavs | 5:ef85309e4c19 | 30 | } |
tomislavs | 5:ef85309e4c19 | 31 | if(start==0){ |
tomislavs | 5:ef85309e4c19 | 32 | ven_on.start(); //pokretanje timera |
tomislavs | 5:ef85309e4c19 | 33 | while(ven_on.read_ms()<5000){ //petlja koja određeno vrijeme pokrece ventilator |
tomislavs | 5:ef85309e4c19 | 34 | ventilator1.stanje(1); |
tomislavs | 5:ef85309e4c19 | 35 | } |
tomislavs | 5:ef85309e4c19 | 36 | ventilator1.stanje(0); |
tomislavs | 5:ef85309e4c19 | 37 | ven_on.stop(); //zaustavljanje timera |
tomislavs | 5:ef85309e4c19 | 38 | ven_on.reset(); //resetiramo timer |
tomislavs | 5:ef85309e4c19 | 39 | } |
tomislavs | 5:ef85309e4c19 | 40 | lcd.cls(); |
wim | 4:a3e4bb2053cb | 41 | } |
wim | 4:a3e4bb2053cb | 42 | } |