Programowanie mikrokontrolerów 2.0

Podobne dokumenty
1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

1.2. Architektura rdzenia ARM Cortex-M3...16

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Programowanie mikrokontrolerów. 8 listopada 2007

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Parametryzacja przetworników analogowocyfrowych

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Programowanie mikrokontrolerów 2.0

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

DVR KEYB v1.4. Interfejs PS-2 do rejestratorów DVR

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

2. Architektura mikrokontrolerów PIC16F8x... 13

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Dokumentacja Licznika PLI-2

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZESTAW PRZEDŁUŻAJĄCY HDMI, FULL HD

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

WEJŚCIE W TRYB PROGRAMOWANIA

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Wstęp Architektura... 13

INSTRUKCJA OBSŁUGI URZĄDZEŃ ANDROID BOX MINIX

Instytut Teleinformatyki

Opis procedur asemblera AVR

ADAPTERA INTERFEJSU ODTWARZACZA D. KS-PD500 Przed użyciem adaptera

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

SZYMAŃSKI ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) Tel./fax. (042) Kom

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Instrukcja obsługi. Rejestrator + kamera CRI-10SD+PIR. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Przemysłowy odtwarzacz plików MP3

dokument DOK wersja 1.0

Szkolenia specjalistyczne

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

Instrukcja użytkownika Dell Display Manager

Instrukcja obsługi. Rejestrator i kamera w zegarku MCL-1.3R MCL-1.3B

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Instrukcja obsługi FiiO X7

ATMT-502 PILOT ZDALNEGO STEROWANIA

EV3 X21 instrukcja uproszczona

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

TECHNIKA MIKROPROCESOROWA II

Polski. Podręcznik Użytkownika BT-03i

Programowalne Układy Cyfrowe Laboratorium

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

CAR MP3 PLAYER RDS 982 INSTRUKCJA kompatybilny z SD, USB, MP3

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

NEO X5 Nr produktu

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

INSTRUKCJA UŻYTKOWNIKA. Mini rejestrator cyfrowy MD-80P

Żarówka LED z wbudowaną kamerą HD

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Mikrokamera ukryta w zegarku budziku T5000. Instrukcja obsługi

Kamera. Nr produktu

Wykrywacz kłamstw. Grzegorz Puzio, Łukasz Ulanicki 15 czerwca 2008

Mikrokontrolery ARM. Elektroniczny zegar / budzik / kalendarz z wyświetlaczem NIXIE. Opis projektu

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów.

Instrukcja obsługi rejestratora SAV35 wersja 10

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ZL8AVR. Płyta bazowa dla modułów dipavr

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów

Mikroprocesorowy miernik czasu

Układ pomiarowy CoachLab II

Dell P2018H Dell Display Manager Instrukcja użytkownika

Laboratorium Elektrycznych Systemów Inteligentnych

Konsola operatora TKombajn

E-TRONIX Sterownik Uniwersalny SU 1.2

Instrukcja użytkownika ARSoft-WZ1

Zestaw przedłużaczy sygnału HDMI 4K, 4K2K/60 Hz

Kontroler LED programowalny czasowo 12V 20A 5 kanałów

INSTRUKCJA OBSŁUGI MP-F400 FM

Zestaw do zwiększania zasięgu sygnału HDMI Full HD, 130 m

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

MultiTool instrukcja użytkownika 2010 SFAR

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Programator układów HCS

2.1 Porównanie procesorów

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

ZEGAR Z KAMERĄ INSTRUKCJA UŻYTKOWANIA

Dekoder HD Openbox S3CI CX, CI+, IPTV

Przemysłowy odtwarzacz plików MP3 SD

INSTRUKCJA OBSŁUGI TMT-502 PILOT ZDALNEGO STEROWANIA

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

Kod produktu: MP01611-ZK

ZAPRASZAMY NA NASZE AUKCJE SCIGANY81 (c) Copyright

Program EDYTOR-AS-OUX

Instrukcja obsługi Profesjonalny bezprzewodowy czytnik kodów HD2000

Transkrypt:

Programowanie mikrokontrolerów 2.0 Propozycje dużego zadania zaliczeniowego Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 29 listopada 2016

