Disco

Z support
Przejdź do nawigacji Przejdź do wyszukiwania

Wyzwanie: J GORĄCZKA SOBOTNIEJ NOCY

Projekt: J01 DISCO

Przypomnij sobie

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

  • funkcje,
  • generowanie dźwięków,
  • instrukcja warunkowa złożone,
  • operatory logiczne,
  • operatory porównania,
  • urządzenia wejścia,
  • PWM,
  • wyświetlacz.

Cel projektu

W projekcie możesz stać się DJ. Wykorzystaj diody, wyświetlacz i głośnik aby podbić serca swoich fanów.

Zadanie 1

Podłączenie modułów

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

Opis

Dyskoteka bez kolorowych świateł – czy takie coś istnieje. Spraw aby świeciły i mrugały. Wykorzystaj bloczek <DIODA LED> do sterowania stanem diody (włącz/wyłącz).

Wykorzystaj dodatkowo pętle i bloczek <CZEKAJ> aby światła mrugały.

Zadanie 2

Podłączenie modułów

Czujnik światła jest modułem analogowym. Podłącz go pod pin oznaczony literką A (Analog).

Opis

Wykorzystaj czujnik światła do sterowania diodami. Gdy jest ciemno niech wszystkie zaczną mrugać a gdy jasno świeci tylko żółta. A może jakiś inny wzorzec?

Na początku sprawdź jakie wartości zwraca czujnik światła jeśli wykryje jasność lub ciemność (zakryj go ręką). Wartości wypisz na monitorze portu szeregowego. Powstały program zapisz w postaci funkcji.

Zadanie 3

Podłączenie modułów

Czujnik odległości jest modułem analogowym. Podłącz go pod specjalny pin z nazwą „distance”, który znajduje się na lewo od pinów oznaczonych literką A (Analog). Natomiast 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

Im obiekt bliżej tym dźwięk jest głośniejszy? A może odwrotnie. Wykorzystaj wiedzę z kursu „PWM” i pobaw się sterowaniem natężenia dźwięku. Wykorzystaj bloczek <MODULUJ PWM>.

Na początku sprawdź jakie wartości zwraca czujnik odległości gdy obiekt jest blisko i daleko od jego „oczek”. Wartości wypisz na monitorze portu szeregowego. Powstały program zapisz w postaci funkcji.

Zadanie 4

Podłączenie modułów

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

Opis

Podobnie jak w poprzednim zadaniu wykorzystaj bloczek <MODULUJ PWM>. Jednakże tym razem użyj czujnika obrotu. Powstały program zapisz w postaci funkcji.

Zadanie 5

Opis

Wyświetlacz? Tak! Wykorzystaj możliwość rysowania linii, koła, kwadratu.

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

  • 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 6

Opis

Dodaj dynamikę do narysowanych figur. Steruj ich wielkością za pomocą wartości zwracanych przez czujnik światła. Użyj jego wartości jako jeden z parametrów w figurze.

Pamiętaj, że czujnik światła zwraca wartości 0-1023 a obszar do rysowania na wyświetlaczu to 128x64. Wykorzystaj bloczek <MAPUJ>. Spróbuj wykorzystać także pętle. Powstały program zapisz w postaci funkcji.

Zadanie 7

Podłączenie modułów

Joystick jest modułem analogowym. Podłącz go pod pin oznaczony literką A (Analog).

Opis

Za pomocą joysticka wylosuj jedną z napisanych wcześniej funkcji i wywołaj ją. Jednakże aby to zrobić stwórz kombinację kilku funkcji, które wywołane razem stworzą ciekawy zestaw. Każdemu zestawowi przypisz inną liczbę. Następnie napisz funkcję, która wylosuje jeden z numerów i zapisze go w zmiennej. Wykorzystaj bloczek <WYLOSUJ LICZBĘ CAŁKOWITĄ>.

Pamiętaj, aby druga liczba z podanego zakresu była o 1 większa niż maksymalna liczba jaka ma zostać wylosowana. W ostatnim kroku wykorzystaj instrukcje warunkowe i dla każdej liczby zapisz osobny warunek. W ciele warunku wywołaj określone dla niego funkcje.

Pseudokod

Jeśli joystick > 700 //naciśnięcie w dół
   wylosowana-liczba = wylosuj liczbę całkowita(1-5)
   jeśli wylosowana-liczba = 1
      uruchom-diody()
      steruj-dzwiekiem-z-czujnika-obrotu()
   w przeciwnym razie jeśli wylosowana-liczba = 2
      uruchom-dynamike-figur()
      steruj-dzwiekiem-z-czujnika-odleglosci()
   …	

Zadanie 8

Opis

Tym razem wykorzystaj cztery stany joysticka (prawo, lewo, góra, dół). Dla każdego z stanów przypisz określony zestaw funkcji. Następnie utwórz instrukcje warunkowe dla każdego z nich. Po uruchomieniu programu wywołaj te funkcje, które zostały przypisane do aktualnego wychylenia joysticka.

Pseudokod

jeśli joystick > 300
   wlacz-diode-czerwona()
w przeciwnym razie jeśli joystick > 500
   generuj-dźwięk-z-czujnika-obrotu()