termometr

z foreste, 2 lata temu, napisane w C++, wyświetlone 115 razy. [paste_expire] 1 sekunda.
URL https://codetab.e3x.pl/view/564ff6f3 Udostępnij
Pobierz wklejkę lub Pokaż surowy tekst
  1. #include "mbed.h"
  2. #include "MPL3115A2.h"
  3. #include "Terminal.h"
  4. #include "cstdlib"
  5. #include "string"
  6.  
  7. Terminal pc(PTA2, PTA1); // tx, rx
  8. I2C i2c(PTE0, PTE1);       // sda, scl
  9. MPL3115A2 sensor(&i2c, &pc);
  10. int tempint;
  11. int val = 0;
  12. Timer licznik;
  13.  
  14. DigitalOut buzzer(PTA12);     // Sanity check to make sure the program is working.
  15. DigitalOut myled1(PTD1, 1);     // Sanity check to make sure the program is working.
  16. void alarm()
  17. {
  18.         licznik.start();
  19.        
  20.         if (licznik. read_ms() <= 1000)
  21.         {
  22.                 buzzer = !buzzer;
  23.         }
  24.         licznik.reset();
  25. }
  26. void rs232()
  27. {
  28.         char dane[4];
  29.        
  30.  
  31.         pc.gets(dane, 3);
  32.        
  33.         for (int   z = 0; z < 4; z++)
  34.         {
  35.                
  36.                 if (isdigit(dane[z]))//sprawdzanie czy znak jest liczbą
  37.                 {
  38.        
  39.                         tempint = atoi(dane); //kowertowanie tablicy typu char na zmienną int
  40.                 }
  41.         }
  42.        
  43.                
  44. }
  45.  
  46. void screen()
  47. {
  48.        
  49.         pc.foreground(0xFFFF00);
  50.         pc.hideCursor();
  51. }
  52. void intro()
  53. {
  54.         pc.locate(25, 5);
  55.         pc.printf(" ** Inteligetny Termometr   ** ");
  56.         pc.locate(25, 6);
  57.         pc.printf("Create by Foreste");
  58. }
  59. void labels()
  60. {
  61.        
  62.         pc.locate(20, 7);
  63.         pc.printf("Temperatura");
  64.         pc.locate(35, 7);
  65.         pc.printf("Cisnienie");
  66.         pc.locate(48, 7);
  67.         pc.printf("alarm wysokiej temperatury");
  68. }
  69. int main() {
  70.         pc.baud(19200);
  71.         pc.cls();
  72.    
  73.  
  74.         sensor.init();
  75.        
  76.        
  77.  
  78.         //Altitude a;
  79.         Temperature t;
  80.         Pressure p;
  81.    
  82.         // Offsets for Dacula, GA
  83.         //sensor.setOffsetAltitude(83);
  84.         sensor.setOffsetTemperature(20);
  85.         sensor.setOffsetPressure(-32);
  86.        
  87.        
  88.         while (val <= 0)
  89.         {
  90.                
  91.                 screen();
  92.                 intro();
  93.                 pc.locate(1,7);
  94.                 pc.printf("Wpisz wartość temperatury ,po której termometr bedzie sygnalizował przekroczenie");
  95.                 rs232();
  96.                 if ((tempint >= 12) && (tempint <= 40))
  97.                 {
  98.                         pc.cls();
  99.                         screen();
  100.                         intro();
  101.                         pc.locate(20, 7);
  102.                         pc.printf("Zapisalem podaną temperature przekroczenia");
  103.                         wait(5);
  104.                         val = 1;
  105.                 }
  106.                 else
  107.                 {
  108.                         pc.cls();
  109.                         screen();
  110.                         intro();
  111.                         pc.locate(20, 7);
  112.                         pc.printf("Nie poprawne dane wpisano  dane powinny być od 12 do 40");
  113.                         wait(5);
  114.                 }
  115.         }
  116.         pc.cls();
  117.        
  118.        
  119.         while (1)
  120.         {
  121.                 //rs232();
  122.                 //sensor.readAltitude(&a);
  123.                 sensor.readTemperature(&t);
  124.        
  125.                 sensor.setModeStandby();
  126.                 sensor.setModeBarometer();
  127.                 sensor.setModeActive();
  128.                 sensor.readPressure(&p);
  129.                 string str = t.print();
  130.                 int tempint2 = atoi(str.c_str());
  131.                 screen();
  132.                 intro();
  133.                 labels();
  134.                 if (tempint2 < tempint)
  135.                 {
  136.                         alarm();
  137.                 }
  138.                 alarm();
  139.                 pc.locate(20,9);
  140.                 pc.printf("%s C", t.print());
  141.                
  142.    
  143.                 pc.locate(35, 9);
  144.                 pc.printf("%s Hpa", p.print());
  145.                 pc.locate(50, 9);
  146.                 pc.printf("%d", tempint);
  147.                 sensor.setModeStandby();
  148.                 sensor.setModeAltimeter();
  149.                 sensor.setModeActive();
  150.         }
  151. }

odpowiedź "termometr"

Tutaj możesz odpowiedzieć na wklejkę z góry

captcha