środa, 28 października 2015

[3a] Wysłanie danych z komputera - USART

Tym razem opiszę sposób przesłania danych z komputera poprzez port USART do mikrokontrolera.

Wstęp


Aby to wykonać taką transmisję należy odpowiednio zainicjalizować przerwania oraz jego obsługę dla wybranego USART-u. Należy ustawić wektor przerwać NVIC (ang. Nested Vector Interrupt Controller). Dzięki nim możliwe jest zatrzymanie działania programu, aby został wykonany inny fragment kodu zdefiniowany w procedurze obsługi przerwania.

Opisywany tutaj wektor przerwań pozwala na dynamiczną obsługę oraz wybranie ważniejszego przerwania. Możliwa jest obsługa do 256 różnych wywoływanych wektorów. Całość opisana jest w bibliotece misc.h. Nie będę się tutaj rozpisywał dokładnie nad jego zasadą działania, ponieważ zostanie to opisane w innym poście. 

wtorek, 27 października 2015

[2] STM32 Nucleo F411RE - ADC

W tym poście chciałbym omówić zasadę działania przetwornika analogo-cyfrowego ADC. Działanie będzie przedstawione w oparciu o płytkę Nucleo z mikrokontrolerem STM32F4. 

[Źródło: http://www.st.com/en/evaluation-tools/nucleo-f411re.html]

poniedziałek, 26 października 2015

[1] STM32F4 - Rejestry GPIO

Mikrokontroler posiada szereg portów, które składają się z 16 oddzielnych linii. Można wyróżnić następujące typy rejestrów:
  • Cztery rejestry konfiguracyjne;
  • Dwa rejestry danych;
  • Jeden rejestr ustawiania/resetowania;
  • Jeden rejestr zamykający;
  • Dwa rejestry posiadające różne funkcje;
Z rejestrów konfiguracyjnych można wyróżnić:
GPIOx_MODER - sposób wykorzystania portu (np. port wejścia/wyjścia),
GPIOx_OTYPER - typ konfiguracji portu (Open drain, Push/pull),
GPIOx_OSPEEDR - rejestr szybkości taktowania,
GPIOx_PUPDR - rejestr odpowiedzialny za rezystor podciągający (Pull-up/Pull-down).

W miejsce x wprowadza się nazwę portu np. A, B, D itp.

poniedziałek, 19 października 2015

[3] Attiny - Płytka z mikrokontrolerem

Tym razem chciałem przedstawić przygotowaną płytkę z mikrokontrolerem Attiny. Płykę wykonałem jakiś czas temu do jakiegoś kursu programu Eagle.

Schemat i PCB

niedziela, 18 października 2015

[2] Płytka testowa - wyświetlacz LCD 2x16

W tym poście przedstawię kolejną stosunkowo łatwą w przygotowaniu płytkę PCB zawierającą sześć przycisków oraz wyświetlacz LCD. 

Schemat


Na rysunku 1.1. przedstawiłem schemat elektryczny układu. Cały projekt został wykonany w programie Eagle.

[16] Arduino - I2C, obsługa czujnika temperatury TC74

Tym razem zaprezentuje sposób programowania czujnika temperatury TC74, działającego poprzez magistralę I2C.

Wstęp


I2C jest to magistrala dwukierunkowa, szeregowa, która służy do przesyłania danych. 

Do transmisji wykorzystywane są dwie linie: linia danych SDA (ang. Serial Data Line) oraz linie zegara SCL (ang. Serial Clock Line). Obie te linie muszą być podciągnięte do zasilania poprzez rezystory (ang. pull-up). Magistrala wykorzystuje tzw. logikę dodatnią. Oznacza to, że stan 0 odpowiada stanowi niskiemu, natomiast 1 to stan wysoki.

sobota, 17 października 2015

[13] Arduino - Tworzenie oddzielnego urządzenia

W tym poście pokaże w jaki sposób podłączyć mikrokontroler osobno, bez wykorzystywania płytki z programatorem Arduino.

Wstęp


Jeśli zaprojektowane urządzenie chcielibyśmy następnie odpiąć od płytki z Arduino i podłączyć pozostałe elementy bez wykorzystywania bazowej płytki Arduino należałoby dokonać odpowiedniego podłączenia dodatkowych elementów elektronicznych, które zapewnią poprawną pracę całego układu.

Głównie chodzi tutaj o wykonanie podstawowego połączenia mikrokontrolera i zapewnienie poprawnej filtracji zasilania. Dokładne elementy przedstawię w dalszej części.