Wymagania ogólne Wymagamy osobistego zaprezentowania działającego (prototypu) urządzenia najpóźniej na ostatnich zajęciach Należy dostarczyć wszystkie pliki źródłowe Jeśli realizacja projektu wymaga podłączenia do zestawu laboratoryjnego jakichś dodatkowych modułów, należy dostarczyć opis podłączeń

Kryteria oceniania Warunkiem zaliczenia jest wykonywanie na bieżąco małych zadań na zajęciach laboratoryjnych oraz zrealizowanie dużego zadania zaliczeniowego Na ocenę bardzo dobrą: trzeba zaliczyć minimum dwa małe zadania duże zadanie powinno korzystać przynajmniej z dwóch przerwań i DMA (jeśli to ma sens) tekst źródłowy powinien być elegancki i dobrze skomentowany Na ocenę dobrą trzeba zaliczyć minimum jedno małe zadanie duże zadanie powinno korzystać z przerwań tekst źródłowy powinien być elegancki Obsługa przerwań nie może zawierać czasochłonnych operacji i nie może być blokująca nie może zawierać aktywnego oczekiwania

Zadanie A1 sterowanie kursorem na LCD za pomocą akcelerometru Na tle wyświetlanym na LCD nanieść kursor (w postaci znaku + ), poruszany wychyleniami płytki Wyświetlanie ma działać w trybie graficznym środek kursora musi się dać ustawić na dowolnym pikselu ekranu Oczekujemy starannej implementacji stanów, gdy kursor dochodzi do brzegu ekranu środek kursora powinien dosuwać się do samego brzegu komunikacja po I 2 C za pomocą przerwań zgłaszanie zakończenia pomiaru przez akcelerometr za pomocą przerwania zewnętrznego LCD obsługiwany z aktywnym oczekiwaniem

Zadanie A2 sterowanie LED-ami za pomocą pojedynczego i podwójnego kliknięcia akcelerometru Pojedyncze kliknięcie powoduje włączenie czerwonej diody na 3 sekundy, a jeśli jest już włączona, to przedłuża czas jej świecenia o kolejne 3 sekundy Podwójne kliknięcie powoduje włączenie zielonej diody na 3 sekundy, a jeśli jest już włączona, to przedłuża czas jej świecenia o kolejne 3 sekundy komunikacja po I 2 C za pomocą przerwań zgłaszanie zdarzenia pojedynczego lub podwójnego kliknięcia za pomocą przerwania zewnętrznego odmierzanie czasu za pomocą przerwania licznika

Zadanie A3 sterowanie kursorem myszy za pomocą akcelerometru Zaimplementować sterowanie kursorem myszy na ekranie komputera za pomocą wychyleń płytki Położenie płytki jest ustalane za pomocą akcelerometru Odczyt wyniku z akcelerometru jest inicjowany za pomocą licznika Informacja o zmianie położenia kursura jest wysyłana do komputera za pomocą interfejsu szeregowego (UART) Po stronie komputera działa prosty skrypt zmieniający położenie kursora myszy na podstawie danych odczytanych z portu szeregowego komunikacja po I 2 C za pomocą przerwań licznik zgłaszający przerwanie obsługa UART-u za pomocą DMA i związanego z nim przerwania

Zadanie ADC podsłuch Zaimplementować nagrywanie dźwięku z podłączonego modułu z mikrofonem Próbkowanie: rozdzielczość minimum 8 bitów kodowanie ze znakiem częstotliwość 8 khz Próbki wysyłane do komputera za pomocą portu szeregowego i zapisywane do pliku w surowym formacie (ang. raw) zastosować 12 bitowe przetwarzanie i kompresję A-law do automatycznego wyzwalania ADC z zadaną częstotliwością wykorzystać licznik do zapisania wyniku przetwarzania w pamięci wykorzystać przerwanie ADC informujące o jego zakończeniu do transmisji za pomocą USART2 wykorzystać DMA i przerwanie informujące o jej zakończeniu

Zadanie ADC podsłuch, cd. Wskazówki: skonfigurować taktowanie procesora na więcej niż początkowe 16 MHz skonfigurować USART2 na 115200 b/s odtwarzanie pliku na komputerze w laboratorium play -r 8k -e signed -b 8 -c 1 plik play -r 8k -e a-law plik

