Mikrokontrolery wytyczne do projektów Temat 1 Łamanie kodu Program ma imitować proces łamania kodu zadanego w postaci ciągu ośmiu cyfr szesnastkowych ( 0.. 9, A, b, C, d, E, F ). Na wszystkich segmentach wyświetlane są szybko zmieniające się kolejne cyfry szesnastkowe. Po n-krotnym wyświetleniu na skrajnie lewym segmencie cyfry odpowiadającej pierwszemu znakowi kodu, cyfra ta jest wyświetlana w sposób ciągły (kod na pozycji nr 1 został złamany), a proces łamania dotyczy kolejnych segmentów (od lewej do prawej strony). Złamanie każdego znaku powinno być sygnalizowane włączenie odpowiedniej diody LED (LED1..LED8). Po złamaniu całego kodu (ośmiu znaków) program oczekuje na wprowadzenie (poprzez monitor portu szeregowego) nowego kodu lub na naciśnięcie przycisku S2 wtedy ponownie łamany jest dotychczasowy kod. Naciśnięcie w trakcie procesu łamania kodu przycisku S1 powoduje wstrzymanie łamania, a kolejne naciśnięcie wznawia łamanie naciskanie przycisku S2 w trakcie łamania nie powinna powodować żadnej akcji.
Program powinien akceptować następujące komendy (wprowadzane z PC poprzez monitor łącza szeregowego): Cxxxxxxxx - kod w postaci ciągu ośmiu znaków szesnastkowych Nxx - liczba powtórzeń (1..99) wyświetleń określająca złamanie znaku Dxxxx - czas wyświetlania pojedynczego znaku w trakcie łamania (w ms, zakres 1..9999), pozwalający na regulację prędkości łamania kodu Program powinien sygnalizować (poprzez wyświetlenie odpowiedniego komunikatu) ewentualne błędy w podanych komendach lub parametrach. Po starcie program powinien wykorzystać wartości domyślne zapisane w sposób umożliwiający ustalenie ich wartości poprzez łatwą modyfikację kodu źródłowego na etapie demonstracji działania programu (edycja przed wgraniem kodu do mikrokontrolera). Użycie komend w trakcie działania programu powinno skutkować natychmiastową zmianą odpowiednich parametrów. Parametry (ustalane przed kompilacją kodu): CODE - ciąg ośmiu cyfr szesnastkowych stanowiących kod TIMES - liczba powtórzeń wyświetleń określająca złamanie znaku DISP - czas wyświetlania pojedynczego znaku Punkt startowy: Google led key tm1638
Temat 2 Wiatrak Program ma imitować ruch obracającego się wiatraka (odcinka złożonego z pewnej liczby świecących się elementów matrycy 8x8). Po starcie w pozycji pionowej wiatrak powinien obracać się w prawo (zgodnie z ruchem wskazówek zegara) rozpędzając się do zadanej prędkości obrotowej. Po jej uzyskaniu, a następnie po wykonaniu zadanej liczby pełnych obrotów, wiatrak powinien zwalniać (w identycznym tempie jak w trakcie rozpędzania) aż do momentu zatrzymania w pionie. Następnie powinien wykonać podobny cykl (rozpędzanie, obracanie się z zadaną prędkością, zwalnianie) tym razem wykonując obroty w lewo (przeciwnie do ruchu wskazówek zegara). Kolejne cykle (obroty w prawo i w lewo) mają występować naprzemiennie aż do momentu wprowadzenie z PC (poprzez monitor portu szeregowego) komend mających wpływ na sposób działania programu. Program powinien akceptować następujące komendy (wprowadzane z PC poprzez monitor łącza szeregowego): REVxxx- prędkość obrotowa (liczba pełnych obrotów w ciągu 10 s, zakres 1..999)
Nxxx - liczba pełnych obrotów z ustaloną prędkością (1..999) Px - chwilowe zatrzymanie obrotów (P0) lub ich wznowienie (P1). Zatrzymanie lub wznowienie obrotów powinno wiązać się ze stopniowym zwalnianiem lub przyspieszaniem obrotów. Pełne zatrzymanie (i w konsekwencji start) może nastąpić tylko w pozycji pionowej wiatraka, zaś po wznowieniu ruchu wiatrak powinien wykonać zadaną liczbę pełnych obrotów, niezależnie od momentu uprzedniego wstrzymania ruchu S - uruchomienie programu od początku z nowymi wartościami parametrów (REV i N). Wprowadzenie samych parametrów REV i/lub N nie powinno skutkować żadnymi zmianami w działaniu programu Program powinien sygnalizować (poprzez wyświetlenie odpowiedniego komunikatu) ewentualne błędy w podanych komendach lub parametrach. Po starcie program powinien wykorzystać wartości domyślne zapisane w sposób umożliwiający ustalenie ich wartości poprzez łatwą modyfikację kodu źródłowego na etapie demonstracji działania programu (edycja przed wgraniem kodu do mikrokontrolera). Parametry (ustalane przed kompilacją kodu): REV TIMES - prędkość obrotowa - liczba pełnych obrotów z zadaną prędkością obrotową Punkt startowy: Google max7219 arduino
Temat 3 Przesuwanie znaków Program ma wyświetlać sześcioznakowy ciąg cyfr szesnastkowych ( 0.. 9, A, b, C, d, E, F ) w postaci cyklicznie przesuwającego się od prawej do lewej napisu. Po rozpoczęciu działania programu wszystkie segmenty są puste, kolejne znaki wyłaniają się z prawej strony wyświetlacza a następnie znikają z lewej, po czym cykl się powtarza. Każdy z czterech wykorzystanych segmentów powinien świecić z zadaną jasnością (ciemno/średnio/jasno) jasność poszczególnych segmentów może być różna. W trakcie działania program powinien umożliwiać wprowadzenie z PC (poprzez monitor portu szeregowego) komend mających wpływ na sposób działania programu. Program powinien akceptować następujące komendy (wprowadzane z PC poprzez monitor łącza szeregowego): Txxxxxx - ciąg sześciu cyfr szesnastkowych Dxxxx - czas wyświetlania pojedynczego znaku w trakcie przesuwania (w ms, zakres 1..9999), pozwalający na regulację prędkości przesuwania Bxxxx - jasność poszczególnych segmentów (0-ciemno, 1-średnio, 2-jasno; pierwszy znak dotyczy skrajnie lewego segmentu, ostatni dotyczy skrajnie prawego)
Program powinien sygnalizować (poprzez wyświetlenie odpowiedniego komunikatu) ewentualne błędy w podanych komendach lub parametrach. Użycie komend w trakcie działania programu powinno skutkować natychmiastową zmianą odpowiednich parametrów. Po starcie program powinien wykorzystać wartości domyślne zapisane w sposób umożliwiający ustalenie ich wartości poprzez łatwą modyfikację kodu źródłowego na etapie demonstracji działania programu (edycja przed wgraniem kodu do mikrokontrolera). Parametry (ustalane przed kompilacją kodu): TEXT DISP BRIGHT - ciąg znaków (sześciu cyfr szesnastkowych) - czas wyświetlania znaków - jasności poszczególnych segmentów Punkt startowy: Google 7 segment led arduino