poniedziałek, 25 lipca 2016

[1] Visual Studio - C++ - Gra kółko i krzyżyk

W tym poście zaprezentują prostą aplikację stworzoną w języku C++ z wykorzystaniem programu Visual Studio.

niedziela, 24 lipca 2016

C - Losowanie liczb pseudolosowych

Ten post będzie dotyczył metody jaką należy zastosować aby możliwe było losowanie liczb z określonego przez użytkownika przedziału za pomocą funkcji rand().

Jej zadaniem jest generacja liczby pseudolosowej. Poniżej przedstawię krótki program którego zadaniem będzie generacja przykładowych 10 liczb.

czwartek, 21 lipca 2016

Obliczanie pojemności baterii

W tym poście chciałbym zaprezentować w jaki sposób obliczyć jaka bateria będzie potrzebna dla budowanego urządzenia.

środa, 20 lipca 2016

[7] Stabilizator na diodzie Zenera

Najłatwiejszy układ stabilizatora można wykonać w oparciu o rezystor podłączony razem z diodą Zenera.

Rys. 1. Schemat podstawowego stabilizatora

wtorek, 19 lipca 2016

[5a] STM32F4 - Discovery - CubeMx - USART, komunikacja z komputera na mikrokontroler

Ten post będzie kontynuacją wcześniejszego, dotyczącego komunikacji poprzez USART. Tym razem przedstawię odwrotny sposób transmisji czyli od komputera do mikrokontrolera.

Program


Na samym początku po włączeniu zegarów w programie CubeMx, należy włączyć obsługę USART2 w trybie asynchronicznym, po czym uruchomić przerwania NVIC dla niego.

poniedziałek, 18 lipca 2016

[6] Dioda Schottky'ego

Ten post poświęcę na krótki opis diody Schottky'ego.

Jest to dioda zawierająca złącze metal półprzewodnik. Dzięki małej pojemności złącza, czas przełączania jest bardzo mały i podawany w ps. Powoduje to, że wartość strat jakie są wykorzystywane na generację ciepła jest ograniczona. Ich dodatkowym atutem oprócz szybszego działania jest występowanie mniejszego spadku napięcia w kierunku przewodzenia, typowo około 0,3V. Wartość napięcia wstecznego przeważnie jest niewielka i nie wychodzi poza zakres 100V.

niedziela, 17 lipca 2016

C++ - Podstawowy kalkulator

W tym poście chciałbym przedstawić krótki projekt kalkulatora przygotowanego w C++. Projekt będzie obsługiwany za pomocą okna konsoli.

Jego działanie będzie się opierało na wykonywaniu operacji na dwóch liczbach.

Będzie on posiadał następujące funkcje:

  • dodawanie
  • mnożenie
  • dzielenie
  • pierwiastkowanie
  • potęgowanie
  • silnia
  • dodawanie oraz odejmowanie liczb w systemie dwójkowym

sobota, 16 lipca 2016

[5] Dioda prostownicza

Ten post poświęcę opisowi diody prostowniczej, która jest wykorzystywana np. w mostku Graetza opisywanego w części [4].

Dioda prostownicza jest często wykorzystywana do prostowania prądu przemiennego. Ich głównym zadaniem jest przepuszczać prąd w jedną stronę, natomiast w drugą blokować. Wartość ich rezystancji w kierunku przewodzenia jest bardzo mała, w kierunku zaporowy natomiast jest ona bardzo duża.

Rys. 1. Symbol diody prostowniczej

[0] PCB - Podział warstw na płytkach

W tym poście przedstawię w jaki sposób należy dobierać warstwy w płytkach dwu oraz wielowarstwowych. 

Płytki wykonywane są poprzez nanoszenie warstw równego typu na siebie. Na rysunku 1 przedstawiłem przykładowy przekrój dla płyty 8 warstwowej.

Rys. 1. Przekrój poprzeczny przez warstwy PCB [1]

piątek, 15 lipca 2016

[4] Mostek Graetza

W tym poście chciałbym opisać zasadę działania mostku Greatza.

Mostek Graetza jest pełno-okresowym prostownikiem, który jest zbudowany z czterech diod prostowniczych zamontowanych oddzielnie, lub tak jak się częściej stosuje, w jednym scalaku. Prostowane są obie połówki napięcia przemiennego. Nie zależnie od kierunku w jakim przepływa prąd na wejściu, prąd na wyjściu będzie płynąć zawsze w tą samą stronę.

środa, 13 lipca 2016

[3] Dzielnik napięć

Ten post będzie dotyczył sposoby obliczenia oraz zastosowanie dzielnika napięć.

Zasada działania dzielnika napięć nie jest zbytnio skomplikowana, jego zadanie polega na dzieleniu napięcia wejściowego.

Rys. 1. Dzielnik napięć

wtorek, 12 lipca 2016

[5] STM32F4 - Discovery - CubeMx - UART

W tym poście opiszę w jaki sposób wykonać włączenie przesyłania informacji przez port szeregowy UART.

Projekt


Podobnie jak poprzednio należy rozpocząć od wybrania płytki w programie CubeMx. Po operacji okno programu powinno prezentować się następująco. 

[2] Połączenia szeregowe i równoległe

W tym poście przedstawię zagadnienia związane z połączenie szeregowym i równoległym takich elementów jak rezystory, kondensatory i cewki.

poniedziałek, 11 lipca 2016

[1] Prawo Ohma i Kirchoffa

Ten post będzie rozpoczynał mały cykl krótkich artykułów poświęconych podstawowym zagadnieniom związanym z elektroniką. Nie zamierzam w tych wpisach wchodzić głęboko w szczegóły tylko przedstawić krótki opis podstawowych zagadnień.

niedziela, 10 lipca 2016

C - Zmienna volatile

Ten bardzo krótki post chciałbym poświęcić zagadnieniu modyfikatorowi volatile, która jest najczęściej wykorzystywana w procedurze obsługi przerwania.

[Źródło: https://docs.microsoft.com/pl-pl/cpp/c-language/?view=msvc-160]

sobota, 9 lipca 2016

[9] PCB - Stabilizator na napięcie dodatnie i ujemne

W tym poście chciałbym zaprezentować sposób wykonaniu układu stabilizującego napięcie 5V o przeciwnej polaryzacji. Jako źródło można wykorzystać napięcie 9V pochodzące z baterii lub z zasilacza.

Głównymi elementami układu będzie regulator napięcia 78L05 oraz konwerter napięć ICL7660.

Układ 78L05


Jest to 5V regulator napięcia z maksymalnym prądem wyjściowym wynoszącym 100mA. Sprzedawany jest w obudowie TO-92, SO-8 lub SOT89. Stabilizator posiada ochronę przed przegrzaniem oraz przed zwarciem.

piątek, 1 lipca 2016

C - Wprowadzanie danych do pliku

Ten post chciałbym poświęcić metodzie wprowadzania i odczytywania danych z pliku tekstowego.

Dostęp wysokopoziomowy wykorzystuje następujące funkcje pozwalające na uzyskanie dostępu do pliku. Są to funkcje fopen(), fread(), fclose(). Dodatkowo należy wykorzystać wskaźnik, który będzie pokazywał na strukturę FILE. Będzie ona przechowywać informacje o pliku. Kolejną grupą jest dostęp niskopoziomowy, który obsługuje takie funkcje jak read(), open(), write() czy close().

Należy pamiętać, że dostępy muszą być od siebie oddzielone. Nie można na jednym otwartym pliku operować metodami niskopoziomowi po czym przejść na wysokopoziomowe przed całkowitym zamknięciem pliku.