Hacking the Spy Video Trakr III: Stwórz robota Grabber z Legos, Snap Circuits i Spy Video Trakr: 21 kroków

Hacking the Spy Video Trakr III: Stwórz robota Grabber z Legos, Snap Circuits i Spy Video Trakr: 21 kroków

Spisu treści:

Anonim

W tym podręczniku zademonstruję, jak używać Legos, Snap Circuits i Spy Video Trakr, aby stworzyć zdalnie sterowanego bota grabber. Pokażę, jak pobrać i zainstalować kompilator języka C dla Trakra. Następnie wyjaśnię, jak skompilować prosty program i zainstalować go na Trakr, a następnie uruchomić ten prosty program. Następnie zademonstruję, jak otworzyć Trakr, podłączyć zworki do połączeń GPIO na płytce drukowanej Trakra. Po zainstalowaniu kołków zworowych pokażę Ci, jak podłączyć zasilacz trakrowy o napięciu 9 V i wykonać kable połączeniowe do obwodów Snap i silnika Lego. Ramię grabberu Lego będzie musiało być zamontowane na Trakrze, więc pokażę ci, jak podłączyć talię ładunków wykonaną z Legos. Na koniec przekażę ci kod języka C, który możesz skompilować i zainstalować na Trakrze, aby obsługiwał zdalnie sterowanego bota grabbera.

Spy Video Trakr to zdalnie sterowany robot wyposażony w mikrofon i kolorową kamerę wideo, głośnik, diodę LED w bliskiej podczerwieni do widzenia w nocy, gniazdo kart pamięci SD do nagrywania audio / wideo i 8 MB pamięci wbudowanej do przechowywania do pobrania i zaprojektowane przez użytkownika programy. Pilot zdalnego sterowania ma dźwignie sterujące do sterowania robotem, głośnikiem i kolorowym wyświetlaczem wideo, dzięki czemu można słyszeć dźwięk odbierany przez mikrofon i wyświetlać wideo przesyłane przez kamerę, a także kilka przycisków funkcyjnych, które można wykorzystać do sterowania dodatkowym programem funkcje programów zaprojektowanych przez użytkownika.

Zagłosuj na to Instruktażowe, „Zrób Grabber Bot z Legos, Snap Circuit i Spy Video Trakr” w konkursie Toy Challenge. Przejdź na stronę http://www.instructables.com/contest/toy2/?show=ENTRIES i kliknij przycisk głosowania (może być konieczne przewinięcie kilku stron, aby je znaleźć).

Stworzyłem ten Instruktaż specjalnie, aby wziąć udział w konkursie Toy Challenge. Ostatnio zainteresowałem się hackowaniem zabawek, o czym świadczą liczne opublikowane przeze mnie instrukcje dotyczące hakowania Spy Video Trakr:

www.instructables.com/member/KRA5H/

Opublikowałem te hacki z nadzieją, że zainspiruję innych właścicieli Trakr do wymyślenia własnych nowych hacków dla ich Trakrerów (i mam nadzieję, że opublikują Instuctable na temat ich włamań, abym mógł też spróbować).

Jestem bardzo zainteresowany hakowaniem Parrot AR Drone. Niestety, nie mogę sobie pozwolić na zakup AR Drone, ani iPada, ani iPhone'a - nawet iPoda, który mógłby służyć jako pilot do Drona. Oczywiście mam nadzieję wygrać główną nagrodę w konkursie Toy Challenge, więc mogę mieć szansę na włamanie do AR Drone.

Kieszonkowe dzieci:

Krok 1: Pobierz i zainstaluj kompilator języka C dla Trakra

Co to jest kompilator? Czy widzieliście te dziwaczne koszulki, które mówią: „na świecie jest tylko 10 rodzajów ludzi: ci, którzy rozumieją binarnie, i ci, którzy nie rozumieją?” Jeśli okaże się, że drapiesz się po głowie zamiast śmiać się histerycznie, nie rozumiesz binarnie. Komputery natomiast rozumieją tylko binarnie. 1s i 0s. Sporadycznie.

