Spy Video Trakr: Lägg till en Missile Launcher (7 / 7 steg)
Steg 7: Programmera Trakr
////////////////////////////////////////////
relaycontrol app 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 hög att skicka ström genom
ett relä elektromagnetisk spole. Detta kommer att
Aktivera reläutgång stängning den
krets av en extern enhet.
///////////////////////////////////////////
#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
JAPI_SetIoHigh(GPC0+GPC1); //Set GPC0 och GPC1 stift hög (3.3V)
} annat {
JAPI_SetIoLow(GPC0+GPC1); Stänga av stift GPC0 och 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);
}
Och nästa är gör-fil:
# Makefile för TRAKR leksak
# Trakr projektet
TRACKR_PATH = C:/elinagrip
Programnamn = relaycontrol
PRETTY_NAME = relaycontrol
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
Se till att Trakr är avstängd och Anslut den till din dator med den gula USB-kabeln som följde med Trakr. Kopiera relaycontrol.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 relaycontrol på menyn. Använda den Trakr remote contol för att köra Trakr till en tåget. Sikta på Trakr kamera direkt på målet och tryck på knappen A på fjärrkontrollen för att avfyra skum dart på målet.
Grattis! I detta Instructable du lärt dig hur till hacka Spy Video Trakr. Du lärt dig hur du hämtar och installerar C language compiler för Trakr. Du lärt dig hur man kompilerar ett enkelt program och installera det på Trakr och kör sedan detta enkla program. Nästa du lärt dig hur man öppnar upp Trakr, bifoga bygelstift till GPIO anslutningarna på de viktigaste kretskortet i Trakr. Du lärt dig hur ett elektroniskt relä fungerar, hur det elektroniska scematic diagrammet för ett relä ser ut och vad en faktiska elektronisk kopplingsschema där reläet används ser ut. Du lärt dig hur man gör konvertering kablar för att ansluta Trakr till externa apparater. Du lärt dig hur man gör en större lastutrymmet för Trakr och montera en skum missile launcher plattform på Lego lastutrymmet. Du lärt sig att utnyttja den Trakr 9 och 5 volt nätaggregat. Du också lärt sig att använda elektroniska reläet för att styra en skum dart missillauncher. Slutligen lärt du sig att skriva och kompilera ett program för att brand missiler från missillauncher skum och installera det på Trakr och sedan köra programmet.