Robotyka, Embedded, C
Płytka została oddana do produkcji, więc ostatnio było trochę czasu, żeby usiąść do softu. W tym tygodniu udało mi się zrobić kilka rzeczy: postawić projekt na STM32F4, dodać najnowszą wersję systemu FreeRTOS – 9.0.0, uruchomić framework do unit testów CppUTest. Aktualny kod źródłowy projektu można znaleźć na moim GitHubie. Projekt STM32 Szablon projektu na STM32F4 […]
Płytka została oddana do produkcji, więc ostatnio było trochę czasu, żeby usiąść do softu. W tym tygodniu udało mi się zrobić kilka rzeczy: postawić projekt na STM32F4, dodać najnowszą wersję systemu FreeRTOS – 9.0.0, uruchomić framework do unit testów CppUTest. Aktualny kod źródłowy projektu można znaleźć na moim GitHubie. Projekt STM32 Szablon projektu na STM32F4 […]
Płytka robota, którą ostatnio zaprojektowałem, miała kilka wad. Głównym problemem była grubość ścieżek. Praktycznie wszystkie ścieżki miały tam 10 mils. Ścieżki zasilania i inne, po których mogą płynąć większe prądy powinny być odpowiednio grube. Grubsze ścieżki zapewniają mniejszą rezystancję. Poza tym jeśli płynie nimi większy prąd, mogą się nagrzać i uszkodzić. Zdarzały mi się już […]
Miałem na ten tydzień zaplanowanych kilka ciekawych rzeczy. Chciałem iść na spotkanie Hackerspace Trójmiasto i napisać z tego relację oraz rozpocząć pracę nad kodem źródłowym robota. Na pierwszy ogień miał iść framework do unit testów CppUTest i konfiguracja continuous integration. Niestety plany pokrzyżowała mi choroba i przez kilka ostatnich dni prowadzę tryb życia zbliżony do […]
Po zrobieniu schematu ideowego przyszła pora na projekt płytki PCB. Udało mi się uwinąć z tym zadaniem w weekend. W tym poście opiszę, czym się kierowałem przy projekcie PCB. Wymiary robota Pierwszym krokiem do stworzenia PCB było określenie wymiarów. Byłem tutaj ograniczony przez program Eagle, który wykorzystałem do zrobienia projektu. Maksymalny rozmiar płytki możliwy w […]
Po raz kolejny dałem się złapać na ten sam chwyt. Jak widzę, że na Helionie jest promocja, nie mogę się powstrzymać i zawsze kupuję jakąś książkę. Dobrze, jeśli kończy się tylko na jednej. Tym razem padło na „Software Craftsman. Profesjonalizm, czysty kod i techniczna perfekcja” autorstwa Sandro Macuso, która została wybrana przez Helion książką roku […]
Prace nad robotem ruszyły. Dodałem pierwsze commity na GitHuba, wybrałem licencję dla projektu (tym aspektem zainteresowałem się dzięki Slackowi konkursowemu, normalnie bym olał ten temat), dodałem krótkie readme, a przede wszystkim zrobiłem schemat ideowy robota. W tym wpisie opiszę wykonany schemat. Do wykonaniu schematu użyłem programu Cadsoft Eagle 7.2, czyli starszej wersji programu wydanej jeszcze […]
W poprzednim wpisie tylko ogólnie napisałem o projekcie. Teraz przyszła pora na więcej szczegółów technicznych. Opiszę więc na czym polegają zawody Micromouse, sformułuję wymagania i przedstawię koncepcję robota. Opis konkurencji Micromouse Micromouse to jedna z konkurencji odbywających się podczas zawodów robotów. Jej celem jest jak najszybsze przejechanie robota z rogu labiryntu do mety znajdującej się […]
Dziś rusza konkurs Daj się poznać 2017, w którym będę brał udział. Jest to konkurs dla bloggerów piszących o programowaniu. Chodzi o to, żeby rozwijać projekt open source na GitHubie i blogować. W okresie od 1 marca do 31 maja przez 10 tygodni należy pisać po 2 posty tygodniowo. Co najmniej jeden z nich musi […]
Najczęściej wybieranym językiem do programowania mikrokontrolerów jest C. Popularna jest opinia, że C++ do tego zadania się nie nadaje. Najczęściej podawane argumenty to wolniejsze wykonywanie się kodu, większe zużycie pamięci programu i RAMu oraz częste wykorzystywanie dynamicznej alokacji pamięci. Ostatnio znalazłem na YouTube prezentację dotyczącą wykorzystania C++ przy programowaniu systemów embedded. Autor udowadnia w niej, […]
Ostatnio pisałem, jak uruchomić projekt na STM32 na Eclipse. Polecałem wtedy używać starszej wersji – Eclipse Mars, ponieważ na Eclipse Neon nie działają poprawnie używane przeze mnie pluginy. Ostatnio udało mi się uruchomić STM32 na nowej wersji Eclipse i w tym artykule opiszę swoje uwagi. Do uruchomienia projektu na STM32 będziemy potrzebowali pluginów z pakietu […]
Ostatnio opisywałem szablon projektu na STM32 i konfigurację środowiska, więc teraz pora na jakiś praktyczny projekt. Będzie nim program grający melodie na silnikach. Kiedyś napisałem taki programik, żeby sprawdzić czy działa sterowanie silnikami w moim robocie. W tym czasie na Forbot.pl był konkurs na robota z akcentem świątecznym i Wśród nocnej ciszy w wykonaniu mojego […]
Nie tak dawno temu opisywałem szablon projektu na STM32F4, którego używam. Dzisiaj omówię konfigurację środowiska Eclipse do pracy z projektem pod Windowsem. Aby uruchomić projekt, będziemy potrzebować: kompilator ARM debugger – OpenOCD MinGW Środowisko Eclipse C/C++ Kompilator ARM i debugger Kompilator ARM i OpenOCD polecam ściągnąć ze strony www.freddiechopin.info. W momencie pisania tego artykułu najnowsza […]
Wczoraj byłem na PGS Software Talks w Gdańsku. Był to pierwszy tego typu event programistyczny, w jakim brałem udział. Miałem zamiar wybrać się już na poprzednią edycję, która odbywała się we wrześniu. Prelegentami byli wtedy jeden z użytkowników forum netwars.pl – Paweł Zajączkowski, który mówił o tym jak pisać czysty kod, oraz Piotr Konieczny z […]
Ostatnio po ciężkiej przeprawie dotarły do mnie dwie przesyłki. Pierwsza z nich zawierała obejmy do silników i felgi zrobione na drukarce 3D, a druga śrubki do montażu tych części. Obie przesyłki zostały nadane na początku grudnia, a dotarły do mnie na początku lutego. Poczta Polska jak zwykle się spisała. No ale skoro części w końcu […]
Robotyka, Embedded, C
Programowaniem zajmuję się zawodowo od 2012 roku. Moją specjalnością są systemy embedded, pracowałem już nad systemami safety critical, inteligentymi budynkami, czy Internet of Things. Jestem również wielkim fanem robotyki i w wolnym czasie robię własnego robota micromouse.