czwartek, 29 września 2016

[3] Atmega328 - Timer 2/Timer 1

Ten post chciałbym poświęcić na opisanie programowanie 16 bitowego timera na mikrokontrolerze Atmega328 poprzez płytkę Arduino oraz 8 bitowego timera 8 bitowego. Timer 0 zostawię na inną okazję. 

Mikrokontroler Atmega328 zawiera jeden timer 16 bitowy. Jest on w dokumentacji opisany jako Timer/Counter1 (TC1).

środa, 28 września 2016

[2] Atmega328P - Obsługa przycisku

W tym poście chciałbym przedstawić sposób obsługi przycisku.

Działanie programu będzie standardowe jeśli przycisk będzie wciśnięty to odczeka 100 ms, po tym czasie ponownie sprawdzi czy przycisk jest wciśnięty. Jeśli tak to zapali diodę wbudowaną do płytki Arduino.

poniedziałek, 26 września 2016

[6] STM32F4 - Discovery - CubeMx - USB

W tym poście chciałbym opisać sposób komunikacji z komputerem za pomocą USB. Opiszę tutaj sposób przygotowania układu do uzyskania komunikacji poprzez Virtual Serial Port.

Konfiguracja programu w środowisku CubeMx


W pierwszej kolejności należy odpowiednio skonfigurować zegary. Należy to zrobić w taki sposób aby USB nie było taktowane wyższym sygnałem niż 48 MHz. Można to ustawić w następujący sposób:

Rys. 1. Ustawienie zegarów

Python - Program do komunikacji z komputerem poprzez port szeregowy

W tym poście chciałbym przedstawić krótki skrypt do pythona, za pomocą którego można odbierać dane poprzez port szeregowy. Wszystkie poniższe skrypty testuje przy pomocy Arduino Uno

 [Źródło: https://applover.pl/technology/python]

niedziela, 25 września 2016

[1] Atmega328P - Programowanie mikrokontrolera przez Arduino IDE.

Ten post chciałbym przedstawić w jaki sposób zaprogramować mikrokontroler Atmega328 znajdujący się na płytce Arduino Uno z wykorzystaniem programu Arduino IDE.

Opis

wtorek, 20 września 2016

C - Obliczanie pierwiastka

W tym poście chciałbym przedstawić krótki program pozwalający na obliczenie pierwiastka podanego stopnia. Program został przygotowany w języku C.

Program:


Do tego celu posłużę się funkcją expotencjalną, która będzie dokonywała obliczeń na wartości logarytmu liczby pierwiastkowanej podzielonej przez stopień pierwiastka.

poniedziałek, 19 września 2016

[4] STM32F4 - Rejestry ADC

W tym poście chciałbym opisać sposób obsługi układu ADC na rejestrach mikrokontrolera STM32F4.

Podłączenie:


ADC zostało wyprowadzone na następujące piny:

Wszystkie ADC taktowane są z linii APB2 z dzielnikiem 2.

niedziela, 18 września 2016

[3] STM32F4 - Rejestry DAC

W tym poście chciałbym opisać sposób zaprogramowania konwertera cyfrowo - analogowego na rejestach. Trochę teorii zostało już przeze mnie opisanej w części dotyczącej DAC na bibliotekach.

Program:


W pierwszej kolejności aby była możliwość wyprowadzania sygnału na zewnątrz to należy ustawić piny w tryb analogowy za pomocą rejestru MODER. Który wygląda następująco:

Rys. 1. Rejestr GPIO MODER

sobota, 17 września 2016

C - Zmienna const

Tym razem chciałbym przedstawić krótki post dotyczący obsługi wartości stałej z wykorzystaniem słowa kluczowego const.

Stała jest to zmienna której nie można zmienić wartości w trakcie działania programu. Stałą, jak już wspomniałęm wcześniej deklaruje się z użyciem słowa kluczowego const, które zostaje umieszczone przed typem zmiennej:

  1. const double c = 3.45;

czwartek, 15 września 2016

[17] STM32F4 - 3 osiowy akcelerometr LSM303D

Tym razem chciałbym omówić obsługę akcelerometru, magnetometru oraz termometru LSM303D. Komunikacja z tym układem odbywa się za pomocą interfejsu I2C bądź SPI. W tym poście opiszę komunikację poprzez I2C.

Opis układu


Na rysunku 1 znajduje się wygląd zewnętrzny modułu:

Rys. 1. Moduł z układem LSM303D [botland]

poniedziałek, 12 września 2016

[16] STM32F4 - Discovery - Tryby oszczędzania energii

Tym razem chciałbym przedstawić sposób obsługi trybów oszczędzania energii w mikrokontrolerach z rodziny STM32F4.

Do wyboru są następujące rodzaje trybów oszczędzania energii w STM32:

  • Tryb uśpienia (Sleep Mode)
  • Tryb zatrzymania (Stop Mode)
  • Tryb czuwania (Standby Mode)
  • Tryb Vbat (Vbat Mode)

Rys. 1. Pobór prądu dla mikrokontrolerów [datasheet]

środa, 7 września 2016

[15] STM32F4 - Programowanie pamięci Flash AT45DB161

Ten post chciałbym poświęcić na opis sposobu programowania pamięci AT45DB161.

Opis układu


W tym poście przedstawię program pozwalający na obsługę pamięci AT45DB161E oraz D. Kod powinien być podobny do innych kości z rodziny AT45DB. 

Komunikacja z mikrokontrolerem odbywa się poprzez interfejs SPI. Maksymalna częstotliwość taktowania wynosi 85MHz.

Rys. 1. Opis wyprowadzeń