Zadanie BT1 konsola do gier Zaimplementować odbieranie komunikatów sterujących diodami świecącymi Zaimplementować wysyłanie komunikatów o użyciu dżojstika (każde wciśnięcie i puszczenie przycisku) Napisać bardzo prostą aplikację demonstracyjną na telefon komórkowy lub komputer osobisty obsługa transmisji między mikrokontrolerem a modułem BT za pomocą DMA i przerwań wykrywanie użycia dżojstika za pomocą przerwań zewnętrznych likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania

Zadanie BT2 konsola do gier Zaimplementować odbieranie komunikatów sterujących diodami świecącymi Zaimplementować wysyłanie komunikatów o użyciu enkodera obrotowego Napisać bardzo prostą aplikację demonstracyjną na telefon komórkowy lub komputer osobisty obsługa transmisji między mikrokontrolerem a modułem BT za pomocą DMA i przerwań wykrywanie użycia enkodera za pomocą przerwań zewnętrznych obsługa enkodera za pomocą licznika

Zadanie BT3 sterowanie gestem Zaimplementować prototyp urządzenia pozwalającego sterować aplikacjami za pomocą gestów Należy sobie wyobrazić, że urządzenie ma być montowane w rękawicy, którą użytkownik zakłada, aby sterować aplikacją za pomocą ruchów ręki Jako czujnik ruchu należy wykorzystać akcelerometr Do komunikacji z komputerem wykorzystać Bluetooth Napisać bardzo prostą aplikację demonstracyjną na telefon komórkowy lub komputer osobisty obsługa transmisji między mikrokontrolerem a modułem BT za pomocą DMA i przerwań komunikacja po I 2 C za pomocą przerwań zgłaszanie zakończenia pomiaru przez akcelerometr za pomocą przerwania zewnętrznego

Zadanie DAC odtwarzacz muzyki Zaimplementować symulację przetwornika cyfrowo-analogowego za pomocą licznika Odtwarzany plik umieścić w pamięci Flash Sterowanie odtwarzaniem (start, stop, przewijanie) zrealizować za pomocą dżojstika generowanie przebiegu wyjściowego z wykorzystaniem trybu PWM licznika i przerwania licznika wykrywanie użycia dżojstika za pomocą przerwań zewnętrznych likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania

Zadanie DAC odtwarzacz muzyki, cd. Wskazówki: można wykorzystać TIM1 CH4 PA11 TIM2 CH1 PA15 TIM3 CH4 PB1 TIM4 CH2 PB7 TIM3 CH1 PC6 TIM3 CH2 PC7 TIM3 CH3 PC8 TIM3 CH4 PC9

Zadanie IR1 odbiornik podczerwieni Zaimplementować sterowanie kolorem diody RGB za pomocą pilota do rzutnika odbiór odporny na zakłócenia odbiór oparty na przerwaniu zewnętrznym i licznikowym sterowanie diodą RGB za pomocą trybu PWM licznika

Zadanie IR2 nadajnik podczerwieni Zaimplementować pilot sterujący rzutnikiem w laboratorium Wystarczy zaimplementować jego włączanie i wyłączanie, ale należy zaimplementować pełny protokół z wysyłaniem repeat code przy przytrzymaniu wciśniętego przycisku wykorzystanie pracy zależnej liczników oraz DMA wykorzystanie przerwania licznika i przerwania DMA wykorzystanie przerwania do obsługi przycisków Wskazówki: opis protokołu pilota: http://www.sbprojects.com/knowledge/ir/nec.php adres rzutnika: 0xE918 polecenie power-on: 0x08 polecenie power-off : 0x14

Zadanie KAL kalkulator Zaimplementować kalkulator czterodziałaniowy na liczbach całkowitych z zakresu 2 31 do 2 31 1, wyświetlanych w postaci dziesiętnej Wykorzystać klawiaturę 4 4 i LCD Zaimplementować obsługę powtarzania klawiszy obsługa wykrywania naciśnięcia przycisku za pomocą przerwania zewnętrznego likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania obsługa LCD z aktywnym oczekiwaniem

Zadanie LCD animacja Zaimplementować wyświetlanie prostej animacji Sterowanie odtwarzaniem zrealizować za pomocą enkodera obrotowego kręcenie enkoderem popycha animację do przodu lub cofa ją sterowanie LCD za pomocą układu SPI3 z wykorzystaniem DMA i przerwania informującego o zakończeniu transmisji wykrywanie użycia enkodera za pomocą przerwań zewnętrznych obsługa enkodera za pomocą licznika