Słyszałem o niektórych ludziach, którzy potrafią wykonywać kod binarny lub język maszynowy w swoich głowach, ale reszta z nas, normalnych ludzi, miałaby trudności z napisaniem programu komputerowego z niczego poza 1s i 0s. Zamiast tego używamy języka wyższego poziomu, takiego jak język C, do pisania oprogramowania.

Czy byłeś kiedyś w obcym kraju i nie znałeś języka? Możesz wynająć tłumacza, aby przetłumaczył to, co mówisz, na język zrozumiały dla mieszkańców. Tak robi kompilator. Komputery nie mogą zrozumieć języka C, dlatego kompilator tłumaczy oprogramowanie, które piszesz w języku C na kod maszynowy, lub 1s i 0s, które komputery mogą zrozumieć.

Musisz pobrać i zainstalować kompilator języka C, aby móc pisać programy dla Trakra i kompilować oprogramowanie w języku maszynowym, który Trakr może zrozumieć. Kompilator języka C jest dołączony do całkiem kompletnego zestawu programistycznego (SDK), który ludzie z Wild Planet nazywają „Primerem”. Więc pobierz Primer i zapisz go na swoim komputerze, gdzie będzie łatwo go znaleźć, klikając poniższy link:

www.spygear.net/help/files/TRAKR_APP_PRIMER_V1.2.zip

Krok 2: Pobierz i zainstaluj kompilator języka C dla Trakra (kontynuacja)

Utwórz nowy folder w katalogu głównym dysku twardego (zazwyczaj dysk C:) o nazwie C: rakr. Następnie otwórz plik zip Trakr Primer pobrany ze strony internetowej Trakr i skopiuj wszystkie pliki i foldery z pliku zip Trakr Primer do folderu C: rakr.

Krok 3: Pobierz i zainstaluj kompilator języka C dla Trakra (kontynuacja)

(Zrzut ekranu dzięki uprzejmości Wild Planet)

Następnie musisz zaktualizować zmienne środowiskowe, tak aby zawierały ścieżkę do kompilatora i narzędzi Primera. Jeśli nie wiesz, jakie są zmienne środowiskowe, nie martw się, po prostu mówisz komputerowi, gdzie ma znaleźć kompilator i narzędzia, których potrzebuje do skompilowania programów Trakr.

Otwórz wiersz polecenia, który jest interfejsem opartym na tekście systemu Windows. Przejdź do Start-> Programy-> Akcesoria-> Wiersz polecenia. Pojawi się migający kursor po „>” i możesz wpisywać polecenia tekstowe. Po zakończeniu wpisywania polecenia naciśnij klawisz Enter na klawiaturze, aby wykonać polecenie. W wierszu polecenia wpisz następujące polecenia:

cd trakr

Ustawiać

cd Internals

Krok 4: Pobierz i zainstaluj kompilator języka C dla Trakra (kontynuacja)

(Zrzut ekranu dzięki uprzejmości Wild Planet)

Kompilator działa, gdy wpiszesz „make” w wierszu polecenia, więc musisz się upewnić, że przechodzisz do folderu, w którym znajduje się makefile, który chcesz uruchomić. Kompilator wykonuje następnie instrukcje zawarte w tym pliku „makefile”, aby przekonwertować plik „app.c” (plik tekstowy zawierający kod źródłowy) na program TRAKR.

Kompilator szuka tylko pliku „app.c” w bieżącym folderze, dlatego zawsze nazwij kod źródłowy app.c. Zapisz swoje programy w osobnych folderach z nazwami, które mają sens. Pomaga to zorganizować wszystkie różne pliki „app.c”. Jak pokazano na zrzucie ekranu, będziesz chciał uruchomić „make clean” w folderze C:rakr Wewnętrzne. Zgłasza wszystkie pliki, które usuwa, zanim zwróci monit do Ciebie. Następnie wpisz „make” w wierszu polecenia, a kompilator użyje „makefile”, aby zebrać wszystkie części twojego programu (które mogą zawierać wiele bibliotek, obrazów i plików określonych przez twój kod) do pliku.bin, aby napisać do Sprzęt TRAKR.

W wierszu polecenia „C:rakr Internals” ”wpisz:

czyścić

robić

Twój nowo skompilowany program lub aplikacja na Trakr nazywa się „Test.bin” i plik będzie musiał zostać skopiowany do Trakra. Upewnij się, że Trakr jest wyłączony i podłącz go do komputera za pomocą żółtego kabla USB dołączonego do Trakra. Skopiuj plik Test.bin do folderu APPS w folderze Trakr. Odłącz Trakr od komputera i włącz Trakr. Włącz pilota Trakr, kliknij przycisk home i wybierz Test z menu. To tylko mała aplikacja, która testuje wszystkie różne funkcje, które może wykonywać Twój Trakr, takie jak testy silnika, funkcje ekranu i tak dalej.

Krok 5: Zainstaluj szpilki hedera na płytce drukowanej Trakr

(Zdjęcie dzięki uprzejmości CPT Hans)

W tej sekcji pokażę ci, gdzie zainstalować szpilki nagłówka w połączeniach ogólnego przeznaczenia / wyjścia (GPIO) na płytce drukowanej Trakra. Potrzebne będą następujące elementy:

1 40-pinowy headder. Sparkfun część # PRT-00116 (1,50 USD).

1 słoik kleju drucianego. Think Geek (3,99 USD).

Przecinak do drutu. Jest tylko 9 połączeń GPIO, więc będziesz chciał wyciąć 9 pinów z nagłówka i zaoszczędzić resztę na inne projekty.

Śrubokręt krzyżakowy, rozmiar 1 (pasuje do łączników o rozmiarach 2-4).

Toothpics do nakładania Wire Glue

Krok 6: Zainstaluj szpilki hedera na płytce drukowanej Trakr (ciąg dalszy)

(Photo coutesy of CPT Hans)

Zdejmij tylną pokrywę z Trakra.

Krok 7: Zainstaluj szpilki hedera na płytce drukowanej Trakr (ciąg dalszy)

(Zdjęcie dzięki uprzejmości CPT Hans)

Złóż antenę, a następnie odwróć Trakr, abyś mógł dostać się do śrub, które łączą obudowę Trakra. Użyj śrubokrętu Philips, aby usunąć śruby zakreślone na obrazku. Śruba oznaczona gwiazdką jest mniejsza niż reszta, pamiętaj, aby umieścić ją z powrotem w tym samym otworze podczas ponownego składania Trakra.

Krok 8: Zainstaluj szpilki hedera na płytce drukowanej Trakr (ciąg dalszy)

(Zdjęcie dzięki uprzejmości CPT Hans)

Po usunięciu śrub ostrożnie podnieś górną pokrywę Trakr. Z pokrywy są przewody, które są podłączone do płytki drukowanej, a na niej znajduje się emblemat „Spy Gear”, który wypadnie. Nie zapomnij umieścić go z powrotem, kiedy ponownie połączysz Trakra.

Krok 9:

(Zdjęcie dzięki uprzejmości CPT Hans)

Są to przewody, które są podłączone od pokrywy do płytki drukowanej. Złącza przewodów są modułowe, ale aby Trakr był bardziej wytrzymały, złącza zostały sklejone. Jest to irytująco mocny klej. Spróbowałem zarówno zmywacza do wcierania alkoholu, jak i zmywacza do paznokci, ale żaden nie był w stanie rozpuścić kleju. Musiałem więc użyć mojego scyzoryka do przecięcia kleju.

Na złączu mikrofonu myślałem, że odciąłem cały klej, ale przypadkowo wyciągnąłem cały łącznik z płytki drukowanej, pozostawiając szpilki wystające z płyty. Łatwo było ponownie podłączyć podłączone do odsłoniętych szpilek, ale ponieważ złącze mikrofonu ma stronę plus i minus, musiałem pamiętać o ponownym podłączeniu go z powrotem w pierwotnej orientacji na płytce drukowanej (lub mogło usmażyć mikrofon).

Krok 10: Zainstaluj szpilki hedera na płytce drukowanej Trakr (ciąg dalszy)

(Zdjęcie dzięki uprzejmości CPT Hans)

Zobaczysz dwa zestawy połączeń na obwodzie. Mniejszy zestaw to połączenia Joint Test Action Group (JTAG) i są oznaczone jako „Jack4”. Zignoruj ​​je na razie (jeszcze nie wiesz, z czego korzystać).

Jack3 to miejsce, w którym włożysz 9 pinów nagłówka. Połączenia GPIO są oznaczone GPCO przez GPC7. Będziesz używać GPC) i GPC1 do tego włamania. Zauważysz, że sworznie główki pasują dość dokładnie do otworów GPIO i przez chwilę nie zadawałem sobie trudu, aby je przylutować, ale w końcu po wypróbowaniu kilku włamań otwory GPIO będą zużywać się, co spowoduje przerwanie połączenia ze szpilkami nagłówka.

Użyj wykałaczki, aby zastosować Klej do drutu do otworów GPIO na płytce drukowanej. Używaj tylko tyle, aby przykleić szpilki nagłówka do płyty, uważając, aby klej nie tworzył zwarcia między otworami GPIO (odpowiednik „mostka lutowniczego”).

Krok 11: Obwody zatrzaskowe Przewód rozruchowy 9V Akumulator Stuknij

Silnik Lego dla ramienia chwytaka wymaga 9 woltów. Ponieważ zamierzam podłączyć 9 V do bloku H-Bridge Snap Circuits, ta część hacku będzie wymagać:

2 Red Snap Circuits Jumper Wire C&S Sales Part # 6SC J1 (0,85 USD każda)

2 Red Snap Circuits Jumper Wire C&S Sales Part # 6SC J2 (0,85 USD każda)

Układ sterowania silnikiem dla Snap Rover Część # 6SC U8 19,95 USD

Przecinak do drutu

Ściągacze izolacji

Rurka termokurczliwa lub taśma elektryczna

Przeciąć czerwony przewód połączeniowy na pół i rozłożyć około ćwierć cala izolacji z jednego z drutów. Zapisz drugą połowę drutu.

Wytnij czarny przewód połączeniowy na pół i rozłóż na około ćwierć cala izolacji z jednego z drutów. Zapisz drugą połowę drutu.

Możesz przylutować lub skleić czarny drut łączący połówki obwodu Snap Circuit z ziemią lub ujemnym punktem lutowania na płytce drukowanej Trakra. Jest to miejsce, w którym czarny drut z akumulatora jest przylutowany do płytki drukowanej Trakra.

Możesz przylutować lub skleić czerwony drut łączący połówki obwodu Snap Circuit do 9 V lub dodatniego punktu lutowniczego na płytce drukowanej Trakra. Jest to miejsce, w którym czerwony przewód z akumulatora jest przylutowany do płytki drukowanej Trakra.

Krok 12: Lego Payload Deck

Jest to pokład ładunkowy, który wykonałem z belek Lego Technic.

Odkryłem, że osie poprzeczne Lego pasują dokładnie do otworów montażowych dla plastikowego pokładu ładunkowego dołączonego do Trakra.

Otwory w belkach Lego Technic są bardzo uniwersalne i pozwalają mi zamontować wiele rodzajów urządzeń zewnętrznych.

Krok 13: Złącze sworznia hedera

Następnie będziesz potrzebował sposobu na podłączenie przewodów do pinów nagłówka. Mam diodę LED ze starego komputera. Dioda LED była diodą wskaźnika dysku twardego. Jako przykład podłączyłem diodę LED do styków GPC0 i GPC1.

Krok 14: Utwórz kable do konwersji

Następnie zrobiłem złącze szpilkowe do kabla konwersyjnego Snap Circuits Jumper Wire (lewa strona zdjęcia). Odciąłem przewody od diody LED i usunąłem około ćwierć cala izolacji z każdego drutu. Zdjąłem około ćwierć cala izolacji z czerwono-czarnych połówek drutu zworki Snap Cicuit, które pozostały z kranu akumulatora Trakr o napięciu 9 V, skręciliśmy razem przewody, przykleiłem je drutem i pokryłem je rurką termokurczliwą, aby zapobiec zwarciom z odsłoniętego drutu.

Aby połączyć złącze Lego Technic Motor z kablem konwersyjnym Snap Circuits (prawa strona zdjęcia), przeciąłem drugi zestaw czerwonych i czarnych przewodów łączących Snap Circuits na pół i usunąłem z nich około ćwierć cala izolacji. Przeciąłem złącze Lego Technic Motor, podzieliłem przewody łączące na pół na około centymetry i zdjąłem około ćwierć cala izolacji z każdego przewodu. Skręciłem przewody (jeden czarny i jeden czerwony). Skleiłem je drutem i pokryłem je rurką termokurczliwą, aby zapobiec zwarciom z odsłoniętego drutu.

