Étape 7: Programmer le Trakr
////////////////////////////////////////////
trakrmotorcontrol programme pour espion vidéo TRAKR
Programme analyse pour voir si le bouton A été
pressé sur TRAKR distant et ensembles GPC0 haute
et GPC1 faible d’envoyer courant par l’intermédiaire de moteur
vers l’avant / /
Si vous appuyez sur le bouton B, il définit GPC0 faible
et GPC1 élevé d’envoyer courant à travers
moteur en sens inverse.
///////////////////////////////////////////
#include « svt.h » //include API officielle
#include « JAPI.h » //include « Secret sauce » API
#define GPC0 (1 << 0) //bitmask pour axe GPC0 = 00000001
#define GPC1 (1 << 1) //bitmask pour axe GPC1 = 00000010
#define GPC2 (1 << //bitmask 2) pour la broche GPC2 = 00000100
#define GPC3 (1 << 3) //bitmask pour broche GPC3 = 00001000
#define GPC4 (1 << 4) //bitmask pour axe GPC4 = 00010000
#define GPC5 (1 << 5) //bitmask pour broche GPC5 = 00100000
#define PDC6 (1 << 6) //bitmask pour axe PDC6 = 01000000
#define GPC7 (1 << 7) //bitmask pour axe GPC7 = 10000000
keyState int ; qualifier de « keystate » entier
void Start()
{
JAPI_SetIoOutputMode(GPC0+GPC1) ; mode de sortie //Set pour broches GPC0 et GPC1
}
bool Run()
{
keyState=GetRemoteKeys() ; Vous appuyez sur la touche télécommande TRAKR
assigner à keystate
Si (keyState > 0)
{//if keystate est supérieur à 0
if(keyState&KEY_INPUT1)
{//Button un pressée (moteur en marche avant)
JAPI_SetIoHigh (GPC0); //Set GPC0 goupille élevée (3.3V)
} else {}
JAPI_SetIoLow(GPC0) ; Éteignez la goupille GPC0
}
if(keyState&KEY_INPUT2)
{//Button B enfoncé (moteur arrière)
JAPI_SetIoHigh (GPC1); //Set GPC1 goupille élevée (3.3V)
} else {}
JAPI_SetIoLow(GPC1) ; Couper les broches GPC1
}
if(keyState&KEY_HOME)
{//if bouton home pressé
retourne la valeur false ; Cela mettra fin à la boucle
}
}
retourne la valeur true ; boucle se répète jusqu’au faux
}
void End()
{//Program fin - éteindre les deux broches
JAPI_SetIoLow(GPC0+GPC1) ;
}
Faire un fichier :
# Makefile pour TRAKR jouet
# Projet Trakr
TRACKR_PATH = c: / Trackr
Nom_programme = trakrmotorcontrol
PRETTY_NAME = trakrmotorcontrol
OUTPUT_PATH =. / intermédiaire
Nom_sortie = $(OUTPUT_PATH) / .elf $(nom_programme)
INTERNALS_PATH =... / Composants internes
SOURCES = app.c
S_OBJECTS = $(OUTPUT_PATH)/app.o
OBJETS = $(S_OBJECTS) $(INTERNALS_PATH)/trakr.a
SHELL = sh
CC = bras-elf-gcc
AS = bras-elf-as
BIN = bras-elf-ld
LD = ld-elf-bras
TOPMEMORY = 0XFFE7C000
CFLAGS = - O0-J’AI... / Interne/Include-j’ai... / Composants internes-mur - gstabs +
TARGET_FLAG = - mcpu = arm926ejs - CMPAS-32 - mlittle-endian - specs=specs.semi
LDFLAGS = -T... /Internals/WJ_APP_8M.LD -Wl,--defsym-Wl,__stack_base=$(TOPMEMORY) -Wl,-Map -Wl, $(basename $ - gcc-g-s-Shared-o-nostartfiles-statique
tous : pré-compilé postgénération $(OUTPUT_NAME)
$(NOM_SORTIE): $(OBJECTS)
"Liaison... "
« Créer fichier $
-u _start -o $@ $(INTERNALS_PATH)/trakr_start.a $(OBJECTS) $(TARGET_FLAG) $(LDFLAGS)
$(OUTPUT_PATH)/app.o:app.c Makefile
"Compilation $<"
-c -o "$" $< » $(TARGET_FLAG) $(CFLAGS)
. FAUX : nettoyer postgénération tronçon préalable
nettoyer :
$(RM) -f $(nom_programme) .bin
$(RM) -f « $(PRETTY_NAME) .bin »
$(RM) -f $(OUTPUT_PATH)/app.o
$(RM) -f $(OUTPUT_NAME)
$(RM) -f $(MKDEPFILE)
postgénération :
bras-elf-objcopy - O binaire $(OUTPUT_NAME) « $(PRETTY_NAME) .bin »
[ -d "E:/" ] ; puis \
CP « $(PRETTY_NAME) .bin » e:/APPS / ; \
FI
tronçon :
# Fin du Makefile
Lorsque vous compilez le code ci-dessus avec ce qui précède faire fichier, cela créera un fichier Trakr App appelé « trakrmotorcontrol.bin » et le fichier devra être copié vers le Trakr. Assurez-vous que le Trakr est hors tension et connectez-le à votre ordinateur en utilisant le câble USB jaune fourni avec la Trakr. Copiez trakrmotorcontrol.bin dans le dossier APPS dans le dossier de Trakr. Déconnectez le Trakr de votre ordinateur et allumez le Trakr. Allumez le Trakr distant, cliquez sur le bouton "home" et sélectionnez trakrmotorcontrol dans le menu. Utilisez contol distant de la Trakr pour conduire le Trakr à l’objet que vous souhaitez récupérer. Viser l’attachement de griffe de Lego pour clôturer autour de l’objet que vous souhaitez récupérer et appuyez sur le bouton A sur la télécommande pour récupérer l’objet. Avec pour objet tenu dans la griffe, continuez la Trakr vers l’emplacement que vous voulez apporter l’objet et appuyez sur le bouton B sur la télécommande pour ouvrir la mâchoire et de libérer l’objet.
Félicitations ! Dans ce Instructable vous avez appris comment ajouter un attachement de griffe de Lego à l’espion Vidoe Trakr. Vous avez appris comment télécharger et installer le compilateur de langage C pour le Trakr. Vous avez appris comment installer les broches du cavalier sur la carte de circuit imprimé de la Trakr pour contrôler des périphériques externes tels que l’attachement de griffe de Lego. Vous avez appris à ajouter un terrain d’entente et l’alimentation 9 volts tap pour vos projets de piratage Trakr. Vous avez appris à construire une plate-forme de chargement polyvalent pour le Trakr de Lego. Vous avez appris comment créer l’attachement de griffe de Lego. Vous avez appris comment connecter la griffe de Lego à la Trakr. Enfin, vous avez appris comment programmer le Trakr à exploiter votre attachement de griffe de Lego.