Czujnik parkowania

Skonstruujmy prawdziwie praktyczny czujnik parkowania

Czas trwania – 45 minut
Poziom trudności – średni

Wstęp

Hej, hej, hej! Zastanawiałeś się kiedyś, jak działają czujniki parkowania w samochodach? Wyobraź sobie, że bawisz się robotem, a pod koniec zabawy trzeba go zaparkować w jakimś ciasnym i mało widocznym miejscu. Po co chodzić za pojazdem i pilnować, by nie przygrzmocił w ścianę? Przydałby się czujnik parkowania? Marzenie… ale z LOFI Robot to możliwe. Przedstawiam Ci robota z czujnikiem parkowania!

Przygotowanie

Moduły

  • LOFI Brain
  • Czujnik odległości
  • Dioda LED x2
  • Kabel USB

Podłączenie:

  • Czujnik odległości → port Distance
  • Dioda → OUTPUT1
  • Dioda → OUTPUT2
  • Zasilanie robota → kabel USB → wyjście USB w komputerze

Przebieg

Ćwiczenie na początek

Sprawdźmy, jak działa nasz czujnik odległości! Umieśćmy blok konsoli i połączmy go z blokiem Czujnik odległości.

Zobaczmy, co wyświetli nam konsola i monitor czujników.
Naceluj czujnik odległości w jakiś odległy obiekt (np. ścianę) i sprawdź, co pokazuje monitor czujników. Wskazówka czujnika odległości powinna być maksymalnie wychylona w prawą stronę. Przenieś teraz cokolwiek bardzo blisko czujnika, wskazówka wychyli się całkowicie na lewo. Czy jesteś w stanie powiedzieć, co oznaczają liczby przesyłane przez czujnik odległości? Te liczby to odległość czujnika od przeszkody w centymetrach!
Spróbuj sam przetestować poprawność pomiaru – weź linijkę i sprawdzaj czy czujnik mówi prawdę! Ustaw jakiś przedmiot np. 25 cm od czujnika. Czy liczba wysłana do LOFI Brain to 25?

Budowa najprostszego czujnika parkowania

Zacznijmy od podstaw – musimy zaprogramować robota tak, by sygnalizował obecność przeszkody po zbliżeniu się do niej na określoną przez nas odległość. Całkiem prosta sprawa, szczególnie, jeśli brałeś udział w poprzednich lekcjach. Jeśli się chwilę zastanowisz nad tym zadaniem, zobaczysz, że jest ono bardzo podobne do tego, które musieliśmy rozwiązać programując lampkę zapalaną czujnikiem światła.

Do wykonania tak prostego czujnika parkowania, będziesz potrzebował zaledwie bloku warunkowego, porównawczego oraz paru bloków wykonawczych. Przeszukaj zakładki ROBOT, KONTROLA oraz LICZBY i rzuć okiem na moją propozycję.

1_podstawowy_czujnik_parkowania

Jeżeli zbliżymy się do przeszkody dostatecznie blisko, to robot włączy buzzer oraz diodę. Jeżeli odsuniemy robota od przeszkody to alarm się wyłączy.

Warto byłoby również dodać do naszego projektu drugą diodę, która sygnalizowałaby brak przeszkody przed robotem (dodaj również wyłączanie buzzera – może przydać się później). Gdy zbliżymy się do przeszkody, dioda ta powinna zgasnąć i natychmiast powinna załączyć się sygnalizacja przeszkody.

2_dodanie_drugiej_diody

Przetestuj działanie czujnika parkowania i przygotuj się na odjazdowe udoskonalenia!

Udoskonalanie czujnika

Wiemy już, czy robot ma drogę wolną, a także dostajemy sygnał, gdy przeszkoda jest tuż przed nami. Niestety nie mamy żadnej informacji, jak daleko od przeszkody jesteśmy. Co sądzisz o dodaniu tak ważnej funkcji?

Udoskonalimy robota o funkcję pikania. Częstotliwość pikania będzie zależna od tego, jak daleko od przeszkody znajduje się nasz robot. Dodajmy na początku naszego programu blok konsoli, który pozwoli nam kontrolować, co tak naprawdę widzi nasz robot. Blok konsoli znajdziesz w zakładce KONTROLA. Teraz Twój program powinien wyglądać podobnie do mojego:

3_ddanie_konsoli

Zastanówmy się teraz, jak można wykonać pikanie. Może zrobimy tak: gdy robot zauważy przeszkodę bliżej, niż bezpieczna odległość (którą określiliśmy wcześniej), to będzie pikał tak często, jak blisko będzie przeszkody. Gdy zbliży się na bardzo bliską odległość, to powinien przestać pikać, a zamiast tego wydawać ciągły dźwięk z buzzera i zapalić drugą diodę.

Stwórzmy więc blok warunkowy Jeżeli… w przeciwnym razie…. Nowością będzie wprowadzenie warunku logicznego. Spójrz na zakładkę LOGIKA. Są tam 3 bloki:

  • Blok prawda / fałsz – umożliwia nadawanie wartości logicznych innym obiektom
  • Blok … i … – sprawdzamy, czy prawdziwe są obie wartości. Jeżeli którakolwiek jest nieprawdziwa, to program nie wykona się.
  • Blok … lub … – sprawdzamy, czy chociaż jedna wartość jest prawdziwa. Jeżeli żadna nie jest prawdziwa, to program nie wykona się.

Jak Ci się wydaje – którego użyjemy? No jasne, że bloku … i …. Sprawdzimy, czy odległość do przeszkody jest mniejsza niż 50 i większa niż 5. Wtedy właśnie chcemy uzyskać pikanie!
Do dzieła!

4_dodanie_warunku_logicznego

Całkiem logicznie to wygląda, prawda? Jeżeli oba te warunki zostaną spełnione, to włączmy buzzer i diodę informującą, że przeszkoda jest oddalona.

5_warunek_logiczny_zalaczenie

Po chwili (np. 100 milisekund) wyłączmy diodę, żeby był efekt pikania oraz migania:

6_dodanie_czekania_10

Już mamy pikanie, teraz tylko sprawić by pikanie było tak często, jak blisko jesteśmy przeszkody. Czujnik odległości im bliżej jest przeszkody będzie przekazywał takie wartości 50…40…30…20…10…. EUREKA! Najprościej będzie zastosować blok Czekaj, a zamiast wartości liczbowej wstawimy blok Czujnik odległości.

7_czekaj_czujnik_odleglosci

To wszystko! Sprawdź, jak działa Twój czujnik! Może zamontujesz go w rowerze? 😉

Gotowy program

Jeżeli gdzieś się zgubiłeś, to wrzucę dla Ciebie cały program, żebyś mógł podejrzeć krok po kroku, jak to wszystko zostało zrobione.

8_caly_program

ZOBACZ GOTOWY PROJEKT

O autorze scenariusza:

LOFI Robot

Ten artykuł napisały dla Ciebie roboty znad morza. Najprawdopodobniej miały na imię Maciek i Tomek.