Hacking the Spy Video Trakr III: Maak een Grabber Bot uit Legos, Snap Circuits en de Spy Video Trakr (21 / 21 stap)

Stap 21: Broncode


Tot slot hecht de Lego grabbelen arm tot het Lego payload dek.

Hier is de code:

////////////////////////////////////////////
Trakr motorische controle voor Spy Video TRAKR
Programma scant om te zien als knop A was
gedrukt op TRAKR externe en sets GPC0 hoog
en GPC1 laag aan huidige verzenden de LF pin op de
Snap Circuits Motor Control IC truning de motor uit
//
Als de knop B wordt ingedrukt, daarin GPC0 laag
en GPC1 hoge huidige verzenden naar de LF pin op de
Snap Circuits Motor Control IC truning de omgekeerde motor
///////////////////////////////////////////

#include "svt.h" //include officiële API
#include "JAPI.h" //include "Geheime saus" API

#define GPC0 (1 << 0) //bitmask voor pin GPC0 = 00000001
#define GPC1 (1 << 1) //bitmask voor pin GPC1 = 00000010
#define GPC2 (1 << 2) //bitmask voor pin GPC2 00000100 =
#define GPC3 (1 << 3) //bitmask voor pin GPC3 00001000 =
#define GPC4 (1 << 4) //bitmask voor pin GPC4 00010000 =
#define GPC5 (1 << 5) //bitmask voor pin GPC5 00100000 =
#define GPC6 (1 << 6) //bitmask voor pin GPC6 01000000 =
#define GPC7 (1 << 7) //bitmask voor pin GPC7 10000000 =

int keyState;                    define "keystate" als geheel getal

VOID Start()
{
JAPI_SetIoOutputMode(GPC0+GPC1); //Set uitvoermodus voor PIN GPC0 en GPC1
}
BOOL Run()
{
keyState=GetRemoteKeys();    TRAKR-toets van de afstandsbediening ingedrukt
toewijzen aan keystate
Als (keyState > 0)
{//if keystate groter is dan 0
if(keyState&KEY_INPUT1)
{//Button een geperst (motor uit)
JAPI_SetIoHigh (GPC0), //Set GPC0 pin high (3,3 v)
} else {}
JAPI_SetIoLow(GPC0); Schakel pin GPC0
}
if(keyState&KEY_INPUT2)
{//Button B ingedrukt (motor omgekeerde)
JAPI_SetIoHigh (GPC1), //Set GPC1 pin high (3,3 v)
} else {}
JAPI_SetIoLow(GPC1); Schakel pin GPC1
}
if(keyState&KEY_HOME)
{//if thuisknop ingedrukt
return false;           Dit zal het einde van de lus
}
}
return true;                 lus zal herhalen tot vals
}
VOID End()
{//Program einde - Schakel beide pins
JAPI_SetIoLow(GPC0+GPC1);
}

Hier is het bestand maken:

# Makefile voor TRAKR speelgoed
# Trakr Project

TRACKR_PATH = C:/Trackr
Programmanaam = trakrmotorcontrol
PRETTY_NAME = trakrmotorcontrol
OUTPUT_PATH =. / Intermediate
OUTPUT_NAME = $(OUTPUT_PATH) / $(programmanaam) elf
INTERNALS_PATH =... / Internals

BRONNEN = app.c
S_OBJECTS = $(OUTPUT_PATH)/app.o

