Jako projekt zaliczeniowy z przedmiotu "aplikacje mobilne" zrobiłem prosty wyświetlacz wyniku sterowany za pomocą telefonu z androidem przez BT. Poniżej krótki filmik z działania. Wkrótce opiszę cały proces budowy.
Bawiłem się trochę Raspberry PI2 i zaciekawiła mnie jedna rzecz - jest tam domyślnie wgrany Minecraft. Co to jest nie muszę raczej nikomu tłumaczyć. Co więcej jest to specjalna wersja - możemy ingerować w rozgrywkę poprzez programy napisane w pythonie. Daje to mnóstwo możliwości - można np za pomocą przycisku na raspberry tworzyć przed sobą budowle, lub odwrotnie - za pomocą dźwigni w minecraft zapalać diodę LED na Raspberry.
Aby to przetestować zrobiłem prostą aplikację, która na wyświetlaczu HD44780 wyświetla aktualną pozycję gracza jest to kwestia zaledwie kilku linijek :)
Tutaj link do pobrania programu: KOD
Do obsługi LCD skorzystałem z tej strony: poradnik_lcd
W wolnej chwili stworzyłem aplikację PC w C# do sterowania ploterem. Jeszcze nie mam dodanej komunikacji rs232, zamiast tego jest zapis danych do pliku i kopiuje je do programu na AVR.
Obecnie wygląda ona tak:
Kolejne opcje dodam w przyszłości np tworzenie czcionek.
Zrobiłem prototyp małego "Pseudoplotera" z dwóch serwomechanizmów MG995. Pozycję dla serw generuję przez apkę napisaną w C#. Poniżej filmik z działania(jest dużo do poprawy):
Domyślnie będzie on wypisywał aktualną godzinę pisakiem na tablicy, a potem sam ją sobie zmazywał.
Bardzo zainteresował mnie temat robotów micromouse, zasada ich orientacji w labiryncie oraz algorytmy jego rozwiązywania. Zrobiłem prostą apkę w C#, która może wczytywać labirynt z pliku i rozwiązywać go metodą "wlewania wody". Muszę jeszcze trochę to wszystko zoptymalizować, ale działa już poprawnie. Kod starałem się tak pisać, aby bez problemu można było rozwiązywać labirynty o różnych rozmiarach.
Poniżej kilka screenów:
Bawiłem się dziś dalej Linefollowerem. Chciałem przetestować jego zachowanie na ostrych zakrętach, więc powstała ta nowa nietypowa trasa. Okazało się, że główną jego wadą jest za duży promień skrętu, niestety korzystając z tej platformy nie wyeliminuję tego, mogę jedynie to nadrobić programowo. Przynajmniej wiem na co zwracać uwagę, gdy będę budował w 100% własnego robota.
Filmik z przejazdu:
Udało mi się w 100% zakończyć projekt automatycznych cymbałek. Opisałem go na forum atnel: http://forum.atnel.pl/topic11440.html
Zapraszam do obejrzenia.
Poniżej przykładowe zdjęcia:
Obecnie pracuję m.in. nad automatycznymi cymbałkami. W założeniu mają być sterowane przez BT z komputera. Aplikacja napisana w C# i będzie umożliwiało granie na bieżąco oraz tworzenie melodyjek, może jakiś zapis nutowy.
Obecnie wygląda to tak:
Gra w życie to bardzo ciekawy algorytm. Symuluje on rozwój(lub zagładę) populacji "komórek".
Gdy jakaś żywa komórka ma wokół siebie 0 lub 1 żywego sąsiada to umiera z samotności, natomiast powyżej 3 - umiera z przeludnienia. Efekty możemy wyświetlać na czymkolwiek otrzymując bardzo ciekawą animację. Bardziej zainteresowani znajdą bez problemu mnóstwo informacji.
Poniżej filmiki z algorytmu uruchomionego na mojej matrycy led 16x16.
Tym razem projekt czysto programistyczny - rozwiązywacz sudoku napisany w języku c# w visual studio 2013.
Nie zagłębiałem się w jakieś specjalne algorytmy do jego rozwiązywania -
po prostu są w nim te metody, które ja stosuje przy rozwiązywaniu tych
łamigłówek.
Możemy wczytywać i zapisywać planszę z pliku w którym wpisujemy poszczególne wartości wersami, a puste kratki to spacje.
Program
nie daje (jeszcze) rady, gdy trzeba zgadywać którąś cyfrę - wtedy
polecam zapisać planszę i samemu strzelić jakąś cyfrę i włączyć jeszcze
raz rozwiązywanie, jak sie nie powiedzie to wczytać ją i wpisać tam inną
Tutaj kilka screenów z programu:
Tutaj do pobrania program z przykładowymi planszami: Pobierz A tu kod źródłowy: Pobierz
Kolejny po SUDOKU AVR mini-projekcik na wyświetlaczu 2,2'' ILI9341,również zrobiony na zestawie ATB. Tym
razem jest to gra arkanoid, zasady pewnie wszystkim znane - "pałeczką"
odbijamy kulkę która zbija cegiełki umieszczone na planszy. Pałką sterujemy za pomocą potencjometru suwakowego i całkiem dobrze się to sprawuje.
Tutaj filmik z działania (niestety nie dysponuje czymś lepszym do nagrywania i bardzo słabo wyglądają kolory):
Mały projekcik, umożliwiający granie w sudoku na kolorowym wyświetlaczu. Niestety nie doczekał się jeszcze płytki PCB, uruchomiony był na zestawie ATB.
Jak działa ten projekt - po włączeniu mamy krótką "animację" na
powitanie, następnie wybieramy planszę (zapisane są one w pamięci
FLASH). Obsługa jest za pomocą 5 przycisków(lewo,prawo,góra,dół i
wybór). Po planszy przemieszczamy się "strzałkami", wybrana kratka jest
podświetlana na żółto, przyciskiem "wybór" wchodzimy w edycje zawartości
i wybieramy co mamy tam wpisać, zatwierdzamy znów przyciskiem "wybór"
(lub kasujemy zawartość przyciskiem "dół"), w tym menu możemy też
rozpocząć nową grę - wciśnięcie 2 razy przycisku "góra" powoduje
podświetlenie na zielono poprawnych kratek, natomiast 3-krotne - wybór
nowej planszy.
Wszystko to widać na poniższym filmiku:
Kod programu dostępny jest do pobrania tutaj: Pobierz
Jest to jeden z bardziej widowiskowych moich projektów. Opis jego budowy dostał się na główną stronę serwisu Majsterkowo.pl i zdobył wiele pozytywnych ocen.
Blog powstał w celu opisywania moich małych projektów elektronicznych oraz jako motywacja do robienia kolejnych. Mam nadzieję, że komuś się kiedyś przydadzą.