Możesz zastąpić taśmę eliptyczną, jeśli nie masz żadnej rurki termokurczliwej.

Krok 15: IC Sterowanie obwodami silnika zatrzaskowego (mostek H)

Jest to uproszczony mostek H. Silnik w środku jest połączony z 9-woltowym zasilaniem Trakr i uziemiony przez cztery przełączniki (S1, S2, S3 i S4). Gdy wszystkie cztery wyłączniki są wyłączone, silnik nie otrzyma żadnej mocy i silnik nie obróci się. Przełączniki można włączać parami: S1 i S4 lub S3 i S2, aby umożliwić przepływ prądu z baterii 9 V Trakra przez silnik do ujemnego lub masowego Trakra.

Krok 16: Sterowanie silnika IC obwodów zatrzaskowych (mostek H) Ciąg dalszy

Jeśli zamkniesz przełączniki S1 i S4, prąd przepłynie przez silnik i obróci się w jednym kierunku.

Jeśli zamkniesz przełączniki S3 i S2, prąd przepłynie przez silnik i obróci się w przeciwnym kierunku.

Mostek H to bardzo prosty obwód. Niestety niepraktyczne byłoby używanie ręcznych przełączników do napędzania silnika z Trakra. Kilka firm produkuje układy scalone z mostkiem H (IC), które są łatwe w użyciu, po prostu przykładając moc do konkretnego sworznia, zwanego również „ustawianiem szpilki”, aby napędzać silnik w jednym kierunku. Odcięcie zasilania do tego kołka i przyłożenie zasilania do innego kołka spowoduje napęd silnika w przeciwnym kierunku. Obwody wewnątrz układów scalonych z mostkiem H są nieco skomplikowane, więc większość ludzi zdecyduje się na użycie układu scalonego z mostkiem H, zamiast budować obwód samodzielnie.

Krok 17: Układy sterowania obwodów silnika IC (mostek H) Ciąg dalszy

To jest IC Motor Control Scap Circuits lub mostek H. W górnej części rysunku widać elektroniczny schemat bloku sterowania silnikiem. W lewym dolnym rogu widać zdjęcie bloku. Dolny środek pokazuje pinezki bloku. A w prawym dolnym rogu znajduje się opis tego, co robi każdy pin.

Następne kroki pokażą, jak podłączyć Trakr do bloku sterowania silnikiem i do silnika Lego na ramieniu chwytaka Lego.

Ramię grabberu Lego, którego użyłem, pochodziło z książki Robota Inwazja Dave'a Johnsona, ale tutaj jest link do szczegółowych instrukcji innego ramienia chwytaka Lego przy użyciu oryginalnych części technicznych Lego Mindstorms (nie NXT):

pille.iwr.uni-heidelberg.de/~mindstorms/data/GrabberArm.pdf

Krok 18: Podłączenie ramienia Lego Grabber

1. Podłącz połowę przewodu łączącego czerwone obwody zatrzaskowe, które są klejone drutem / przylutowane do 9-woltowego (dodatniego) punktu Trakra na płytce drukowanej Trakra, do zatrzasku + (zatrzask dodatni) na IC sterowania obwodami silnika zatrzaskowego.

2. Podłącz połowę przewodu łączącego czarnych obwodów zatrzaskowych, które są klejone drutem / przylutowane do punktu masy (ujemnego) lutu Trakra na płytce drukowanej Trakra, do - zatrzasku (zatrzaśnięcie ujemne) na układzie sterowania silnika obwodu Snap Circuits.

Krok 19: Podłączenie ramienia Lego Grabber (ciąg dalszy)

3. Podłącz silnik Lego do kabla konwersji Snap Circuits do silnika Lego.

4. Z silnika Lego połącz czerwoną zworkę z obwodami Snap Circuit z L + Snap na układzie sterowania silnikiem Snap Circuits.

