Lutowanie dla lamerów

Zrobienie czterośmigłowca z gotowego schematu składa się z pięciu części:

  1. Zlutowania płytki (flight control board)
  2. Złożenia ramy i dołożenia silniczków
  3. Zgraniu oprogramowania
  4. Konfiguracji przed pierwszym lotem
  5. Wybrania sposobu sterowania

A że ja nigdy niczego nie lutowałem, to trochę się bałem (w końcu te części tanie nie były). Dlatego szukałem jakiegoś tutoriala o lutowaniu; najlepiej w formie filmików i na forum majsterkowo.pl znalazłem linki do genialnego tutoriala (po angielsku):

Nauka lutowania

Są trzy filmy na youtube po około pół godziny(!) każdy. Gość ma trochę irytujący głos, ale tłumaczy wszystko jak dla głupiego (czyli na przykład dla mnie).

Dzięki temu udało mi się przylutować dzisiaj pierwsze 4 goldpiny do czujnika 9DOF. Niestety zapomniałem o jednej ogromnie ważnej rzeczy – lampce. Dziureczki są tak malutkie, a cyna tak cienka, że można sobie oczy wypatrzyć nawet przez lupę. To może trochę opóźnić dalsze postępy, ale skoro już mam wszystko, co mi jest potrzebne, to na pewno się za to ostro wezmę.

Advertisements

Zakup części AeroQuad

Zastanawiałem się, czy warto zamawiać części z zagranicy. Większość z nich dostępna jest w polskich sklepach i wystarczyłoby je skompletować. Jednak dwie rzeczy stanowią problem.

Po pierwsze – płytka drukowana. Nigdzie indziej jej nie dostanę, a robienie jej jest czasochłonne. Nie wspominając o tym, że gdyby mi nie wyszło, to w ogóle nie wiedziałbym o tym, bo nie bardzo umiem takie rzeczy testować. Poza tym na oryginalnej płytce zaznaczone są piny, podpisane wyprowadzenia i dziurki wywiercone raz wyżej, a raz niżej (po to, żeby wkładając rząd goldpinów do lutowania, trzymał się bez problemu).

Po drugie – rama, która nie może przenosić drgań silników do elektroniki. Kumpel, który budował czterośmigłowiec od zera, a nie tak jak ja – z gotowca, powiedział, że to była chyba najtrudniejsza rzecz. Dlatego postanowiłem zamówić cały zestaw części.

A kiedy przyszły, dowiedziałem się, że dochodzi jeszcze 23% polskiego VATu, dzięki czemu impreza wyniosła mnie już prawie 2500zł. No ale to moja głupota, że nie przewidziałem tego wcześniej. Po zamówieniu dostałem w końcu radosną wiadomość.

A package was shipped to you on 08/09/2012 via U.S. Postal Service Priority

To jest dziewiąty sierpnia, a nie ósmy września. Paczkę rozpakowałem 22 sierpnia, więc z szybkością dostawy szału nie ma. Zaglądam, rozkładam i oczom nie mogę uwierzyć:

Zamiast ramy o wdzięcznej nazwie “cyclone frame”, dostałem zdublowany zestaw silniczków i śmigiełek. Napisałem natychmiast z reklamacją i po dwóch dniach dostałem odpowiedź, że wyślą mi ramę, jako próbkę komercyjną, dzięki czemu nie będę płacił VATu, ale dopiero jak wymyślą, jak mam bez kosztów własnych odesłać im zdublowane części.

WNIOSKI: Jeśli chcecie robić to sami, to zamówcie z USA tylko płytkę i ramę (albo nawet tylko te jej części, których nie można dostać w sklepie), żeby zapłacić jak najmniej na granicy.

Jak Arduino, to tylko po angielsku…

Jeszcze zanim przyszła do mnie płytka Arduino, postanowiłem zainstalować software i napotkałem na niespodziankę.

Nie bardzo wiedziałem jak to zdebugować, więc sprawdziłem, czy nie uda mi się po prostu uruchomić aplikacji na moim pececie z windows 7. Niestety też mi się nie udało. Na szczęście znalazłem ten post:

Wyskakuje błąd przy uruchamianiu Arduino IDE 1.0.1

Hurra! Na windowsie działa. Sprawdziłem, czy ten trick da coś na macu, ale niestety – nie udało się. Zacząłem więc debugowanie. Aby zobaczyć pełny stack trace wszedłem do folderu Arduino.app/Contents/MacOS  i uruchomiłem znajdujący się tam program ./JavaApplicationStub. Skopiowanie stack trace’a do googla sprowadziło mnie tu:

