Spy Video Trakr: Lägg till en Lego klo bifogad (7 / 7 steg)
Steg 7: Programmera Trakr
////////////////////////////////////////////
trakrmotorcontrol program för Spy Video TRAKR
Programmet söker igenom för att se om knappen A var
pressade på TRAKR remote och uppsättningar GPC0 hög
och GPC1 låg Skicka aktuella via motor
i riktning framåt / /
Om B-knappen trycks, ställer GPC0 låg
och GPC1 hög att skicka ström genom
motor i omvänd riktning.
///////////////////////////////////////////
#include "svt.h" //include officiella API
#include "JAPI.h" //include "Hemliga sås" API
#define GPC0 (1 << 0) //bitmask för pin GPC0 = 00000001
#define GPC1 (1 << 1) //bitmask för pin GPC1 = 00000010
#define GPC2 (1 << 2) //bitmask för pin GPC2 = 00000100
#define GPC3 (1 << 3) //bitmask för pin GPC3 = 00001000
#define GPC4 (1 << 4) //bitmask för pin GPC4 = 00010000
#define GPC5 (1 << 5) //bitmask för pin GPC5 = 00100000
#define GPC6 (1 << 6) //bitmask för pin GPC6 = 01000000
#define GPC7 (1 << 7) //bitmask för pin GPC7 = 10000000
int keyState; definiera "keystate" som heltal
void Start()
{
JAPI_SetIoOutputMode(GPC0+GPC1); //Set Utläge för stift GPC0 och GPC1
}
bool Run()
{
keyState=GetRemoteKeys(); TRAKR fjärrkontroll nedtryckt
tilldela keystate
om (keyState > 0)
{//if keystate är större än 0
IF(keyState&KEY_INPUT1)
{//Button en pressad (motor framåt)
JAPI_SetIoHigh (GPC0), //Set GPC0 pin hög (3.3V)
} annat {
JAPI_SetIoLow(GPC0); Stänga av pin GPC0
}
IF(keyState&KEY_INPUT2)
{//Button B tryckte (motor bakåt)
JAPI_SetIoHigh (GPC1), //Set GPC1 pin hög (3.3V)
} annat {
JAPI_SetIoLow(GPC1); Stänga av pin GPC1
}
IF(keyState&KEY_HOME)
{//if hem-knappen intryckt
returnera false; Detta kommer att avslutas loopen
}
}
return true; loopen upprepas tills falskt
}
void End()
{//Program avsluta - Stäng av båda stiften
JAPI_SetIoLow(GPC0+GPC1);
}
Skapa fil:
# Makefile för TRAKR leksak
# Trakr projektet
TRACKR_PATH = C:/elinagrip
Programnamn = trakrmotorcontrol
PRETTY_NAME = trakrmotorcontrol
OUTPUT_PATH =. / mellanliggande
OUTPUT_NAME = $(OUTPUT_PATH) / $(programnamn) Elf
INTERNALS_PATH =... / Internals
KÄLLOR = app.c
S_OBJECTS = $(OUTPUT_PATH)/app.o
OBJEKT = $(S_OBJECTS) $(INTERNALS_PATH)/trakr.a
SHELL = sh
CC = arm-elf-gcc
SOM = arm-elf-as
BIN = arm-elf-ld
LD = arm-elf-ld
TOPMEMORY = 0XFFE7C000
CFLAGS = - O0-JAG... / Internals/Include-jag... / Internals-vägg - 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,-karta -Wl, $(basename $ - nostartfiles-static
alla: prebuild $(OUTPUT_NAME) postbuild
$(OUTPUT_NAME): $(OBJECTS)
"Länka... "
"Skapa filen $
-u _start -o $@ $(INTERNALS_PATH)/trakr_start.a $(OBJECTS) $(TARGET_FLAG) $(LDFLAGS)
$(OUTPUT_PATH)/app.o:app.c Makefile
"Sammanställa $<"
-c -o "$" $< "$(TARGET_FLAG) $(CFLAGS)
. FALSKA: Rengör prebuild postbuild
ren:
$(RM) -f $(programnamn) .bin
$(RM) -f "$(PRETTY_NAME) .bin"
$(RM) -f $(OUTPUT_PATH)/app.o
$(RM) -f $(OUTPUT_NAME)
$(RM) -f $(MKDEPFILE)
postbuild:
arm-elf-objcopy - O binära $(OUTPUT_NAME) "$(PRETTY_NAME) .bin"
[ -d "E:/" ] ; sedan \
CP "$(PRETTY_NAME) .bin" e:/APPS /; \
Fi
prebuild:
# Slut på Makefile
När du kompilerar ovanstående kod med ovanstående gör fil, detta kommer att skapa en Trakr App fil som heter "trakrmotorcontrol.bin" och filen måste kopieras till Trakr. Se till att Trakr är avstängd och Anslut den till din dator med den gula USB-kabeln som följde med Trakr. Kopiera trakrmotorcontrol.bin till mappen APPS i mappen Trakr. Koppla bort Trakr från datorn och slå Trakr på. Växla Trakr remote på, klicka på hem-knappen och välj trakrmotorcontrol på menyn. Använd den Trakr remote contol för att köra Trakr på objektet som du vill ta. Syftet med Lego klo tillbehöret att stänga runt objektet du vill ta tag i och tryck på knappen A på fjärrkontrollen för att ta tag i objektet. Med att invända hölls i jordluckraren, köra Trakr till den plats du vill föra knappen objekt och tryck på B på fjärrkontrollen för att öppna klo och släppa objektet.
Grattis! I detta Instructable du lärt dig hur du lägger till en Lego klo anknytning till Spy Vidoe Trakr. Du lärt dig hur du hämtar och installerar C language compiler för Trakr. Du lärt dig hur man installerar bygelstift på den Trakr kretskort att styra externa enheter såsom Lego klo tillbehöret. Du lärt dig hur du lägger till en gemensam grund och 9 volt power tap för Trakr hacka projekt. Du lärt dig hur man bygger en mångsidig lastutrymmet för Trakr av Lego. Du lärt dig hur man bygger Lego klo tillbehöret. Du lärt dig hur du ansluter Lego jordluckraren till Trakr. Slutligen du lärt dig hur man programmerar Trakr att driva din Lego klo anknytning.