Zakres laboratorium:
- Przedstawienie warunków zaliczenia
- Szkolenie BHP
- Przedstawienie środowiska programistycznego
- Pierwszy program (dioda LED)
1. Przedstawienie warunków zaliczenia
Zaliczenie w formie laboratorium:
- W programie laboratorium jest 7 ćwiczeń.
- Każde laboratorium oceniane jest osobno, w czasie zajęć należy prezentować prowadzącemu wykonane kolejne zadania.
- Na ocenę końcową z laboratorium składa się:
- 5-6 najlepszych ocen z ćwiczeń (najgorsza ocena odpada),
- aktywność na zajęciach
- Wolno mieć co najwyżej jedno niezaliczone ćwiczenie (w ramach zasady: najgorsza ocena odpada).
- Zastrzegam sobie prawo do zmiany powyższych reguł w uzasadnionych (indywidualnych) przypadkach.
- Kody napisanych programów należy zawsze zapisywać/ wysyłać zakończonym laboratorium. Mogą być potrzebne na kolejnych laboratoriach.
- Po każdym zakończonym laboratorium należy przygotować schemat elektroniczny z ostatniego wykonanego ćwiczenia. Schemat może być oceniony na kolejnych zajęciach. Brak schematu oznacza obniżenie oceny końcowej z laboratorium o 1.
Uwagi i informacje o formie zaliczenia w przypadku projektu:
- Chęć wykonywania projektu najpóźniej można zgłosić na 2 zajęciach wraz z proponowanych tematem projektu i wstępną listą funkcji.
- Ostateczny temat i listę funkcjonalności projektu (nie ma możliwości zmiany w czasie semestru) z podziałem na funkcje podstawowe, które muszą zostać zrealizowane w celu zaliczenia projektu i funkcje dodatkowe, które mogą spowodować podwyższenie oceny należy przesłać mailem na adres: w.tarnawski@pwr.edu.pl w terminie do 1 tygodnia po odbyciu 2 zajęć laboratoryjnych przez studenta (terminie 2 zajęć zgodnie z planem zajęć).
- Projekt należy wykonywać w domu, w razie pojawienia się problemów należy jak najszybciej powiadomić prowadzącego i umówić się na konsultacje. Monitorowanie problemów na bieżąco pozwoli zaliczyć projekt jeśli ostatecznie nie uda się zrealizować założonych funkcji.
- W ramach wykonywania projektu należy zgłosić się na 4 laboratorium z krótkim sprawozdaniem lub odbyć konsultacje w tym terminie i zaprezentować, co zostało już wykonane (jeśli wystąpią problemy istnieje możliwość niewielkich zmian w założeniach projektu tak aby jego zakończenie zakończyło się sukcesem) – sprawozdanie pośrednie z prac jest obowiązkowe w celu zaliczenia końcowego projektu.
- Na ostatnich zajęciach laboratoryjnych należy zaprezentować skończony projekt (przed zajęciami należy wysłać prowadzącemu spakowany projekt – kod źródłowy programu i dokumentacje projektu).
- Na podstawie porównania zrealizowanych funkcji z listą funkcjonalności projektu i zastosowanych rozwiązań zostanie wystawiona ocena końcowa.
2. Szkolenie BHP
Zapoznanie studentów z zasadami BHP . Podpisanie karty szkolenia
3. Przedstawienie środowiska programistycznego i platformy sprzętowej
Zajęcia będą prowadzone na płytce EduTar – link
Środowisko programistyczne: Arduino
Rozbudowany symulator Arduino online: https://wokwi.com/
Płytka z mikrokontrolerem: Arduino NANO – ATMEGA328P – opis pinów: link
4. Pierwszy projekt (dioda LED)
podłączyć diodę LED1 przewodem do VCC – jakie jest zachowanie diody LED?
5. Pierwszy program (dioda LED)
- uruchomić i skonfigurować projekt zgodnie z zaleceniami prowadzącego,
- podłączyć diodę LED8 do pinu PB5 (D13)
- napisać program, który mruga diodę LED na porcie PB5 z częstotliwością 1Hz,
- zmodyfikować program:
- podłączyć diodę LED7 do pinu PB4(D12)
- napisać program, który na przemiennie włącza/wyłącza diodę LED7 i LED8
- narysować schemat podłączeń i dokończyć go w domu
- zapisać program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <avr/io.h> #include <stdlib.h> #include <string.h> #include <util/delay.h> #ifndef _BV #define _BV(bit) (1<<(bit)) #endif #ifndef sbi #define sbi(reg,bit) reg |= (_BV(bit)) #endif #ifndef cbi #define cbi(reg,bit) reg &= ~(_BV(bit)) #endif int main() { DDRB=0xff; _delay_ms(500); while (1) { } } |
Zakres laboratorium 2017-2021 (nie aktualne)
Zakres laboratorium:
- Przedstawienie warunków zaliczenia
- Szkolenie BHP
- Przedstawienie środowiska programistycznego
- Pierwszy program (dioda LED)
1. Przedstawienie warunków zaliczenia (warunki zaliczenia)
Poinformowanie studentów o wymaganiach i sposobie zaliczenia przedmiotu.
2. Szkolenie BHP
Zapoznanie studentów z zasadami BHP . Podpisanie karty szkolenia
3. Przedstawienie środowiska programistycznego (środowisko programistyczne AVR)
Podstawy przygotowania oprogramowania (instalacja oprogramowania):
- Instalacja WinAvr (instrukcja)
- Instalacja Eclipse (instrukcja, instrukcja konfiguracji)
- Informacja o innych narzędziach (AVR8 Burn-O-Mat)
Utworzenie pierwszego projektu (tworzenie projektu w Eclipse)
- Mikroprocesor: ATmega32A
- Częstotliwość taktowania: 8 000 000 Hz
- Programator: USBasp
4. Pierwszy program (dioda LED)
Podłączyć programator i zasilanie do płytki EDU zgodnie z schematem “Schemat podłączenia zasilania i programatora” dostępnym na stronie: Płytka EDU
Nie podłączać zasilacza do płytki.
Do wyprowadzenia mikrokontolera PD6 należy podłączyć jedną diodę z linijki diodowej według rysunku:
Upewnić się, że wszystkie połączenia są prawidłowo, pokazać prowadzącemu w celu sprawdzenia poprawności.
Do utworzonego projektu w kroku wcześniejszym należy dodać plik o nazwie”main.cpp” i typie “Source File”. Zawartość pliku uzupełnić poniższym kodem:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <avr/io.h> #include <stdlib.h> #include <string.h> #include <util/delay.h> #ifndef _BV #define _BV(bit) (1<<(bit)) #endif #ifndef sbi #define sbi(reg,bit) reg |= (_BV(bit)) #endif #ifndef cbi #define cbi(reg,bit) reg &= ~(_BV(bit)) #endif int main() { sbi(DDRD, PD6); while (1) { sbi(PORTD, PD6); _delay_ms(500); cbi(PORTD, PD6); _delay_ms(500); } } |
Co robi poniższy program?
Skompilować program i wgrać do płytki, co się dzieje?
Zmienić program aby czas włączenia był 3 razy większy niż czas wyłączenia.
Zadania na kolejne laboratorium:
- przeczytanie/utrwalenie wiadomości o pracy w środowisku eclipse i używaniu płytki EDU
- przypomnienie podstaw języka C++ (typy zmiennych, funkcje, metody statyczne, klasy)
- zapoznanie z instrukcją do laboratorium 1.1
- zapoznanie z dokumentacją techniczną mikrokontrolera rozdział 12 “I/O Ports”