• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
odwrócenie wyświetlania czujnika odległości
#1
witam mam mały problem i nie wiem jak go rozwiązać  Ultradźwiękowy czujnik odległości HC-SR04 2-200cm napisałem do niego kod  i chciałem zrobić tak że będzie skala w procentach czujnik ma mierzyć zakres od zera do 50 cm więc  zamiast czas_impulsu/58 zrobiłem 29  teraz jeden centymetr to tak jakby 2centymetry więc przy rzeczywistych 50 centymetrach na wyświetlaczu będzie wartość 100 i teraz mam problem bo chce aby wartość była odwrócona czyli zaczynała się od 100% i czym dalej odległość tym wartość mniejsza ma ktoś jakiś pomysł jak to zrobić 
Kod:
#include <LiquidCrystal_I2C.h>
#include <Timers.h>

#define pin_nadajnik 9  //Definicja pinu, do którego podłączamy nadajnik (pin TRIG)
#define pin_odbiornik 8
int odleglosc1;          //Zmienna przechowująca odległość
long czas_impulsu = 0;

Timer odleglosc;

void setup() {
   Serial.begin (9600);
  pinMode(pin_nadajnik, OUTPUT);
pinMode(pin_odbiornik, INPUT);
odleglosc.begin(1000);
Serial.begin(9600);
}

void loop() {
  if (odleglosc.available()) {
digitalWrite(pin_nadajnik, HIGH); //Wystawienie stanu wysokiego na pin nadajnika

digitalWrite(pin_nadajnik, LOW); //Wystawienie stanu niskiego na pin nadajnika

czas_impulsu = pulseIn(pin_odbiornik, HIGH); //Czas trwania impulsu na pinie Echo
odleglosc1 = czas_impulsu/29; //Wyznaczenie odległości w cm
odleglosc1

Serial.println(odleglosc1);

odleglosc.restart();
}
}
 
Odpowiedź
#2
Pomyśl jak to obliczyć matematycznie i zapodać procesorkowi, aby to wykonał, on lubi takie obliczenia to jego domena.
 
Odpowiedź
#3
możesz użyć mapowania do ustalania procentów

https://www.arduino.cc/reference/en/lang.../math/map/


procenty = map(twoja wartość szukana ,ZAKRES_NISKI,ZAKRES_DOLNY,OD 0%, DO 100%)
procenty = map (x,0,50,0,100);

i zdefiniować to pod odległość
lub zrobić aby szukana była "odleglosc1" z zakresu wskazanego z mapy , możesz też odwrócić zakreś 100% do 0% , poczytaj o mapach lub szukaj w google dokladnie jak to działa
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości