Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'HC-SR04'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 6 wyników

  1. Witam, Jestem w 8 klasie (co pewnie da się wyczuć 🙂 ) i robię robota, który omijałby przeszkody i wracał na trasę z wykorzystaniem HC-SR04 i MPU-6050. Używam też shielda od forbota, omawianego w kursie robotyki. Nieruchomy czujnik działa prawidłowo, ale kiedy obraca się na serwie, w pozycjach około prostopadłych do tylnej osi daje odczyt 0 cm. Pozostałe odczyty są poprawne, samo podłączenie czujnika też jest w porządku, bo działa bardzo dobrze będąc nieruchomym. Założenie jest takie, żeby czujnik zamontowany na serwie wykonywał pomiary odległości wokół robota, a następnie aby serwo obróciło się tam, gdzie odległość była najmniejsza (to pozwala cały czas monitorować najbliższą przeszkodę). Cały ,,układ" jest bardzo prosty, w zasadzie można go zreplikować w 5 minut i potestować z moim kodem. Poza tym, zamieszczony plik .zip to minutowy film, który pokazuje zarówno ruchy serwa, jak i odczyty podawane na port szeregowy (Forobot nie pozwala na przesyłanie .mp4). Cały kod zdaje się działać dobrze, jedynym problemem jest to, że pomiary bywają zerowe, co sprawia, że czujnik zachowuje się bez sensu. Myślałem nad dodaniem prostego warunku: ,,Jeżeli zmierzona odległość byłaby mniejsza od minimalnej i jednocześnie większa od zera, wtedy zapisujemy ją jako nową minimalną wartość". W moim kodzie wyglądałoby to tak: if (odleglosci[x] < min_odleglosc && odleglosci[x] > 0) min_odleglosc = odleglosci[x]; Niestety, w tym przypadku robot zupełnie nie wykrywałby przeszkód bezpośrednio naprzeciwko niego, bo otrzymywałby tam pomiary 0 cm (rysunek w załącznikach). Czy ktoś wie, jak naprawić kod/elektronikę? Z góry dziękuję za pomoc. Połączenia czujnik - Arduino: Vcc - 5V Gnd - Gnd trig - D8 echo - D7 //w przod - (R_DIR, 1), (L_DIR, 0). Min. predkosc silnikow to 20 w funkcji Left- i Rightmotor. RightMotor - słabszy //w accelerate dodac zczytywanie obecnej v i porownywac z poprzednia v, plynnie zwalniac //tak naprawde wystarcza dwie zmienne: aktualna_odleglosc i max_odleglosc. Jezeli aktualna_odleglosc > max_odleglosc, staje sie max_odleglosc. Jesli nie, w ogole jej nie potrzebujemy #define L_PWM 5 #define L_DIR 4 #define R_PWM 6 #define R_DIR 9 #define PWM_MAX 165 #define v_min 20 #define trig 8 #define echo 7 #define SERWO_PIN 11 #include <Servo.h> Servo serwo; float odleglosc; float LeftMotorMargin = 5; int max_odleglosc_global = 0; int min_odleglosc_global = 100; int min_odleglosc = 100; int max_odleglosc = 0; int odleglosci [20]; int powtorzenia = 0; int v_previous = 0; int j, x; int do_usuniecia = 0; int poprzedni_kat_serwa; int czestotliwosc_obrotu_serwa = 18; int int_numer_pomiaru; void LeftMotor (int v)//funkcja sterująca silnikiem lewym z jednym argumentem, prędkością. { if (v>0) //jeżeli podana wartość jest dodatnia { v+=LeftMotorMargin; v = map(v,0,100,0,PWM_MAX);//zmieniamy wartość podaną w programie na PWM digitalWrite (L_DIR, 0);//wyznaczamy kierunek - do przodu analogWrite (L_PWM, v);//PWM równy temu, co wyznaczył uzytkownik } else//jeżeli podana liczba jest ujemna { v = abs(v);//zamieniamy liczbę na dodatnią v+=LeftMotorMargin; //v = v - LeftMotorMargin; v = map(v,0,100,0,PWM_MAX);//zmieniamy podaną wartość na PWM digitalWrite (L_DIR, 1);//wyznaczamy kierunek - do tyłu analogWrite (L_PWM, v);//PWM równy temu, co wyznaczył użytkownik } } void RightMotor (int v)//analogiocznie do lewego silnika { if (v>0) { v = map(v,0,100,0,PWM_MAX); digitalWrite (R_DIR, 1); analogWrite (R_PWM, v); } else { v = abs(v); v = map(v,0,100,0,PWM_MAX); digitalWrite (R_DIR, 0); analogWrite (R_PWM, v); } } void stopMotors()//zatrzymanie silników { analogWrite(L_PWM, 0); analogWrite(R_PWM,0); } void accelerate (int v)//funkcja na płynne przyspieszanie i zwalnianie { if (abs(v)<20)//jeżeli podana liczba jest mniejsza niż 20 { v=20; //prędkość równa się 20 (unikamy prędkości zbyt małych, by ruszyć). } Serial.println (v); if (v>v_previous)//jeżeli przyspieszamy { for (int i = v_previous; i<v; i++)//zacznij od poprzedniej wartości, zwiększaj do wyznaczonej do wyznaczonej { RightMotor(i);//do przodu LeftMotor(i); delay(50); } } if (v<v_previous)//jeżeli zwalniamy { for (int i=v_previous; i>v; i--)//zacznij od wartości poprzedniej, zmniejszaj do wyznaczonej { RightMotor(i); LeftMotor(i); delay(50); } } v_previous = v;//zapisz obecną wartość jako wyznaczoną } float pomiar_odleglosci () { float odleglosc, czas; digitalWrite (trig, LOW); delayMicroseconds (2); digitalWrite (trig, HIGH); delayMicroseconds (10); digitalWrite (trig, LOW); czas = pulseIn (echo, HIGH); odleglosc = czas / 58; return odleglosc; } void serwo_right () { min_odleglosc = 100; for (int i = poprzedni_kat_serwa; i>0; i--) { serwo.write(i); delay(10); //czujnik wychyla sie w prawo, resetujemy min_odleglosc } poprzedni_kat_serwa = serwo.read(); } void serwo_left () { odleglosci[x] = pomiar_odleglosci (); Serial.println ("odleglosc prawa"); Serial.println (x); Serial.println (odleglosci[x]); x++;//wykonujemy pierwszy pomiar (w innym wypadku miałby on miejsce dopiero po wychyleniu serwa o czestotliwosc_obrotu_serwa, czyli 18 stopni) for (int i = poprzedni_kat_serwa; i<=180; i++) { //posuwamy sie az do skrajnie lewego wychylenia (zaczynamy ze skrajnie prawego) if (x>180/czestotliwosc_obrotu_serwa) x=0; //jezeli wykonalismy pelen cykl pomiarow resetujemy ich licznik if (j>=czestotliwosc_obrotu_serwa)//kiedy czujnik skrecil o kat podany jako czestotliwosc_pomiaru (kiedy trzeba wykonac pomiar) { j=0; //resestujemy licznik umozliwiajacy wykonanie pomiaru co czestotliwosc_pomiaru odleglosci[x] = pomiar_odleglosci();//wykonujemy pomiar if (odleglosci[x]>max_odleglosc)//jezeli aktualna odleglosc jest wieksza od zapisanej jako najwieksza odleglosc, staje sie nowa najwieksza odlegloscia max_odleglosc = odleglosci[x]; if (odleglosci[x]<min_odleglosc)//jezeli aktualna odleglosc jest mniejsza od zapisanej jako najmniejsza odleglosc min_odleglosc = odleglosci[x]; if (i < 90)//kiedy czujnik jest wychylony w lewo { Serial.println ("odleglosc prawa");//wypisujemy aktualna odleglosc Serial.println (x); Serial.println (odleglosci[x]); }else //kiedy czujnik jest wychylony w prawo { Serial.println ("odleglosc lewa"); //wypisujemy aktualna odleglosc Serial.println (x); Serial.println (odleglosci[x]); } x++; //zwiekszamy licznik pomiarow } //Serial.print ("Kat serwa = "); opcjonalnie mozna odkomentowac, pozwala zobaczyc kat serwa //Serial.println (serwo.read()); serwo.write(i);//przesuwamy serwo j++;//zmieniamy licznik przesuniec, dzieki temu mozemy robic pomiary kiedy osiognie wartosc = czestotliwosc_pomiaru delay(10); } poprzedni_kat_serwa = serwo.read();//zapisujemy obecny kat obrotu jako poprzedni_kat_serwo, co pomaga w wykonywaniu innych obrotow } void serwo_mid ()//kierujemy serwo do pozycji prostopadlej do tylnej do osi { if (poprzedni_kat_serwa > 90)//jezeli serwo jest zwrocone w lewo { for (int i = poprzedni_kat_serwa; i>90; i--)//zmniejszamy, czyli idziemy do prawej { serwo.write(i); } }else //kiedy serwo jest zwrocone w lewo { for (int i = poprzedni_kat_serwa; i<90; i++)//zwiekszamy, czyli idziemy do lewej { serwo.write(i); } } poprzedni_kat_serwa = serwo.read();//zapisujemy obecny kat obrotu jako poprzedni_kat_serwo, co pomaga w wykonywaniu innych obrotow } void zadany_obrot (int kat)//obrot serwa do zadanego katu { if (poprzedni_kat_serwa > kat)//jezeli zadany kat jest na prawo od obecnego { for (int i = poprzedni_kat_serwa; i>kat; i--)//skrecamy serwo w prawo { serwo.write(i); } }else //jezeli zadany kat jest na lewo od obecnego { for (int i = poprzedni_kat_serwa; i<kat; i++)//skrecamy serwo w lewo { serwo.write(i); } } poprzedni_kat_serwa = serwo.read();//zapisujemy obecny kat obrotu jako poprzedni_kat_serwo, co pomaga w wykonywaniu innych obrotow } int numer_pomiaru ()//zczytujemy tablice odleglosci[] (wyniki pomiarow) i szukamy tego, ktory jest najmniejszy { for (int i = 0; i <180/czestotliwosc_obrotu_serwa; i++)//przeszukujemy wszystkie pomiary { if (odleglosci[i] == min_odleglosc)//jezeli odleglosc o numerze 'i' jest najmniejsza { return i;//zwracamy numer pomiaru } } } float pomiar_odleglosci_serwo()//uzywamy trzech wyzej opisanych funkcji do zrobienia pomiaru odleglosci { serwo_right(); serwo_left(); serwo_mid(); return min_odleglosc; } void setup() { //definicja pinow, start komunikacji pinMode(L_DIR, OUTPUT); pinMode(R_DIR, OUTPUT); pinMode(L_PWM, OUTPUT); pinMode(R_PWM, OUTPUT); pinMode (trig, OUTPUT); pinMode (echo, INPUT); serwo.attach(SERWO_PIN); Serial.begin (9600); serwo_mid(); } void loop() { //wypisywanie wynikow pomiarow w porcie szeregowym Serial.println ("Pomiar odleglosci"); min_odleglosc_global = pomiar_odleglosci_serwo();//sprawdzamy odleglosci od przeszkod wokol robota delay(1000); int_numer_pomiaru = numer_pomiaru();//znajdujemy najmniejszy pomiar Serial.println ("numer pomiaru"); Serial.println (int_numer_pomiaru); Serial.println ("min_odleglosc"); Serial.println (min_odleglosc_global); delay(1000); Serial.println ("zadany obrot"); zadany_obrot(int_numer_pomiaru*czestotliwosc_obrotu_serwa);//obracamy serwo do kata, na ktorym byl najmniejszy pomiar Serial.println ("kat"); Serial.println (int_numer_pomiaru*czestotliwosc_obrotu_serwa); } film z dzialania robota.zip
  2. Witam, Robię robota, który ma omijać przeszkody i wracać na trasę dzięki HC-SR04 i MPU6050. Podpiąłem piny 3 i 7 odpowiednio do trig i echo na czujniku, 5V do Vcc i G do GND (na zdjęciach, przepraszam za złą jakość 😞 ). Niestety, czujnik daje odczyt 0 cm niezależnie od okoliczności. Czy ktoś wie jak pomóc? Z góry dziękuję #define trigPin 3 #define echoPin 7 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście pinMode(echoPin, INPUT); //a echo, jako wejście } void loop() { Serial.print(zmierzOdleglosc()); Serial.println(" cm"); delay(500); } int zmierzOdleglosc() { long czas, dystans; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); czas = pulseIn(echoPin, HIGH); dystans = czas / 58; return dystans; }
  3. Chcielibyśmy stworzyć robota omijającego przeszkody lub znajdującego swoją drogę w labiryncie. Potrzebny jest nam wtedy jakiś sposób wykrycia oraz ustalenia odległości od naszej ściany lub przeszkody. Jednym z tańszych sposobów jest zastosowanie ultradźwiękowego czujnika odległości. Odczyt sygnału i jego interpretacja jest tylko jednym z kilku zagadnień użytkowania tego typu sensora. Zgłębmy je razem poniżej. Ten artykuł bierze udział w naszym konkursie! 🔥 Na zwycięzców czekają karty podarunkowe Allegro, m.in.: 2000 zł, 1000 zł i 500 zł. Potrafisz napisać podobny poradnik? Opublikuj go na forum i zgłoś się do konkursu! Czekamy na ciekawe teksty związane z elektroniką i programowaniem. Sprawdź szczegóły » Zacznijmy od początku W naszych rozważaniach weźmy pod uwagę jeden z najpopularniejszych tego typu czujników – HC-SR04. Powyżej widzimy schemat połączenia czujnika z płytką Arduino Uno. W teorii wystarczy, że określimy wejścia/wyjścia, nadamy odpowiedni impuls na pin Trg, odczytamy długość impulsu na pin Echo i podzielimy go przez podaną w dokumentacji liczbę 58. Otóż ta wartość nie zawsze jest poprawna. Zasada działania czujnika opiera się na tym, że nadany sygnał dźwiękowy odbija się od przeszkody i wraca do odbiornika. W czasie podróży fal dźwiękowych na pinie echo ustawiony jest stan wysoki, zmienia się on na stan niski wraz z odczytaniem przez odbiornik powrotu fali. My odczytujemy długość trwania tego stanu i dzielimy go przez prędkość dźwięku. Prędkość a temperatura Załóżmy, że chcemy by nasz robot pracował na świeżym powietrzu. Liczba 58 o której mówi dokumentacja daje nam po podzieleniu przez czas impulsu odległość mierzoną w centymetrach zakładając, że prędkość dźwięku nie zmienia się. Dla temperatury 20˚C prędkość dźwięku wynosi 343,5 m/s ale dla 10˚C jest to już 337,5 m/s. Jeżeli dla prędkości w 20˚C odczytamy na czujniku 1 metr to dla 10˚C przy pozostawieniu tego samego przelicznika dla tej samej odległości odczytamy 0,98 metra. Poniżej znajduje się wykres, gdzie pokazano o ile procent różnią się pomiary w zależności od temperatury otoczenia w stosunku do pomiaru, gdzie za prędkość dźwięku przyjęliśmy tą podaną w dokumentacji (340 m/s). Prędkość dźwięku w zależności od temperatury liczymy ze wzoru: v = 331,5 + 0,6*T [m/s] Zakładając, że mierzymy odległość 4 metrów to w temperaturze 0˚C nasz pomiar jest o 10 cm różny od rzeczywistego licząc odległość dla 340 m/s. Aby temu zaradzić możemy zastosować czujnik temperatury który umożliwiałby robotowi w odpowiedni sposób zmieniać mnożnik, lub uwzględnić ten błąd pomiarowy w projekcie. Położenie ma znaczenie Błędy pomiarowe opisane powyżej są dla większości rozwiązań akceptowalne i można nie zwracać na nie uwagi. Jednak co jeżeli obiekt jest niewidoczny dla czujnika? W dokumentacji technicznej sensora HC-SR04 możemy wyczytać informację o tym, że kąt pomiarowy wynosi 30˚. Jednak nasuwa się pytanie dla jakich obiektów mierzono, gdzie ustalono wierzchołek kąta mierzenia oraz jakie są kryteria uznania pomiaru za poprawny. Po wykonaniu wielu pomiarów znalezione zostały na nie odpowiedzi. Po to by nasz stożek pomiarowy był symetryczny należy umieścić jego wierzchołek w odpowiednim miejscu. Położeniem tym jest środek czujnika. To właśnie ten punkt uznajemy za miejsce, gdzie kąt pomiaru wynosi 0˚. Symetria stożka pomiarowego ułatwi nam późniejsze projektowanie całego systemu odpowiedzialnego za mierzenie odległości. W naszej analizie będziemy wizualizować wyniki za pomocą schematu poniżej. Nasze rozważania co do kąta zaczniemy od prostokątnego pudełka. W zależności od czujnika zakres ,,widzenia’’ wynosił -11˚÷ 11˚ a w jednym z czujników nawet -6˚÷6˚. Jak można zauważyć efektywne kąty pomiarowe różnią się w zależności od egzemplarza. Pomiar poprawny otrzymujemy już wtedy, kiedy przynajmniej krawędź obiektu znajduje się w obszarze zaznaczonym na zielono. Jako dobry pomiar uznajemy zmierzenie odległości rzędu 50 cm z błędem mniejszym niż 2 cm, uwzględniając korektę temperaturową. Kolejnym elementem będzie ,,ścianka” z kartonu. Z takim obiektem może spotkać się nasz robot wielokrotnie w labiryncie. W tym przypadku wierzchołek pomiarowy jest o wiele mniejszy niż w przypadku pudełka. Zakres dobrych pomiarów wynosi -4˚÷4˚ a dla najgorszego przypadku -1˚÷1˚. Z racji tak wąskiego stożka może zajść potrzeba zastosowania większej liczby czujników bądź dokładne ich rozmieszczenie z uwzględnieniem zakresu dobrych pomiarów wspomnianych powyżej. Dla elementów wklęsłych i wypukłych względem sensora pomiary dla całego stożka są niepoprawne. Podsumowanie Czujnik HC-SR04 nie jest bardzo wysokiej klasy sensorem ultradźwiękowym (świadczy o tym na przykład rozrzut wartości kąta stożka pomiarowego różnych egzemplarzy). Można jednak przy uwzględnieniu warunków atmosferycznych i rodzajów obiektów jakie mamy mierzyć otrzymać dobre wyniki nie narażając się na koszty związane z zakupem sprzętu o lepszych parametrach. Dla poszerzenia kąta pomiarowego w labiryncie z cienkimi ścianami można zastosować kilka czujników. Kwestia zmiany prędkości dźwięku w zależności od temperatury staje się problematyczna dopiero na dużych odległościach, więc w przypadku robotów manewrujących nie musimy jej brać pod uwagę.
  4. Witam. Próbuję ustalić procentowo zawartość helu w mieszance powietrzno-helowej. Wiedząc, że dźwięk w helu rozchodzi się około trzy razy szybciej, pomyślełem, że mógłbym do tego celu wykorzystać czujnik ultradźwiękowy HC-SR04, służący do pomiaru odległości za pomiocą faj ultradźwiękowych. Czujnik mierzy czas od momentu wysłania impusu, aż do jego powrotu. Znając prędkość rozchodzenia się dźwięku w powietrzu – około 343,2m/s, łatwo obliczyć jest odległość jaką wykonały fale ultradźwiękowe. Wiedząc, że dźwięk w helu rozchodzi sie z prędkością około 981m/s oczekuję, że mierzona odległość w helu będzie około 3 razy mniejsza niż rzeczwista, jeśli będe mierzył ją tym samym sprzętem i programem (Do pomiaru wykorzystałem mieszankę o zawartości 45% helu.) Wynik mówi jednak coś innego i nie jestem pewien czy nie robię tu jakiegoś błędu w rozumowaniu. Do tego eksperymentu wykorzystuję kawałek rurki ok. 12 cm, a nadajnik i odbiornik osadziłem po obu jej końcach . Wylutowałem jeden z dwóch znajdujących się na czujniku i połączyłem za pomocą 15cm przewodu. Nadajnik i odbiornik są zwrócone do siebie. Dopuki w rurce znajduje się powietrze, pomiar wydaję się być dokładnym i stabilnym. W momencie kiedy rurkę wypełniam helem, w pierwszych dwóch sekundach odległość wydaje się zmniejszać ale już po chwili wartości wracają do podobnych mierzonych w powietrzu albo nawet je trochę przewyższają. Pytanie brzmi dlaczego tak się dzieje? Pozdrawiam i z góry dziękuję za odpowidź.
  5. Witam. Nigdy nie pracowałem wcześniej w środowisku ROS, jednak teraz jest mi potrzeba biblioteka mapująca do mojego robota mobilnego spełniajacego wymagania SLAM dlatego potrzebuję porady odnośnie użycia biblioteki Hector Slam. Każdy temat jaki sprawdzałem sugerował użycie Lidarów czy też innych "laserowych" czujników. Czy ta biblioteka będzie w stanie przekonwertować dane liczbowe otrzymywane z czujników ultradźwiękowych HC-SR04? Czy moze powinienem użyć innej metody/biblioteki do mapowania? Jakby ktoś chciał wiedzieć więcej na temat mojej teorii rozwiązania przesyłu i obródki danych: Główny program(pisany w Pythonie 3) znajduje się na płytce BeagleBone Black, nastomiast pomiary z czujników są pobierane na płytkę Arduino Uno Rev3, przeliczane na centymetry i wysyłane przez USB do BBB skąd mają być użyte do wykrywania potencjalnej kolizji z otoczeniem i przerobiane na mapę(wystarczyłoby abym wyznaczał punkt w miejscu potencjalnej kolizji). Oczywiście zdaję sobie sprawę że mógłbym to robić tylko na jednej płytce ale w tak późnej fazie nie chcę już zmieniać konceptu. Poza tym, to jest mój pierwszy robot którego tworzę od zera więc nie mam doświadczenia.
  6. Witam serdecznie. Jestem nowym użytkownikiem, niedawno dopiero zacząłem zabawę ze środowiskiem arduino. Wykonuje projekt, który będzie zakładał sterowanie blatem stołu drukarki 3D imitując fale morskie (ruch powinien być sinusoidalny, przyspieszać, zwalniać i odwracać kierunek). Ponadto w celu sprawdzenia czy ruch zgadza się z założeniami, chciałbym weryfikować odległość punktu na stole poprzez czujnik ultradźwiękowy HC-SR04. Do napędu zamierzam wykorzystać silnik krokowy Nema 17, gdyż akurat taki wpadł mi w rękę. O ile sam kod do silnika nie był dużym problemem, gdyż znalazłem bibliotekę, w której można sterować ilością obrotów na sekundę, prędkością i przyspieszeniem to nie jestem w stanie połączyć kodu od czujnika echo w jednym skrypcie. Wrzucam wszystko w pętle główną loop i niestety wartości odległości podawana jest dopiero po całym cyklu pracy silnika, mi natomiast zależy na tym aby ta wartość podawana była w bardzo krótkich i ciągłych odstępach czasu. Czy ktoś z obecnych tutaj miał podobny problem lub znajdzie się ktoś kto poratuje dobrą radą. Z góry serdecznie dziękuje za pomoc
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.