Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Podobne dokumenty
Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

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

Politechnika Białostocka

KAmduino UNO. Rev Źródło:

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

Instrukcja obsługi programatora AVR Prog USB v2

Zestaw Startowy EvB. Więcej informacji na stronie:

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Instrukcja obsługi programatora AVR Prog USB v2

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)

Kurs Arduino #2 podstawy programowania, porty I/O. 2 //Zawartość programu. 1 int main() { void setup() { //Instrukcje, które wykonają się jeden raz

INSTRUKCJA OBSŁUGI.

2. Architektura mikrokontrolerów PIC16F8x... 13

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Płytka uruchomieniowa XM32

[INSTRUKCJA ATB-USBASP]

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów

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

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

Programowanie mikrokontrolerów AVR

Język C. Wykład 9: Mikrokontrolery cz.1. Łukasz Gaweł Chemia C pokój 307

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Schemat blokowy architektury AVR

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

Płytka uruchomieniowa XM64

Programator procesorów rodziny AVR AVR-T910

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

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

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

PROGRAMOWANIE I ARDUINO W SZKOLE

MultiTool instrukcja użytkownika 2010 SFAR

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

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Wstęp Architektura... 13

Instytut Teleinformatyki

ZL10PLD. Moduł dippld z układem XC3S200

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Zgrana para - NerO i CleO

dokument DOK wersja 1.0

Rafał Staszewski Maciej Trzebiński, Dominik Derendarz

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Nadajnik pilot MX804. Odbiornik XY-DJM.

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

SML3 październik

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

ĆWICZENIE 5 WPŁYW KONWEKCJI NA ROZKŁAD TEMPERATURY W POMIESZCZENIU

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

2.1 Przesył danych między procesorem a tabelą zmiennych

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Elektronika samochodowa (Kod: TS1C )

SML3 październik

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE

Systemy Wbudowane. Arduino dołączanie urządzeń Wersja Arduino bez płytki Arduino. Czyli... Eliminowanie modułu z projektu. Na płytce...

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

High Speed USB 2.0 Development Board

WPROWADZENIE Mikrosterownik mikrokontrolery

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

MCAR Robot mobilny z procesorem AVR Atmega32

Instrukcja obsługi Zasilacz regulowany WINNERS XL4015 USB

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

MARM. Laboratorium 1 system zegarów, porty wejścia/wyjścia. M. Suchenek

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ATNEL. Programator USBASP. Instrukcja obsługi. Instrukcja programatora USBASP firmy Atnel. Mirosław Kardaś

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Systemy wbudowane. Paweł Pełczyński

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Systemy Wbudowane. Arduino rozszerzanie Wersja Plan. Biblioteka EPROM Arduino bez płytki Arduino. Czyli... Co musimy mieć, aby uruchomić chip?

Funkcjonowanie i budowa modelu układu regulacji temperatury. Jakub Rotkiewicz AIR 2018

ogólnodostępnych bibliotek, w języku zbliżonym do C/C++.

Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy.

Przegląd rozwiązań z oferty firmy 4D Systems

Podstawy techniki mikroprocesorowej

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D

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

Transkrypt:

Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl

Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje plik nagłówkowy zawierający deklaracje rejestrów IO. Zapewnia komunikację μc z urządzeniami Definiuje porty użyte do komunikacji z urządzeniami zewnętrznymi Ustawia port PB0 oraz PB1 jako port wyjściowy Ustawia stan wysoki na wyjściu sterującym PB0 (dioda się nie świeci) Wykorzystano edytor Programmers Notepad

Modyfikacja- timery(zegary) Timer- wewnętrzny układ liczący impulsy, który niezależnie od działających urządzeń odmierza czas, najczęściej spotykane są timery 16 i 8 bitowe Brak z góry zdefiniowanego zegara procesora Wybór źródła taktowania Timer0, oraz włączenie przerwania od przepełnienia (dla 8-bitowego timera wynosi ono 256 ms) Efekt przepełnienia- zapalenie/zgaszenie diody Rezultat? Uzyskanie zmiany świecenia diód z częstotliwością 2 Hz

