a

Dependencies:   TextLCD mbed

Committer:
DrMirko
Date:
Wed Dec 21 19:43:24 2016 +0000
Revision:
0:37af44a1306e
aa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DrMirko 0:37af44a1306e 1 #include "mbed.h"
DrMirko 0:37af44a1306e 2 #include "TextLCD.h"
DrMirko 0:37af44a1306e 3 #include "Motor.h"
DrMirko 0:37af44a1306e 4
DrMirko 0:37af44a1306e 5 Motor m1(D10, D8, D9);
DrMirko 0:37af44a1306e 6 TextLCD lcd(D12, D11, D5, D4, D3, D2);
DrMirko 0:37af44a1306e 7 InterruptIn button(PC_13);
DrMirko 0:37af44a1306e 8
DrMirko 0:37af44a1306e 9 I2C i2c(D14, D15);
DrMirko 0:37af44a1306e 10 const int addr = 0x90;
DrMirko 0:37af44a1306e 11 volatile float tmin;
DrMirko 0:37af44a1306e 12 volatile float tmax;
DrMirko 0:37af44a1306e 13
DrMirko 0:37af44a1306e 14 void ISR1()
DrMirko 0:37af44a1306e 15 {
DrMirko 0:37af44a1306e 16 lcd.cls();
DrMirko 0:37af44a1306e 17 lcd.printf("Min: %.1f C", tmin/256);
DrMirko 0:37af44a1306e 18 wait(2);
DrMirko 0:37af44a1306e 19 lcd.cls();
DrMirko 0:37af44a1306e 20 lcd.printf("Max: %.1f C", tmax/256);
DrMirko 0:37af44a1306e 21 wait(2);
DrMirko 0:37af44a1306e 22 lcd.cls();
DrMirko 0:37af44a1306e 23 }
DrMirko 0:37af44a1306e 24 int main()
DrMirko 0:37af44a1306e 25 {
DrMirko 0:37af44a1306e 26 button.rise(&ISR1);
DrMirko 0:37af44a1306e 27 char cmd[2];
DrMirko 0:37af44a1306e 28 printf("\r\nTCN75 I2C thermometer\r\n");
DrMirko 0:37af44a1306e 29 cmd[0] = 0x01;
DrMirko 0:37af44a1306e 30 cmd[1] = 0x00;
DrMirko 0:37af44a1306e 31 i2c.write(addr, cmd, 2);
DrMirko 0:37af44a1306e 32 tmin=100*256;
DrMirko 0:37af44a1306e 33 tmax=-273.15*100;
DrMirko 0:37af44a1306e 34 while(1) {
DrMirko 0:37af44a1306e 35 wait(2);
DrMirko 0:37af44a1306e 36 cmd[0] = 0x00;
DrMirko 0:37af44a1306e 37 i2c.write(addr, cmd, 1);
DrMirko 0:37af44a1306e 38 i2c.read(addr, cmd, 2);
DrMirko 0:37af44a1306e 39 float temp = cmd[0]<<8|cmd[1];
DrMirko 0:37af44a1306e 40 lcd.printf("Temperatura :\n %.1f C\n", temp/256);
DrMirko 0:37af44a1306e 41 //printf("Temperatue = %.4f C\r\n", temp/256);
DrMirko 0:37af44a1306e 42 if(temp<tmin) {
DrMirko 0:37af44a1306e 43 tmin=temp;
DrMirko 0:37af44a1306e 44 }
DrMirko 0:37af44a1306e 45 else if(temp>tmax) {
DrMirko 0:37af44a1306e 46 tmax=temp;
DrMirko 0:37af44a1306e 47 }
DrMirko 0:37af44a1306e 48 if(temp/256>30){
DrMirko 0:37af44a1306e 49 m1.speed(0.7);
DrMirko 0:37af44a1306e 50 }
DrMirko 0:37af44a1306e 51 }
DrMirko 0:37af44a1306e 52 }