termometr

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

odpowiedzi na termometr rss

Tytuł Autor Język Dodano
Re: termometr foreste cpp 1 rok temu.

odpowiedź "termometr"

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

captcha