Przejazd kolejowy

Z support
Przejdź do nawigacji Przejdź do wyszukiwania

Wyzwanie: B DWORZEC KOLEJOWY

Projekt: B01 PRZEJAZD KOLEJOWY

Przypomnij sobie

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

  • funkcje,
  • generowanie dźwięków,
  • instrukcja warunkowa prosta,
  • pętle,
  • urządzenia wyjścia,
  • wyświetlacz.

Cel projektu

Celem projektu jest stworzenie przejazdu kolejowo-drogowego. Rogatki będą sterowane za pomocą przycisku i serwa. Natomiast sygnał wizualny i dźwiękowy będzie dodatkową informacją dla samochodów, że należy się zatrzymać, bo z oddali zbliża się pociąg.

Zadanie 1

Podłączenie modułów

Dioda jest modułem cyfrowym. Podłącz ją pod pin z literką D (Digital).

Opis

Aby dioda mrugała należy użyć bloczka <DIODA LED> z opcją włącz/wyłącz oraz bloczek <CZEKAJ>. Bloczek <CZEKAJ> jest potrzebny, aby zauważyć wyraźne zaświecenie i zgaszenie diody. Pamiętaj aby ten bloczek umieścić nie tylko pomiędzy włącz-wyłącz diodę, ale także pomiędzy wyłącz-włącz. Jeśli gdzieś ta instrukcja zostanie pominięta to nasze oko nie będzie w stanie zauważyć migania.

Pseudokod

Dioda-led włącz
czekaj 300 ms
dioda-led wyłącz
czekaj 300 ms

Zadanie 2

Podłączenie modułów

Głośniczek jest modułem cyfrowym. Podłącz go do pinu z literką D (Digital). Pamiętaj, żeby podłączyć głośniczek do pinu z znaczkiem ~. Dzięki temu będziesz mógł sterować częstotliwością lub wysokością dźwięku.

Opis

W tym zadaniu skorzystaj z bloczka <GENERUJ DŹWIĘK>. Dobrym pomysłem będzie umieszczenie powyżej instrukcji po bloczku <DIODA LED> z opcją włącz.

Pseudokod

Dioda-led włącz
generuj-dźwięk
czekaj 300 ms
dioda-led wyłącz
czekaj 300 ms

Zadanie 3

Podłączenie modułów

Serwo jest modułem cyfrowym. Podłącz go pod specjalne miejsce pod serwo, umieszczone pod pinami cyfrowymi.

Opis

Kolejnym zadaniem jest dodanie szlabanów do istniejącego systemu wizualno-dźwiękowego. Na początku sprawdź jak zachowuje się serwo. Następnie napisz instrukcje, które będą podnosiły i opuszczały szlaban do 10s.

Pseudokod

Serwo-przesun 90
czekaj 10s
serwo-przesun 0
czekaj 10s

Zadanie 4

Podłączenie modułów

Przycisk jest modułem cyfrowym. Podłącz go do pinu oznaczonego literką D (Digital).

Opis

Zmień sposób sterowania szlabanami z czasowego na przycisk. Koniecznie wykorzystaj instrukcję warunkową. Dodatkowo aby szlabany pracowały wolno, należy wykorzystać pętle i krokowo opuszczać lub podnosić ramię serwa. Pamiętaj aby dodać także opóźnienie wykonania kolejnej iteracji pętli. W przeciwnym wypadku nie zauważysz krokowego otwierania/zamykania szlabanów.

Pseudokod

Jeśli naciśnięto przycisk
   licz w górę z i od  i=0 do i<91 co 10
      serwo-przesuń i
      czekaj 1s
w przeciwnym razie 
   licz w dół z i od i=90 do i>0 co 10
      serwo-przesuń i
      czekaj 1s

Zadanie 5

Opis

W pierwszym kroku należy dodać zmienną stan-szlabanów i ustawić jej wartość tylko raz na początku programu w bloku inicjuj. Następnie w zależności od wartości zmiennej zrób przeciwną akcję i ustaw wartość zmiennej na nowo.

Pseudokod

Jeśli stan-szlabanów = „zamknięte”
   licz w dół z i od i=90 do i>0 co 10
      serwo-przesuń i
      czekaj 1s
   stan-szlabanów = „otwarte”
w przeciwnym razie 
   licz w górę z i od  i=0 do i<91 co 10
      serwo-przesuń i
      czekaj 1s
   stan-szlabanów = „zamknięte”

Zadanie 6

Opis

Jedyną zmianą jest zwiększenie parametru „krok” w pętli for dla operacji podnoszenia szlabanów.

Pseudokod

licz w dół z i od i=90 do i>0 co 20
   serwo-przesuń i

Zadanie 7

Podłączenie modułów

Czujnik obrotu jest modułem analogowym. Podłącz go pod pin z literką A (Analog).

Opis

W tym zadaniu należy zmienić warunek w instrukcji warunkowej dotyczący przycisku na wartości zwracane przez czujnik obrotu po wskazaniu na pola „otwarte”, „zamknięte”. Wcześniej jednak należy sprawdzić jakie wartości przyjmuje czujnik obrotu dla tych dwóch stanów.

Pseudokod

Jeśli czujnik-obrotu < 300
   // zamknij szlaban
w przeciwnym razie 
   // otwórz szlaban