Arduino: Cannot start Arduino IDE

Prawie na samym końcu strony jest napisane, żeby zmienić ustawienie zmiennej środowiskowej LC_ALL na wartość C, która oznacza, że locale będą się zachowywać tak, jakby nie był ustawiony żaden konkretny język. Jeżeli kiedykolwiek będziecie mieli problem z językami w programie, to warto użyć tej zmiennej.

Teraz uruchamiam Arduino IDE poleceniem:

env LC_ALL=C open Arduino.app

Wygląda na to, że jak Arduino, to tylko po angielsku…

aeroquad

Już kiedy miałem osiem lat, chciałem zbudować latającego robota. Już wtedy z klocków lego, dwóch paluszków i silniczka z zepsutego walkmena zrobiłem autko. Dziś, 15 lat później zabieram się za robienie quadrocoptera, bo nareszcie wydaje mi się to możliwe!

Na stronie aeroquad znajduje się opis wykonania takiego cuda. Mam zamiar wykonać wersję 2.1, ponieważ jest dobrze opisana w manualu na stronie. Pierwszym krokiem jest zakup arduino i zapoznanie się z możliwościami tej płytki.

To tyle na dzisiaj – kolejny wpis, kiedy dostanę przesyłkę z nettigo.

Od zera do web crawlera.

Nadeszła nowa era w edukacji.

Internet coraz bardziej pomaga nam w codziennym życiu. Pomaga nam się komunikować, organizować spotkania, dzielić się zdjęciami oraz ciekawymi informacjami. Teraz przychodzi kolej na edukację. W internecie jak grzyby po deszczu wyrastają nowe kursy internetowe. Czy mogą one pomóc nam w nauce? Jakie są plusy, a jakie minusy, gdy porównamy je z nauką w szkole lub czytaniem książek w domowym zaciszu?

W ostatnim semestrze uczestniczyłem w internetowym kursie na temat sztucznej inteligencji: https://www.ai-class.com/

Jestem nim absolutnie zachwycony! Mam wrażenie, że nauczyłem się o wiele więcej niż na wykładach ze studiów, które poruszały podobną tematykę. Dodatkowo, zajęło mi to mniej czasu i było o wiele przyjemniejsze. Na początku nie rozumiałem do końca tego fenomenu. Wykładowcy na studiach prowadzą zajęcia w ciekawy i w miarę zróżnicowany sposób i nie można powiedzieć, żeby w jakiś sposób ustępowali wiedzą, czy talentem pedagogicznym ludziom, którzy prowadzili kurs sztucznej inteligencji.

To o co chodzi?

Chodzi o formę. Czego potrzebuje ludzki mózg, aby szybko i skutecznie przyswajać wiedzę?

  • odpowiedniego tempa nauki
  • częstej symulacji w postaci pytań lub rozwiązywania problemów
  • ram czasowych
  • motywacji

Niestety tempa nauki nie da się dopasować do każdego ucznia w klasie liczącej trzydzieści osób. Niektórzy myślą, że dopasowanie tempa polega na obniżeniu go do poziomu najwolniejszych uczniów. Nic bardziej mylnego! Jeśli coś dzieje się zbyt wolno, to uczeń się nudzi i przyswaja jeszcze mniej. Kursy internetowe rozwiązują ten problem w prosty sposób: dzielą wykład na wiele krótkich filmów, w których dzieje się w miarę dużo. Jeśli uczeń się nudzi, może przewinąć odcinek. Jeśli sobie nie radzi, może obejrzeć kilka razy trudniejszy fragment i spokojnie się nad nim zastanowić.

Wykład jest najsłabszą możliwą formą przekazywania wiedzy, ponieważ nie dostarcza stymulacji. Właściwszym sposobem nauki są ćwiczenia i powtórki. Pytanie rzucone na salę w trakcie wykładu, natychmiast pobudza śpiących studentów. Pytanie uczniów w trakcie lekcji przynosi lepsze skutki niż tylko na początku. Twórcy kursów interenetowych, co kilka minut zadają pytanie, dzięki któremu można upewnić się, czy właściwie rozumiemy kolejną partię materiału.

Szkoła dostarcza czegoś, czego nie mamy ucząc się samodzielnie w domu – ram czasowych. Ramy czasowe dają nam motywację. Musimy nauczyć się na sprawdzian. Trzeba zrobić zadanie domowe. Powinienem skończyć ten projekt za dwa tygodnie. Nie każdy ma na tyle silną wolę, żeby utrzymać dobre tempo nauki bez żadnych czynników zewnętrznych. Obecnie, kursy internetowe dają nam przedział czasu na wysłuchanie lekcji i odrobienie zadań domowych. Dzięki temu, mamy pewną elastyczność. Możemy słuchać wykładów, kiedy jesteśmy wypoczęci, a nie wtedy, kiedy zbiera się grupa osób. Jednocześnie, mamy motywujące ograniczenie.

No i przechodzimy do tematu motywacji. Jakoś tak się utarło, że oceny w szkole są kojarzone negatywnie. Jak coś zrobisz dobrze, to masz piątkę, ale spróbuj się pomylić, to ja Ci to obniżę! System oceniania jest troszkę inny w kursach interentowych. Kiedy odpowiadamy na pytania w trakcie wykładów, nie musimy się martwić. Nie liczą się do końcowej oceny, więc możemy poeksperymentować. Ponadto nie ma problemu z tym, że nauczyciel pomyśli, że jesteśmy głupi, albo powie: “Gdybyś słuchał/a, to byś wiedział/a”. Zadania domowe polegają na zrobieniu zadań podobnych do tych, które rozwiązywało się w trakcie wykładów, ale tym razem właściwe rozwiązania pojawiają się dopiero pod koniec przedziału czasowego. Zbieramy punkty, a im więcej ich uzbieramy, tym lepiej.

Jest jeszcze kilka rzeczy, których nie wymieniłem. Na przykład filmiki stymulują więcej zmysłów niż książki, co również pozwala zapamiętać więcej i na dłużej.

Trochę się rozpisałem, a to po to, aby zachęcić do uczestnictwa w kursach, które sam przetestowałem:

Ostatni z powyższych linków, nie jest typowym kursem, ponieważ nie posiada ram czasowych. Można go traktować trochę, jak bibliotekę z podręcznikami.

Jeśli ktoś kliknął w powyższe linki może zobaczyć, że wszystkie te kursy mają jedną wadę. Są po angielsku. Niestety, w dzisiejszych czasach znajomość języka angielskiego trzeba uznać za coś tak niezbędnego, jak umiejętność czytania i pisania.

Interdyscyplinarność

Dzisiaj na uczelni wysłuchałem wykładu profesora Sloota na temat:

“How to become a specialist when computer science is ubiquitous”

Odpowiadział na to pytanie pokazując nam, nad czym sam pracuje. Według niego najważniejsze jest pracować interdyscyplinarnie. Komputer ma być dla informatyka narzędziem, które wykorzysta przy prowadzeniu badań w dziedzinach nie związanych z informatyką. Według niego, przyszłość stanowi stworzenie nowych w pełni dyskretnych modeli do opisu zjawisk występujących w medycynie, czy też w kontaktach międzyludzkich.

http://staff.science.uva.nl/~sloot/

Wstęp do informatyki

Witam!

Jestem studentem czwartego roku informatyki na wydziale EAIiE na AGH. Mieszkam już czwarty rok w akademiku, gdzie poznałem już masę ciekawych ludzi. Parę dni temu okazało się, że za ścianą mieszka studentka pierwszego roku informatyki. Jedną z pierwszych rzeczy, jakie od niej usłyszałem, było zdanie:

“Na stronie informatyki znalazłam sylwetki absolwentów, którzy pisali <<Już od gimnazjum programuję>> i zastanawiam się teraz, co ja tu właściwie robię?”

Sam zaczynałem podobnie. Lekcje informatyki w liceum, do którego chodziłem, były prowadzone na bardzo marnym poziomie, więc przed rozpoczęciem studiów nigdy nie napisałem żadnego programu. Nie wydaje mi się, żebym miał z tego powodu trudniej na pierwszym roku studiów. Jednak przyszło mi do głowy, że gdybym wiedział kilka bardzo prostych rzeczy (nie dotyczących programowania), to byłoby mi o wiele prościej. Oto one:

  1. Zacznij używać linuxa.
  2. Ucz się przez szybkie, krótkie ćwiczenia.
  3. Zacznij uczyć się konsolowych edytorów: vim oraz emacs.
  4. Matmy ucz się często, a nie długo.
  5. Ucz się wielu rzeczy na pamięć.
  6. Używaj latexa.

