sad
Dependencies: mbed X_NUCLEO_IKS01A2
Revision 1:f92b7ebec49f, committed 2021-01-27
- Comitter:
- ikussm
- Date:
- Wed Jan 27 18:35:28 2021 +0000
- Parent:
- 0:d704d2f21671
- Commit message:
- xd
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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));
}
}