5. Z silnika Lego podłącz czarną połówkę zworki Snap Circuits do L-Snap na układzie sterowania silnikiem Snap Circuits.

6. Włóż szpilkę nagłówka do kabla konwersji Snap Circuits do pinów GPC0 i GPC1 na płytce drukowanej Trakra.

7. Ze złącza szpilki hedera, podłączyć Połącz czerwoną obwód łączący Snap Circuit z układem sterowania silnika Snap Circuit Snap Circuit.

8. Ze złącza szpilki hedera, podłączyć Podłącz czarny przewód łączący Snap Circuits do złącza LB Snap Circuit Motor Control IC.

Krok 20: Montaż ramienia Lego Grabber

Teraz dodaj talię ładunków Lego do Trakra.

Krok 21: Kod źródłowy

Na koniec przymocuj ramię chwytaka Lego do pokładu ładunku Lego.

Oto kod:

////////////////////////////////////////////

// Sterowanie silnikiem Trakr dla Spy Video TRAKR

// Zaprogramuj skanowanie, aby sprawdzić, czy przycisk A był

// naciśnięty na pilocie TRAKR i ustawia wysoki GPC0

// i niski GPC1, aby wysłać prąd do pin LF w

// Sterowanie silnikiem IC Snap Circuits obraca silnik do przodu

//

// Naciśnięcie przycisku B powoduje ustawienie niskiej wartości GPC0

// i GPC1 high, aby wysłać prąd do pin LF na

// Układ sterowania silnika IC Snap Circuits obraca silnik do tyłu

///////////////////////////////////////////

#include "svt.h" // zawiera oficjalny interfejs API

#include „JAPI.h” // zawiera interfejs API „Tajny sos”

#define GPC0 (1 << 0) // maska ​​bitowa dla pin GPC0 = 00000001

#define GPC1 (1 << 1) // maska ​​bitowa dla pin GPC1 = 00000010

#define GPC2 (1 << 2) // maska ​​bitowa dla pin GPC2 = 00000100

#define GPC3 (1 << 3) // maska ​​bitowa dla pin GPC3 = 00001000

#define GPC4 (1 << 4) // maska ​​bitowa dla pin GPC4 = 00010000

#define GPC5 (1 << 5) // maska ​​bitowa dla pin GPC5 = 00100000

#define GPC6 (1 << 6) // maska ​​bitowa dla pin GPC6 = 01000000

#define GPC7 (1 << 7) // maska ​​bitowa dla pin GPC7 = 10000000

int keyState; // zdefiniuj „keystate” jako liczbę całkowitą

void Start ()

{

JAPI_SetIoOutputMode (GPC0 + GPC1); // Ustaw tryb wyjściowy dla pinów GPC0 i GPC1

}

bool Run ()

{

keyState = GetRemoteKeys (); // Klawisz pilota zdalnego sterowania TRAKR wciśnięty

// przypisz do keystate

if (keyState> 0)

{// jeśli keystate jest większe niż 0

if (keyState i KEY_INPUT1)

{// Przycisk A wciśnięty (silnik do przodu)

JAPI_SetIoHigh (GPC0); // Ustaw wysoki pin GPC0 (3.3V)

} else {

JAPI_SetIoLow (GPC0); // Wyłącz pin GPC0

}

if (keyState i KEY_INPUT2)

{// Przycisk B wciśnięty (silnik do tyłu)

JAPI_SetIoHigh (GPC1); // Ustaw wysoki pin GPC1 (3.3V)

} else {

JAPI_SetIoLow (GPC1); // Wyłącz pin GPC1

}

if (keyState i KEY_HOME)

{// jeśli przycisk Home został naciśnięty

return false; // to zakończy pętlę

}

}

powrót prawda; // pętla będzie się powtarzać aż do false

}

void End ()

{// Koniec programu - wyłącz oba piny

JAPI_SetIoLow (GPC0 + GPC1);

}

Oto plik Make:

# Makefile dla TRAKR Toy

# Projekt Trakr

TRACKR_PATH = C: / Trackr

PROGRAM_NAME = trakrmotorcontrol

PRETTY_NAME = trakrmotorcontrol

OUTPUT_PATH =./Intermediate

OUTPUT_NAME = $ (OUTPUT_PATH) / $ (PROGRAM_NAME).elf