Fusebity Bity konfiguracyjne mikrokontrolera, określają niektóre cechy mikroprocesora takie jak źródło sygnału taktującego mikroprocesor (zegara) Domyślnie np. Atmega8 jako źródło sygnału taktującego wybiera wewnętrzy oscylator drgań RC pracujący przy częstotliwości 1 MHz (możliwość zmiany do 8 MHz)

Wyświetlanie wyników na LCD

Wyświetlacz LCD- niezbędne komendy Zdefiniowanie portów mikrokontrolera na wyjściu w celu wyświetlenia tekstu na wyświetlaczu (niezbędne zapoznanie się z rozmieszczeniem portów wyświetlacza LCD)

Wyświetlacz LCD- niezbędne komendy

Wyświetlacz LCD- pierwszy napis Napis wyświetlany na wyświetlaczu- niezbyt przyjemny sposób wyświetlania informacji na LCD Można uprościć wykorzystując funkcję: Ten sam napis w uproszczonej wersji kodu

Nie ma prostszych i bardziej przyjemnych w obsłudze możliwości programowania mikrokontrolerów na bazie języka C?

Oczywiście, że tak! Inne platformy sprzętowe Raspberry Pi- w pełni funkcjonalny, programowalny komputer z systemem operacyjnym Arduino- zestaw uruchomieniowy z prostym uc

Porównanie Arduino z Raspberry Pi

Język Arduino vs. Język C- zasadnicze różnice Język Arduino jest uproszczoną wersją języka C- jeżeli nauczyłeś się już języka C, język Arduino szybko przyswoisz Język C Arduino

Inne różnice między klasycznym programowaniem w C, a Arduino.. Wygodna platforma prototypowa, nie ma potrzeby łączenia się poprzez zewnętrzny programator, Eliminuje konieczność ustawiania wbudowanych urządzeń Ułatwia budowę programu Przyspiesza testowania i prototypowanie Dostarcza użytecznych bibliotek funkcji Kod podobny do C++ Niższa wydajność niż w przypadku C Może marnować pamięć operacyjną

Środowisko Arduino IDE Wybór typu płytki oraz portu: Dołączanie bibliotek

Arduino Uno- płytka testowa

Arduino Uno- płytka testowa 1.Złącze USB - wykorzystywane do zasilania, programowania oraz komunikacji z komputerem 2.Złącze zasilania (optymalnie 7V - 12V) 3.Stabilizator napięcia - napięcie wejściowe ze złącza nr 2 obniżane jest do 5V dzięki temu układowi 4.Przycisk resetu - resetuje płytkę Arduino 5.Mikrokontroler odpowiedzialny za komunikację z komputerem przez USB 6.Złącze programowania do mikrokontrolera z punktu 5. 7.Złącze sygnałowe* 8.Złącze sygnałowe* 9.Dioda LED sygnalizująca podłączenie napięcia do Arduino 10.Wyjście programatora dla mikrokontrolera z punktu 13. 11.Złącze sygnałowe* 12.Złącze zasilania* 13.Serce Arduino, główny mikrokontroler AVR ATmega328 14.Diody LED sygnalizujące transmisję do/z komputera 15.Dioda LED do dyspozycji użytkownika 16.Rezonator ceramiczny taktujący mikrokontroler (punkt 13) z częstotliwością 16MHz 17.Zworka, której przecięcie wyłącza automatyczne resetowanie Arduino. 18.Pola lutownicze z wyprowadzonymi sygnałami mikrokontrolera z punktu 5, używane ekstremalnie rzadko w bardzo specyficznych i niestandardowych sytuacjach.

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- podłączenie

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- podłączenie

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- program

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- program

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- efekt Dane zczytywane bezpośrednio przez port szeregowy (port podłączenia Arduino z PC)

Pierwszy program sterujący- czujnik temperatury i wilgotności z wyświetlaczem LCD- efekt

