Stoper sportowy

Z support
Skocz do: nawigacja, szukaj

Wyzwanie: I SPORT TO ZDROWIE

Projekt: I01 STOPER SPORTOWY

Przypomnij sobie[edytuj]

Przed rozpoczęciem tego projektu warto wrócić do lekcji:

  • czas,
  • instrukcja warunkowa prosta,
  • pętle,
  • wyświetlacz,
  • zmienne.

Cel projektu[edytuj]

Stoper sportowy to urządzenie pozwalające odmierzyć czas. Wykorzystywany jest np. w sporcie aby zmierzyć w jakim czasie biegacz przebiegnie odcinek o długości 500m.

Zadanie 1[edytuj]

Podłączenie modułów[edytuj]

Przycisk jest modułem cyfrowym. Podłącz go pod pin oznaczony literką D (Digital).

Opis[edytuj]

Rozpocznij wyścig. Pierwsza sprawa to wejście na bieżnie.

Napisz program w którym po naciśnięciu przycisku zaczniesz odliczać czas 10 sekund w którym biegacze podchodzą do bloków startowych a telewizja możne pokazać każdego z nich. Wykorzystaj wyświetlacz aby pokazać kolejne mijające sekundy. Do odliczania czasu wykorzystaj pętle.

Przypomnij sobie jakie bloczki są potrzebne do prawidłowej pracy z wyświetlaczem:[edytuj]

  • włącz wyświetlacz (domyślnie wyświetlacz jest wyłączony, ta instrukcja powinna być użyta tylko raz),
  • wyczyść wyświetlacz (instrukcja wyczyści poprzednie zapiski na wyświetlaczu, np. logo producenta),
  • ustaw kursor (pozwala na wypisanie tekstu zawsze w tym samym miejscu),
  • wypisz na wyświetlaczu (wypisanie tekstu dołączonego z prawej strony bloczka),
  • wyświetl na wyświetlaczu (wyświetlenie powyżej zdefiniowanych tekstów i figur).

Zadanie 2[edytuj]

Podłączenie modułów[edytuj]

Diody to moduły cyfrowe. Podłącz je pod piny oznaczone literka D (Digital).

Opis[edytuj]

Kolejny etap to przygotowanie do biegu w blokach startowych. Wykorzystaj diody. Czerwona to stój. Świecąca żółta oznacza „zajmij pozycję”, a migająca „przygotuj się”. Ostatnia zielona oznacza „start”. Napisz program zaświecając kolejną diodę przez określoną w zadaniu liczbę sekund.

Pamiętaj aby zgasić także te diody, które aktualnie są niepotrzebne. Zastosuj bloczek <CZEKAJ> do opóźnienia oraz w pętli przy operacji mrugania diody.

Pseudokod[edytuj]

…
Dioda led czerwona włącz
czekaj 3s
Dioda led czerwona wyłącz 
Dioda led żółta włącz 
czekaj 5s
powtórz 3 razy
   Dioda led żółta wyłącz
   czekaj 0,5s
   Dioda led żółta włącz
   czekaj 0,5s
Dioda led żółta wyłącz
Dioda led zielona włącz 
czekaj 7s 
Dioda led zielona wyłącz

Zadanie 3[edytuj]

Opis[edytuj]

Dla każdej włączonej aktualnie diody dodaj odpowiedni komentarz dla biegacza. Przykładowo:

  • czerwona włączona „stoj”,
  • żółta włączona „zajmij pozycję”,
  • żółta migająca „przygotuj się”,
  • zielona włączona „start”.

Zadanie 4[edytuj]

Podłączenie modułów[edytuj]

Głośniczek jest modułem cyfrowym. Podłącz go do pinu oznaczonego literką D (Digital) i znaczkiem ~. Znaczek ~ pozwala na większe możliwości sterowania np. częstotliwością lub wysokością dźwięku.

Opis[edytuj]

Wykorzystaj bloczek <GENERUJ DŹWIĘK>. Dodaj go w momencie zapalenia zielonej diody oznaczającej start biegu.

Zadanie 5[edytuj]

Podłączenie modułów[edytuj]

Czujnik odległości jest modułem analogowym. Podłącz go pod specjalny pin oznaczony napisem „distance”. Pin znajduje się na lewo od pinów oznaczonych literką A (Analog).

Opis[edytuj]

Użyj czujnika odległości do zatrzymania stopera.

Na początku sprawdź jakie wartości zwraca czujnik jeśli obiekt znajduje się blisko lub daleko od jego „oczek”. Zwracane wartości wypisz na monitorze portu szeregowego. Druga sprawa to obliczenie czasu biegu. Tutaj wykorzystaj bloczek <MILISEKUNDY OD STARTU>. Pierwszą wartość odczytaj po zapaleniu się zielonego światła, natomiast drugą po wykryciu przekroczenia mety przez czujnik odległości. Następnie oblicz ich różnicę i wypisz ją na wyświetlaczu jako czas biegacza. Dodatkowo możesz napisać funkcję, która przeliczy czas z milisekund na sekundy.

Pseudokod[edytuj]

Dioda led zielona włącz 
czas_start = milisekundy od startu
jeśli czujnik odległości > 600
   czas_meta = milisekundy od startu
   wyświetl na wyświetlaczu (NL) = „Twój czas to: „
   wyświetl na wyświetlaczu (NL) = czas_meta – czas_start
   wyświetl na wyświetlaczu (NL) = „ sekund”