sobota, 31 października 2015

[15] Arduino - Zapis na kartę SD

Tym razem przedstawię zapis danych na kartę SD.

[Źródło: https://botland.com.pl/akcesoria-do-kart-pamieci/1507-modul-czytnika-kart-sd-5903351241342.html]

czwartek, 29 października 2015

[3b] STM32 Nucelo F411RE - Obsługa wbudowanego USART-u, funckja printf

W tym poście pokaże jak obsłużyć układ USART z konwerterem wbudowanym w płytkę Nucleo

Wstęp


Wbudowany konwerter USART podłączony jest do USART2, który jest podłączony do pinów PA2 oraz PA3.
Układ wbudowany jest w płytkę, dzięki temu po podłączeniu do komputera i odpowiednim zaprogramowaniu można od razu z niego korzystać. Nie ma potrzeby stosowania dodatkowych elementów.

środa, 28 października 2015

[3] Excel VBA - Makro, mnożenie wartości w kolumnie

W tym poście chciałbym przedstawić makro przygotowane przeze mnie makro. Pozwala ona na zmianę wartości kolumny względem zdefiniowanego warunku. 

Makro


Ma ono za zadanie mnożenie liczb zaczynając od zaznaczonej kolumny, aż do napotkania pustego wiersza. Liczby podzielne przez dwa są mnożone razy 2, pozostałe natomiast są mnożone razy 3. Dodatkowo liczbą parzystym, przed pomnożeniem, zmieniona zostaje czcionka na kolor zielony.

[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.


piątek, 16 października 2015

[1] PCB - Płytka testowa - diody przewlekane, diody SMD

W tym poście przedstawię bardzo prosty projekt płytki zawierającej diody i wyprowadzenia do podłączenia dla mikrokontrolerów. Powstały one podczas nauki obsługi programu Eagle już jakiś czas temu.

Pierwszy projekt będzie zawierał 15 diod podłączonych do rezystorów oraz zestawu goldpinów. Na płytce znalazło się także miejsce trzy diody RGB. 

Płytki zostały w całości wykonane w programie Eagle.


[2] Excel VBA - Marko - Wpisywanie danych do pustej kolumny w tabeli

W tym poście przedstawię makro wyszukujące puste miejsce w tabeli i wprowadzające w nią podane przez użytkownika dane. Przy jego tworzeniu posłużę się makrem znalezionym przeze mnie jakiś czas temu w internecie, którego zadaniem było odnalezienie pustego miejsca w tabeli. I zaznaczenie tej kolumny.

[3] STM32 Nucleo F411RE - USART

W tym poście przedstawię podłączenie mikrokontrolera do komputera za pomocą UART-a.

Wstęp


UART (ang. Universal Asynchronous and Transmitter) jest to układ pozwalający na asynchroniczną transmisję informacji wykorzystującą port szeregowy. W tym układzie zawarte są dwa konwertery, jeden z nich służy do konwersji danych przesyłanych z komputera (równoległo-szeregowy - ang. parallel to serial), drugi natomiast działa odwrotnie (szeregowo-równoległy ang. serial to parallel). W skład UART-u wchodzi także bufor, który przechowuje dane tymczasowo w momencie wykorzystywania szybkiej transmisji. [1]

Pewną odmianą UART-u jest tzw. USART. Może on pracować w trybie synchronicznym jak i asynchronicznym.

środa, 14 października 2015

[1] Excel VBA - Makro podnoszące wartość do zadanej potęgi

Tym razem przedstawię pierwsze przygotowane prze zemnie makro. Jego zadaniem będzie podniesienie podanej wartości do potęgi, wypisanie jej na ekranie oraz w podanej komórce

wtorek, 13 października 2015

[0] Funkcja - Excel VBA - pierwsza prosta funkcja

W tym poście, w związku z tym, że rozpocząłem swoją przygodę z programowaniem w VBA chciałbym wrzucić przygotowaną przeze mnie bardzo prostą funkcję zmieniającą format daty.

niedziela, 4 października 2015

[1] STM32 Nuclo F411RE - Inicjalizacja GPIO I/O

Tym razem przedstawię sposób inicjalizacji portów GPIO, jakie są dostępne w wykorzystywanym prze zemnie mikrokontrolerze. Przedstawię też krótki program pozwalający na obsługę wbudowanego przycisku oraz diody.

Wstęp


W tej wersji Nucleo mamy do wyboru następujące wyprowadzenia kompatybilne z Arduino, oraz wyprowadzenia Morpho. W skład tych drugich wchodzą wszystkie dostępne funkcjonalne wyprowadzenia mikrokontrolera. Rozmieszczenie wszystkich pinów podano na rysunku 1.1. 


Rys. 1.1. Opis wyprowadzeń Nucleo F411RE

piątek, 2 października 2015

[12] Arduino - Wyświetlacz LCD 2x16, podłączenie, programowanie

W tym poście zaprezentuję obsługę wyświetlacza LCD 2x16.

Wstęp

Osobiście wolę ten sam wyświetlacz tylko wyposażony w konwerter I2C dzięki któremu ilość pinów jaka jest wymagana do podłączenia LCD do mikrokontrolera zostaje znacznie zmniejszona. 
Z drugiej strony wyświetlacz jest prawie 10 zł tańszy w porównaniu z odpowiednikiem z konwerterem. Wobec tego jeśli nie zamierzamy wykorzystywać wielu pinów do innych celów, ten wyświetlacz będzie lepszym rozwiązaniem.

Rys. 1.1. Wygląd zewnętrzny wyświetlacza