Zrób to sam, czyli chętni na wykładzie #1 Mrugająca dioda 1 2 3 4 5 6 7 8 9 1 0 void setup() { pinmode(8, OUTPUT); //Konfiguracja pinu 8 jako wyjście } void loop() { digitalwrite(8, HIGH); //Włączenie diody delay(1000); //Odczekanie 1 sekundy digitalwrite(8, LOW); //Wyłączenie diody delay(1000); //Odczekanie jednej sekundy }

Zrób to sam, czyli chętni na wykładzie Arduino 1 void setup() { 2 pinmode(10, OUTPUT); //Dioda czerwona 3 pinmode(9, OUTPUT); //Dioda żółta 4 pinmode(8, OUTPUT); //Dioda zielona 5 6 pinmode(7, INPUT_PULLUP); //Przycisk 7 8 digitalwrite(10, LOW); //Wyłączenie diod 9 digitalwrite(9, LOW); 1 digitalwrite(8, LOW); 0 } 1 1 void loop() 1 { 2 digitalwrite(10, LOW); //Czerwona 1 digitalwrite(9, LOW); //Pomarańczowa 3 digitalwrite(8, HIGH); //Zielona 1 delay(1000); //Zatrzymujemy program przed 4 wejsciem do pętli na 1 sekunde 1 while (digitalread(7) == HIGH) {} //Jeśli 5 przycisk jest wciśnięty 1 digitalwrite(10, LOW); //Czerwona 6 digitalwrite(9, HIGH); //Pomarańczowa 1 digitalwrite(8, LOW); //Zielona 7 delay(1000); //Zatrzymujemy program przed 1 wejsciem do pętli na 1 sekunde 8 while (digitalread(7) == HIGH) {} //Jeśli 1 przycisk jest wciśnięty 9 digitalwrite(10, HIGH); //Czerwona 2 digitalwrite(9, LOW); //Pomarańczowa 0 digitalwrite(8, LOW); //Zielona 2 delay(1000); //Zatrzymujemy program przed 1 wejsciem do pętli na 1 sekunde 2 while (digitalread(7) == HIGH) {} //Jeśli 2 przycisk jest wciśnięty 2 digitalwrite(10, HIGH); //Czerwona 3 digitalwrite(9, HIGH); //Pomarańczowa 2 digitalwrite(8, LOW); //Zielona 4 delay(1000); //Zatrzymujemy program przed 2 wejsciem do pętli na 1 sekunde 5 while (digitalread(7) == HIGH) {} //Jeśli 2 przycisk jest wciśnięty 6 } 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 #2 Światła drogowe void setup() { pinmode(10, OUTPUT); //Dioda czerwona pinmode(9, OUTPUT); //Dioda żółta pinmode(8, OUTPUT); //Dioda zielona pinmode(7, INPUT_PULLUP); //Przycisk digitalwrite(10, LOW); //Wyłączenie diod digitalwrite(9, LOW); digitalwrite(8, LOW); } void loop() { digitalwrite(10, LOW); //Czerwona digitalwrite(9, LOW); //Pomarańczowa digitalwrite(8, HIGH); //Zielona delay(1000); //Zatrzymujemy program przed wejsciem do pętli na while (digitalread(7) == HIGH) {} //Jeśli przycisk jest wciśnięty

Przydatne książki oraz linki Francuz T., Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji, wyd. Helion Kardaś M. Mikrokontrolery AVR Język C Podstawy programowania wyd. II, wyd. obsługa Eclipse http://ktc.wieik.pk.edu.pl/kurs_avr/avr_programowanie.pdf - ogólnodostępny pdf opisujący funkcje AVRDude oraz modułów wykorzystywanych przy funkcji #include http://forum.atnel.pl forum firmy ATNEL, dostawcy m.in. USB- AspCable i MkAVRCalculator, liczne rozwiązania problemów, dostępne gotowe programy etc. https://www.forbot.pl/ - kolejne forum o tematyce robotyki Liczne kursy online, które pozwolą wam zacząć przygodę z μc: http://mikrokontrolery.blogspot.com http://mirekk36.blogspot.com/p/spis-tresci.html http://ep.com.pl http://arduino.cc