INTERNALS_PATH =../Internals

ŹRÓDŁA = app.c

S_OBJECTS = $ (OUTPUT_PATH) /app.o

OBIEKTY = $ (S_OBJECTS) $ (INTERNALS_PATH) /trakr.a

SHELL = sh

CC = arm-elf-gcc

AS = arm-elf-as

BIN = arm-elf-ld

LD = arm-elf-ld

TOPMEMORY = 0xFFE7C000

CFLAGS = -O0 -I../ Internals / Dołącz -I../ Internals -Wall -gstabs +

TARGET_FLAG = -mcpu = arm926ejs -mapcs-32 -mlittle-endian -specs = specs.semi

LDFLAGS = -T../Internals/WJ_APP_8M.ld -Wl, - defsym -Wl, __ stack_base = $ (TOPMEMORY) -Wl, -Map -Wl, $ (basename $ @). Map -nostartfiles -static

all: wstępnie skompiluj postbuild ($ OUTPUT_NAME)

$ (OUTPUT_NAME): $ (OBIEKTY)

@echo „Łączenie …”

@echo „Tworzenie pliku $ @ …”

@ $ (CC) -u _start -o $ @ $ (INTERNALS_PATH) /trakr_start.a $ (OBJECTS) $ (TARGET_FLAG) $ (LDFLAGS)

$ (OUTPUT_PATH) /app.o:app.c Makefile

@echo „Kompilowanie $ <”

@ $ (CC) -c -o „$ @” ”$ <” $ (TARGET_FLAG) $ (CFLAGS)

.PHONY: czyść postbuild po oczyszczeniu

czysty:

$ (RM) -f $ (PROGRAM_NAME).bin

$ (RM) -f "$ (PRETTY_NAME).bin"

$ (RM) -f $ (OUTPUT_PATH) /app.o

$ (RM) -f $ (OUTPUT_NAME)

$ (RM) -f $ (MKDEPFILE)

postbuild:

arm-elf-objcopy -O binary $ (OUTPUT_NAME) "$ (PRETTY_NAME).bin"

@if -d "E: /"; następnie

cp "$ (PRETTY_NAME).bin" e: / APPS /;

fi

prebuild:


# Koniec pliku Makefile

Kiedy skompilujesz powyższy kod z powyższym plikiem make, utworzy się plik aplikacji Trakr o nazwie „trakrmotorcontrol.bin” i plik będzie musiał zostać skopiowany do Trakra. Upewnij się, że Trakr jest wyłączony i podłącz go do komputera za pomocą żółtego kabla USB dołączonego do Trakra. Skopiuj plik trakrmotorcontrol.bin do folderu APPS w folderze Trakr. Odłącz Trakr od komputera i włącz Trakr. Włącz pilota Trakr, kliknij przycisk home i wybierz z menu trakrmotorcontrol.

Oto film z Trakrem z ramieniem grabego Lego:

player.vimeo.com/video/24143672

Cytując Briana Benchoffa z „Hack A Day”, „Nie jest to zła buda dla tego, co stanowi stos zabawek”.

hackaday.com/2011/11/03/bomb-disposal-robot-with-lego-gripper/

W tym podręczniku zademonstruję, jak używać Legos, Snap Circuits i Spy Video Trakr, aby stworzyć zdalnie sterowanego bota grabber. Pokażę, jak pobrać i zainstalować kompilator języka C dla Trakra. Wyjaśniłem, jak skompilować prosty program i zainstalować go na Trakr, a następnie uruchomić ten prosty program. Następnie zademonstrowałem, jak otworzyć Trakr, podłączyć zworki do połączeń GPIO na płytce drukowanej Trakra. Po zainstalowaniu zworek pokazałem, jak podłączyć zasilacz trakrowy o napięciu 9 V i wykonać kable połączeniowe do układów Snap i silnika Lego. Pokazałem ci, jak dołączyć talię ładunków wykonaną z Legos, aby zamontować ramię chwytaka Lego. W końcu udostępniłem kod języka C, który możesz skompilować i zainstalować na Trakrze, aby obsługiwał zdalnie sterowanego bota grabbera. Szczęśliwy hacking!