Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed X_NUCLEO_IKS01A2
Diff: main.cpp
- Revision:
- 1:f92b7ebec49f
- Parent:
- 0:d704d2f21671
--- a/main.cpp Sat Jan 23 20:02:34 2021 +0000 +++ b/main.cpp Wed Jan 27 18:35:28 2021 +0000 @@ -33,12 +33,22 @@ { uint8_t id; float cisnienie, temperatura,odczyt_analog; // Deklaracja zmiennych używanych w programie +int i; char buffer1[32], buffer2[32],buffer3[32],buffer5[32]; -double Idealne_cisnienie,bary,ile,cisnieni_min,cisnienie_max,Zasieg_Czujnika; +double Idealne_cisnienie,bary,ile; int wzorzecP,wzorzecT; -odczyt_analog=Czujnik_ABP.read(); // odczytanie wartości z portu A0 -odczyt_analog=odczyt_analog*3300; // przeliczenie wartości na mV -printf("Wartosc = %.0fmV\n",odczyt_analog); + +i=0; + +for (i=0; i<10; i++) +{ + + odczyt_analog+=Czujnik_ABP.read(); // odczytanie wartości z portu A0 + +} +odczyt_analog=odczyt_analog/10; +odczyt_analog=(150*((odczyt_analog*3300)-500)/4500)/14.5; // przeliczenie wartości na bary + hum_temp->enable(); // Uruchomienie czujnika odpowiedzialnego za pomiar temperatury press_temp->enable() ; // Uruchomienie czujnika odpowiedzialnego za pomiar ciśnienia @@ -55,21 +65,25 @@ wzorzecT=293; // Temeratura wzorcowa w Kelwinach Idealne_cisnienie=(((wzorzecP)*(temperatura+ 273))/(wzorzecT)); // coś liczymy wartość cisnienia pożądana w kole bary=Idealne_cisnienie/100000; // przeliczenie na bary z paskali -ile=(bary-(cisnienie/1000)); // ile należy upuscić z koła +ile=(bary-odczyt_analog); // ile należy upuscić z koła printf("Ile ma byc w kole? %7s B\r\n ", print_double(buffer3,bary)); // Wartość ciśnienia jaka powinna znajdować się kole -printf("Ile jest w kole? %7s B\r\n ", print_double(buffer1,cisnienie/1000)); // Wartość ciśnienia jak znaduje się w kole -if ((cisnienie/1000)<bary) // początek warunku if odpowiedzialnego za określenie deczycji co należy zrobić z ciśnieniem w kole (Jeżeli ciśnieni mniejsze niż 2.5 ) -{ + + +printf("Ile jest w kole? %7s B\r\n ", print_double(buffer1,odczyt_analog)); // Wartość ciśnienia jak znaduje się w kole + +if (odczyt_analog>(bary+0,2)) // początek warunku if odpowiedzialnego za określenie deczycji co należy zrobić z ciśnieniem w kole (Jeżeli ciśnienie ma wartość powyżej bary+0,2) +{ + printf("Upusc %7s B\r\n ", print_double(buffer5,ile )); } -else if ((cisnienie/1000)>=2.5 && (cisnienie/1000)<=2.7 ) // Jeżeli ciśnienie znaduje się w przedziale <2.5;2.7> +else if (odczyt_analog>=(bary+0,2) && odczyt_analog<=(bary-0,2)) // Jeżeli ciśnienie znaduje się w przedziale <2.5;2.7> { printf("Nic nie trzeba robić %7s B\r\n ", print_double(buffer5,ile )); } -else if ((cisnienie/1000) > bary ) //Jeżeli ciśnienie ma wartość powyżej 2.7 +else if (odczyt_analog < (bary-0,2) ) //Jeżeli ciśnienie mniejsze niż bary-0,2) { -printf("dobij %7s B\r\n", print_double(buffer5,ile)); +printf("dobij %7s B\r\n", print_double(buffer5,ile)); } }