Zadanie RTC sterownik czasowy Zaimplementować sterownik umożliwiający programowanie włączania i wyłączania co najmniej dwóch urządzeń Momenty włączania i wyłączania mają być sterowane zegarem czasu rzeczywistego Powinna być możliwość ustawienia włączania i wyłączania: jednokrotnego zależnie od dnia tygodnia o określonych godzinach o losowo zaburzanym czasie Sterownik ma mieć prosty i intuicyjny interfejs użytkownika zrealizowany za pomocą LCD i dżojstika zdarzenia sygnalizowane przerwaniami RTC obsługa wykrywania naciśnięcia przycisku za pomocą przerwania zewnętrznego likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania obsługa LCD z aktywnym oczekiwaniem

Zadanie SMS edytor SMS-ów Zaimplementować edytor SMS-ów działający jak w telefonie komórkowym bez klawiatury alfanumerycznej Wykorzystać klawiaturę 4 4 i LCD obsługa wykrywania naciśnięcia przycisku za pomocą przerwania zewnętrznego likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania obsługa LCD z aktywnym oczekiwaniem

Zadanie STF stoper z fotokomórką Zaimplementować stoper startowany i zatrzymywany fotokomórką Odmierzany czas pokazywać na wyświetlaczu 7-segmentowym obsługa wyświetlacza 7-segmentowego i pomiar czasu za pomocą przerwania licznika konfigurowanie czujnika odległości podłączonego do szyny I 2 C z aktywnym oczekiwaniem lub z wykorzystaniem przerwań sygnalizowanie przecięcia linii światła za pomocą przerwania zewnętrznego

Zadanie TER termostat Zaimplementować sterowanie diodą świecącą lub wiatraczkiem zależnie od temperatury otoczenia Do pomiaru temperatury wykorzystać termometr analogowy Na LCD wyświetlać temperaturę aktualną oraz temperatury włączenia i wyłączenia Menu modyfikujące ustawienia i sterowane dżojstikiem: FIRE wejście w tryb edycji LEFT, RIGH wybór temperatury włączenia lub wyłączenia DOWN, UP zmiana wartości FIRE wyjście z trybu edycji cykliczny pomiar temperatury za pomocą przetwornika analogowo-cyfrowego sterowanego licznikiem zakończenie pomiaru sygnalizowane przerwaniem obsługa wykrywania naciśnięcia przycisku za pomocą przerwania zewnętrznego likwidowanie drgania styków przycisków z wykorzystaniem licznika i jego przerwania obsługa LCD z aktywnym oczekiwaniem

Zadanie WEA1 pogodynka Zaimplementować wyświetlanie na LCD aktualnej pogody: temperatura wilgotność ciśnienie oświetlenie komunikacja z czujnikami po I 2 C z wykorzystaniem przerwań wyzwalanie kompletu pomiarów w regularnych odstępach czasu (np. co sekundę) za pomocą przerwania licznika obsługa LCD z aktywnym oczekiwaniem

Zadanie WEA2 mała stacja meteorologiczna Zaimplementować prototyp małej stacji meteorologicznej zbierającej następujące dane: temperatura wilgotność ciśnienie oświetlenie Harmonogram pomiarów ma być sterowany za pomocą RTC Konfigurowanie i odbieranie zebranych danych ma się odbywać przez port szeregowy (UART RS-232) Pomiędzy pomiarami urządzenie powinno wchodzić w stan uśpienia komunikacja z czujnikami po I 2 C z wykorzystaniem przerwań zdarzenia sygnalizowane przerwaniami RTC obsługa transmisji szeregowej za pomocą DMA i przerwań

Zadanie 1W konwerter 1-wire UART Zaimplementować obsługę kilku urządzeń (termometr, EEPROM) 1-wire połączonych na wspólnej szynie Zaprojektować i zaimplementować tekstowy protokół do komunikacji szeregowej (UART RS-232) odmierzanie czasu na potrzeby komunikacji 1-wire za pomocą przerwań licznika obsługa protokołów nieblokująca, tj. między kolejnymi zdarzeniami procesor może wykonywać inne zadania obsługa transmisji szeregowej za pomocą DMA i przerwań

Ewentualnie pomysły własne Po uzgodnieniu z prowadzącymi najpóźniej do 10 maja Na własnym sprzęcie Wymagamy przedstawienia dokumentacji użytego sprzętu