Ad 1. Pierwszą dystrybucją linuxa, którą zainstalowałem, był linux Ubuntu. Polecam ją każdemu, kto dopiero zaczyna swoją przygodę z linuxem. Zainstaluj ją, a następnie w miarę możliwości staraj się coraz więcej czynności wykonywać wyłącznie za pomocą tekstowego terminala. Biegłość w posługiwaniu się komendami szybko zaprocentuje. Ja niestety zacząłem używać linuxa jako swojego “głównego” systemu operacyjnego dopiero na drugim roku studiów. Trochę tego żałowałem, bo teraz już wiem, że wiele traciłem i nie byłem tego do końca świadom.

Ad 2. Na pierwszych ćwiczeniach z WDI (tytułowy Wstęp do informatyki) dostaliśmy polecenie: “Na następny raz nauczcie się Pascala”. Wielu z nas w przerażeniu myślało: “Mieli nas tu uczyć programować, a mamy się tego nauczyć sami?”. Programowanie jest trudne, ale uczenie się składni języka programowania nie jest, a o to właśnie chodziło prowadzącym. Znajdź tutorial, który uczy składni Pascala. Zainstaluj pod swoją dystrybucją linuxa kompilator i spróbuj wykonać kilka zadań oznaczonych jako łatwe ze strony: http://pl.spoj.pl/problems/latwe/. Jedno zadanie dziennie da Ci biegłość w składni, która przyda się, kiedy trzeba będzie zapisać algorytm.

Ad 3. Jeśli chcesz pisać dużo na komputerze, musisz nauczyć się pisać wszystkimi palcami, prawda? Wszystkimi palcami pisze się szybciej i nie trzeba zerkać na klawiaturę. Ale często uczenie się pisania wszystkimi palcami mocno nas spowalnia przez pewien okres czasu. Mieliśmy biegłość w używaniu czterech, czy sześciu palców, a tu trzeba się przestawić. Niedługo później piszemy tak szybko jak wcześniej, a potem jeszcze szybciej. Po co ten cały wstęp? Posługiwanie się edytorem konsolowym oraz terminalem jest dość trudne, ale opanowanie tych umiejętności jest bardzo przydatne. A im wcześniej zaczniesz się uczyć, tym szybciej zdobędziesz biegłość.

Ad 4 oraz 5. Osoby, które odpadły na egzaminach z matmy po pierwszym roku naszego kierunku mówią, że uczymy się samej matmy i teorii programowania. Rzeczywiście pierwszy rok jest przesycony matematyką, której sensu na początku nie widać. Wielu z nas nigdy nie policzyło całki powierzchniowej po tym, jak zdali egzamin z analizy. Jednak te podstawy matematyczne często przydają się do zrozumienia bardziej zawiłych konceptów, a w dodatku przedmioty matematyczne stanowią większość punktów ECTS, które można zdobyć na pierwszym roku.

I tu wielu ludzi, którzy mieli świetne wyniki z matury z matematyki wykłada się, ponieważ nie umieją się uczyć matematyki. W liceum najczęściej w ogóle nie musieli, bo to, co powiedział nauczyciel wystarczyło im do zrozumienia tematu. Na studiach matematyki jest więcej i często trzeba nauczyć się wielu rzeczy na pamięć.

“Zwariowałeś? Nie będę rył matmy na pamięć!!!”

Owszem, trzeba zrozumieć to, czego się uczyć, ale na kolokwium nie będzie czasu na wyprowadzanie wszystkich twierdzeń i ich założeń. Niektóre trzeba znać i już. Podobnie jest ze schematami rozwiązywania zadań. Jeżeli chcesz się tego nauczyć, to rób to codziennie. Lepeiej siąść nad tym codziennie po godzinie, niż na 6 godzin dzień przed kolosem. Jeśli lubisz uczyć się w większym gronie, warto zrobić kilka zadań wspólnie. To bardzo pomaga.

Wydrukuj sobie wykłady z matematyki i przejrzyj je pobieżnie przed wykładem. Czas przeznaczony na notowanie przeznaczysz na pierwszą próbę zrozumienia wykładu.

Ad 6. Latex to oprogromawoanie, dzięki któremu pisanie sprawozdań przestanie być uciążliwe. Wklepywanie chorych wzorków do worda można zastąpić o wiele prostszym opisem tego, co chcemy uzyskać. Tej samej składni używają również fora, na których umieszcza się wzory matematyczne.
Mam nadzieję, że te kilka rad komuś się przyda. :) Żadna z wymienionych tutaj rzeczy nie jest niezbędna do zaliczenia studiów. Są to tylko małe tricki ułatwiające życie.