Zeyomir's Blog Bo piękniej jest wiedzieć coś o wszystkim…

Licencjat

Temat mojej pracy licencjackiej brzmi (aktualnie) 'Zdalna platforma edukacyjna oparta o mikrokontroler ATmega162'. Ale od początku 😉

Pierwszy temat brzmiał 'System zdalnego nadzoru mieszkań'. Miał to być robot jeżdżący z kamerą, którym moglibyśmy pojeździć po mieszkaniu, sterując nim za pośrednictwem internetu. Będąc w pracy lub na wakacjach moglibyśmy sprawdzić, czy pozamykaliśmy okna, nie zostawiliśmy mleka na gazie i wyłączyliśmy żelazko ;). Klient łączyłby się przez internet z serwerem stojącym w domu. Serwer przekazywałby rozkazy do robota i odbierał od niego obraz video z kamery. By uprościć sprawę, z opiekunem pracy zdecydowaliśmy się na kamerę nadającą sygnał radiowo i odbieranie go przez kartę telewizyjną z antenę pokojową. Komunikacja między serwerem a robotem miała odbywać się przez podczerwień. Oprogramowanie klienta i serwera miało być pisane początkowo w języku Java, a mikrokontroler sterujący robotem zaprogramowany miał być w języku C. Ponieważ temat był dużo bardziej skomplikowany i czasochłonny niż 'kolejny sklep w php' dostaliśmy zgodę na zrobienie go w 2 osoby- ja miałem zająć się oprogramowaniem, a mój kolega częścią fizyczno-mechaniczno-elektroniczną.

Niestety problemem okazała się kamera, a dokładniej jej koszt. W nieoficjalnej rozmowie dowiedziałem się, że Koło Naukowe Informatyków może ją zasponsorować, pod warunkiem, że praca ta będzie reprezentować Uniwersytet Śląski na jakimś konkursie. Padło więc na Microsoftowy ImagineCup. Szybkie wymyślenie bajeczki i pomysł został przyjęty do konkursu. Niestety oznaczało to, że trzeba zrezygnować z Javy na rzecz C#.

Oczywiście jak to zwykle bywa z nieoficjalnymi rozmowami- nic z tego nie wyszło. Zostaliśmy więc ze skończoną w 3/4 aplikacją w C# i działającym robotem... bez kamery. Jak można się domyślić- nie było czego wysłać na kolejny etap konkursu.

Ostatecznie zdecydowaliśmy się zmienić temat tak, by móc wykorzystać jak najwięcej tego co do tej pory zrobiliśmy. Tak właśnie narodziła się 'Zdalna platforma edukacyjna oparta o mikrokontroler ATmega162'... z przykładowym zastosowaniem jako zdalnie sterowany pojazd na kółkach ;).

Szczęśliwie praca została ukończona, platforma pozwala na sterowanie urządzeniami (diody LED, silniki, manipulatory etc) podłączonymi do mikrokontrolera bez ingerowania w jego kod. Udostępnione są 3 porty po 8 bitów oraz wyjście portu szeregowego. Dodatkowo, istnieje możliwość reagowania na zdarzenia z zewnątrz (jak np wciśnięcie przycisku), dzięki zlinkowaniu wartości danego portu do wartości innego portu, ustawionego na wejście. Serwer obsługuje wielu klientów oraz kolejkowanie ich żądań- pozwala to na zastosowanie platformy podczas zajęć dydaktycznych (np z Systemów wbudowanych), gdzie każdy student wysyła swój 'program', a serwer przekazuje te polecenia do mikrokontrolera stojącego na biurku prowadzącego, wykonując program każdego ze studentów przez określony czas. Poniżej kilka zdjęć, screenów i filmik przedstawiający działanie:

    • Aplikacja serwera:

Zrzut ekranu aplikacji serwera

    • Aplikacja klienta:

Zrzut ekranu aplikacji klienta

    • Nadajnik podczerwieni:

Nadajnik podczerwieni

    • Mikrokontroler i wyprowadzenia- serce platformy:

Mikrokontroler i wyprowadzenia

    • Platforma na pojeździe z silnikami, akumulatorem i odbiornikiem podczerwieni:

Pojazd

    • Przykładowy scenariusz użycia- jazda pojazdem na wprost i miganie diodami co pól obrotu silnika (niestety nagrywane komórką, więc migania nie widać bo za mała ilość fps)

Komentarze (3) Trackbacks (1)
  1. bardzo fajny pomysł 😉 życzę powodzenia!

  2. „nie dziękuję”, ale na pewno się przyda 😉


Leave a comment

Poinformuj mnie o nowych komentarzach na e-mail. Możesz także SUBSKRYBOWAĆ ten wpis bez komentowania.