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.