OBJECTEN = $(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-IK... / Internals/Include-ik... / Internals-wand - 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,-kaart -Wl, $(basename $ - nostartfiles-static

alle: voorbereidende build maken van $(OUTPUT_NAME) postbuild

$(OUTPUT_NAME): $(OBJECTS)
"Link... "
"Het creëren bestand $
-u _start -o $@ $(INTERNALS_PATH)/trakr_start.a $(OBJECTS) $(TARGET_FLAG) $(LDFLAGS)

$(OUTPUT_PATH)/app.o:app.c Makefile
"Samenstellen van $<"
-c -o "$" $< "$(TARGET_FLAG) $(CFLAGS)

. NEP: schoon prebuild postbuild

schoon:
$(RM) -f $(programmanaam) .bin
$(RM) -f "$(PRETTY_NAME) .bin"
$(RM) -f $(OUTPUT_PATH)/app.o
$(RM) -f $(OUTPUT_NAME)
$(RM) -f $(MKDEPFILE)

postbuild:
kunnen worden arm-elf-objcopy - O binaire $(OUTPUT_NAME) "$(PRETTY_NAME) .bin"
[ -d "E:/" ] ; vervolgens \
CP "$(PRETTY_NAME) .bin" e:/APPS /; \
fi
voorbereidende build maken van:

# Einde van Makefile

Wanneer u compileert de bovenstaande code met het bovenstaande bestand maken, hierdoor ontstaat een Trakr App bestand met de naam "trakrmotorcontrol.bin" en het bestand moet worden gekopieerd naar de Trakr. Zorg ervoor dat de Trakr uitstaat en aansluiten op uw computer met behulp van de gele USB-kabel die bij de Trakr. Kopieer trakrmotorcontrol.bin naar de APPS-map in de map Trakr. De Trakr van de computer loskoppelt en zet de Trakr. Schakel de externe Trakr, klik op de home-knop en selecteer trakrmotorcontrol uit het menu.

Hier is een video van de Trakr met de Lego grabbelen arm:

http://Player.Vimeo.com/video/24143672

Brian Benchoff citeer uit Hack A Day, "Niet een slechte bouwen voor wat op een stapel van speelgoed neerkomt."

http://hackaday.com/2011/11/03/Bomb-Disposal-Robot-with-Lego-gripper/

In dit instructable zal ik laten zien hoe Legos, Snap Circuits en de Spy Video Trakr kunt maken van een externe gecontroleerde grabbelen bot. Ik zal het downloaden en installeren van de taal C compiler voor de Trakr aangetoond. Ik heb uitgelegd hoe een eenvoudige programma compileren en installeren op het Trakr en voer dit eenvoudige programma. Vervolgens ik aangetoond hoe de Trakr openstellen, jumperpinnen hechten aan de GPIO-aansluitingen op de printplaat van de Trakr. Met de jumperpinnen geïnstalleerd toonde ik u hoe het aanboren van de voeding van 9 volt van de trakr en maken verbindingskabels verbinden Snap Circuits en de Lego motor. Daarbij toonde ik u hoe u koppelt een dek van de nettolading uit Legos te monteren de Lego grabbelen arm gemaakt. Tot slot voorzien ik u de C-taalcode die u kunt compileren en installeren op het Trakr te bedienen de extern gecontroleerde grabbelen bot. Happy hacking!

Gerelateerde Artikelen

Hacking the Spy Video Trakr II

Hacking the Spy Video Trakr II

In de vorige Instructable, "Hacking the Spy Video Trakr" ( hebt u geleerd het openstellen van de Trakr en installeren van mannelijke headers in de GPIO aansluitingen op de printplaat. Je ook geleerd hoe te schrijven, compileren en installeren va
Maak een kleine crapslijst uit spullen rond het kantoor.

Maak een kleine crapslijst uit spullen rond het kantoor.

Soms ik verveel me op het werk, soms ik graag naar het casino. Nu heb ik bracht het casino om te werken! Nou een beetje klein, klein deel ervan.Maak een kleine crapslijst uit kantoorbenodigdheden (meestal).Stap 1: materialen cardboardlijm stok (of is
Bouwen van een optisch Theremin--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer geïntegreerde schakeling II

Bouwen van een optisch Theremin--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer geïntegreerde schakeling II

In dit Instructable, leert u hoe te verbeteren uw verzameling van Snap Circuits blokken door het toevoegen van een 555 Timer IC en de opbouw van een optisch theremin. Hier leert u de functies van de pinnen op de 555 chip. U leert dat wanneer de 555 i
Maak een Theremin behuizing uit een oude thee Tin

Maak een Theremin behuizing uit een oude thee Tin

dit is een zeer eenvoudig instructable op hoe maak je een koele kijken behuizing voor een zelfgemaakte theremin uit een oude thee tin.Stap 1: Uw theremin klaarmaken Een theremin is een zeer coole muziek-instrument dat u spelen zonder daadwerkelijk aa
Maak een Talking Drum uit trechters

Maak een Talking Drum uit trechters

Talking drums zijn deze koele West-Afrikaanse percussie-instrumenten waar je de snaren knijp rond het midden te wijzigen door de spanning op de hoofden van de trommel en de toonhoogte. Go kijkje op deze geweldige video. IT Wist niet dat een trommel k
Maak een Plasma Globe uit een gloeilamp!

Maak een Plasma Globe uit een gloeilamp!

Hebben u ooit gefascineerd geweest door een plasma globe? Heb je ooit wilde bouwen uw eigen? In dit instructable, ik zal je laten zien hoe maak je een plasma globe uit een gewone gloeilamp!Voordat we dit project aanbrengt, moet ik waarschuwen u van d
Maak een flip-boek uit bijna elke film

Maak een flip-boek uit bijna elke film

de kunst van het spiegelen boeken is zeer oud. En hoewel de meeste van hen nog steeds worden getekend, kunt u een flip boek uit bijna elke film.Dit instructable toont je hoe!Stap 1: Kies een filmTen eerste: Uw eigen film schieten of krijgen van een v
Maak een ontzagwekkende klok uit Sugru + twijgen

Maak een ontzagwekkende klok uit Sugru + twijgen

In de aanloop tot de kerstvakantie dit jaar we delen een geniaal idee per dag, gedurende 24 dagen! (zoiets als een adventkalender) Van ideeën om het huis klaar, tot maken van geweldige geschenken en planning van leuke activiteiten voor de pauze, deze
Maak een hele taart uit vrucht: Berry fruitige taart

Maak een hele taart uit vrucht: Berry fruitige taart

hoe maak je een hele cake uit fruit voor een grote lichte zomer dessert of verjaardagstaart aan alle dieet behoeften.1. Snij een grote ronde van watermeloen om te dienen als de basis, ervoor te zorgen dat de onderkant en bovenkant van de ronde schijf
Maak een Camera rugzak uit een Box

Maak een Camera rugzak uit een Box

We lijken te hebben toegang tot dozen en we proberen te hergebruiken in een of andere manier. Hier is een groovy camera rugzak die we uit een doos en andere materialen die we al thuis hadden gemaakt. Het enige wat dat we gekocht was de riem voor $1.1
Maak een prachtige pennenhouder uit tijdschrift papieren

Maak een prachtige pennenhouder uit tijdschrift papieren

Om deze prachtige pen is houder alle die u nodig tijd en geduld. Rust, ik denk dat u zult hebben al thuis. Zonder mijn ado, gaan laat in het maken.Stap 1: Benodigde materialenMagazine artikelen (ik gebruikte een 8,5 "x 11" magazine-artikelen)Wit
Maak een Dessert Stand uit K'nex!!!

Maak een Dessert Stand uit K'nex!!!

Feest kunnen een blast! Uitnodigen van al uw vrienden en familie om te delen van goed eten, gesprek en entertainment kunt omzetten in een goede dag een grote stap-tenzij u hebt geen plek om te zetten uw voedsel! Uw gehele feest kan zure hebt u niet v
Maak de FEZ karakter uit legos

Maak de FEZ karakter uit legos

ik was op zoek cool pixelart en ik vond dit dus heb ik besloten om het te maken uit legos.Als u niet kunt zien zijn enkel zijn gezicht afmetingen 13 * 7 (haar 13 * 10 als u zijn fez opneemt)Ik gebruikte 2 bij 2 legos als de pixels.Stap 1: dit is de b
Maak een dynamische diavoorstelling van uw snaps met Photo Story 3

Maak een dynamische diavoorstelling van uw snaps met Photo Story 3

Dit is een manier om een mooie .wmv foto slideshow met pannen en zoomen effecten met behulp van vooral gratis software. Ik verwacht dat er zijn eenvoudigere manieren, maar ik kon het niet vinden een instructable over dit onderwerp. Mijn methode gaat