Hacking el Spy Video Trakr (21 / 22 paso)

Paso 21: Use los pines GPIO para Flash LED (diodos emisores de luz)

La prueba para controlar un dispositivo mediante las conexiones de GPIO es para encender LEDs y apagado pulsar botones del mando a distancia TRAKR. Usé uno de los cables de audio de CD-ROM que he mencionado más arriba. Conectado los componentes directamente al cable; Realmente no pensé que valía la pena una placa de circuito. El resistor de 100 ohm cae la tensión de 1.6... perfecto para los LEDs.

Puedes ver cómo fue soldado en la parte superior izquierda de la imagen. Cuando se ejecuta la aplicación trakrmotorcontrol y se presiona ningún botón, nada se ilumina. Cuando se presiona el botón A, el LED verde se enciende; Cuando se presiona el botón B, el LED rojo se enciende.

Código de lenguaje C:

////////////////////////////////////////////
Programa flash LED para Spy Video TRAKR
Analiza el programa para ver si era el botón A
TRAKR prensado en remoto y sistemas de GPC0 alta
y GPC1 baja para enviar corriente a través de LED
en dirección diagonal hacia adelante (marcha).
//
Si se presiona el botón B, establece GPC0 bajo
y GPC1 alta para enviar corriente a través de
LED en la dirección contraria (apagada).
///////////////////////////////////////////

#include "svt.h" //include API oficial
#include "JAPI.h" //include "Salsa secreta" API

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

int keyState;                    definir "keystate" como entero

void Start()
{
JAPI_SetIoOutputMode(GPC0+GPC1); //Set modo de salida de los pines GPC0 y GPC1
}
bool Run()
{
keyState=GetRemoteKeys();    Tecla de control remoto TRAKR
asignar a keystate
Si (keyState > 0)
{//if keystate es mayor que 0
if(keyState&KEY_INPUT1)
{//Button un prensado (motor delantero)
JAPI_SetIoHigh (GPC0); //Set GPC0 pin alta (3,3 v)
} else {}
JAPI_SetIoLow(GPC0); Apagar pin GPC0
}
if(keyState&KEY_INPUT2)
{//Button B presionado (motor atrás)
JAPI_SetIoHigh (GPC1); //Set GPC1 pin alta (3,3 v)
} else {}
JAPI_SetIoLow(GPC1); Apagar pin GPC1
}
if(keyState&KEY_HOME)
{//if botón home presionado
devuelven el valor false;           Esto va a terminar el bucle
}
}
verdaderas;                 bucle se repetirá hasta falso
}
End() vacío
{Fin de //Program - desconectar los pines
JAPI_SetIoLow(GPC0+GPC1);
}

Hacer el archivo:

# Makefile para juguete TRAKR
# Proyecto Trakr

TRACKR_PATH = C:/Trackr
PROGRAM_NAME = trakrmotorcontrol
PRETTY_NAME = trakrmotorcontrol
OUTPUT_PATH =. / intermedio
OUTPUT_NAME = $(OUTPUT_PATH) / $(PROGRAM_NAME) .elf
INTERNALS_PATH =... / Funcionamiento interno

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

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

SHELL = sh
CC = gcc-elf-brazo
COMO = brazo-elf-como
BIN = brazo-elf-ld
LD = brazo-elf-ld

TOPMEMORY = 0XFFE7C000
CFLAGS = - O0-ME... / Internos/Include-me... / Funcionamiento interno-pared - 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,-mapa -Wl, $(basename $ - nostartfiles-estática

todos: prebuild $(OUTPUT_NAME) así

$(OUTPUT_NAME): $(OBJECTS)
"Enlazan a... "
"Crear archivo $
-u _start -o $@ $(INTERNALS_PATH)/trakr_start.a $(OBJECTS) $(TARGET_FLAG) $(LDFLAGS)

$(OUTPUT_PATH)/app.o:app.c Makefile
"Compilación de $<"
-c -o "$" $< "$(TARGET_FLAG) $(CFLAGS)

. PHONY: limpiar así los

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

así:
brazo-elf-objcopy - O binario $(OUTPUT_NAME) "$(PRETTY_NAME) .bin"
[ -d "E:/" ] ; entonces \
CP "$(PRETTY_NAME) .bin" e:/aplicaciones /; \
fi
prebuild:

# Fin de archivo make

Al compilar el código anterior con el anterior hacer archivo, esto creará un archivo de Trakr App llamado "trakrmotorcontrol.bin" y el archivo tendrá que copiar en el Trakr. Asegúrese de que el Trakr está desconectado y conectarlo a su ordenador utilizando el cable USB amarillo que vino con el Trakr. Copie trakrmotorcontrol.bin a la carpeta de aplicaciones dentro de la carpeta de Trakr. Desconecte el Trakr del ordenador y conecte el Trakr. Encienda el Trakr remoto, haga clic en el botón Inicio y seleccionar trakrmotorcontrol del menú.

Puede utilizar la aplicación trakrmotorcontrol para el control de muchos tipos diferentes de dispositivos eléctricos... motores, luces, relés, etc..

Artículos Relacionados

Hacking el Spy Video Trakr con maldita ' rayos láser... Y misiles!

Hacking el Spy Video Trakr con maldita ' rayos láser... Y misiles!

Cortesía de Hans de la CPT.Compré un lanzador de misiles USB-accionada de la espuma, que tiene pan & tilt e incluso un objetivo laser! Soy alimentación del puerto USB interno de Trakr y controlar con las líneas GPIO.Paso 1: El cuadro original fue bas
Hacking el Spy Video Trakr II

Hacking el Spy Video Trakr II

en el Instructable anterior, "Hacking the Spy Video Trakr" ( aprendió a abrir el Trakr e instalar masculinos encabezados en las conexiones de GPIO en el circuito. También aprendió a escribir, compilar e instalar un programa corto en el Trakr a p
Hacking el Spy Video Trakr III: hacer un Bot Grabber de Legos, circuitos de Snap y el Spy Video Trakr

Hacking el Spy Video Trakr III: hacer un Bot Grabber de Legos, circuitos de Snap y el Spy Video Trakr

en este instructable demostrará cómo utilizar Legos, los circuitos de Snap y el Spy Video Trakr para crear un bot de capturador control remoto. Mostrará cómo descargar e instalar el compilador de lenguaje C para el Trakr. A continuación voy a explica
Spy Video Trakr: Añadir un accesorio de garra de Lego

Spy Video Trakr: Añadir un accesorio de garra de Lego

en honor de la semana nacional de robótica y el reto de Robot de Instructables presento unos diseños de robot. Este diseño (para las edades 13-18) aprovecha Spy Video Trakr de Wild Planet, que es fácilmente programable y diseñado por sus desarrollado
Spy Video Trakr: Añadir un lanzador de misiles

Spy Video Trakr: Añadir un lanzador de misiles

en honor de la semana nacional de robótica y el reto de Robot de Instructables presento unos diseños de robot. Este diseño (para las edades 13-18) aprovecha Spy Video Trakr de Wild Planet, que es fácilmente programable y diseñado por sus desarrollado
Google Earth Spy Video efecto cómo Tutorial

Google Earth Spy Video efecto cómo Tutorial

Google Earth Spy Video efecto cómo Tutorial - los mejores bloopers son un clic de distancia , este video está diseñado para demostrar cómo hacer un espía satélite falso video con Google Earth. no desnudos fueron perjudicados en la realización de este
Hacer un Robot programable broche de presión Simple de circuitos

Hacer un Robot programable broche de presión Simple de circuitos

en este Instructable usted aprenderá cómo construir un robot programable de presión circuitos simple. Primero se aprende a construir un circuito simple utilizando circuitos Snap para entender lo fácil que es construir un circuito electrónico. A conti
10 Hacks de la vida con el PVC #5

10 Hacks de la vida con el PVC #5

10 Hacks de la vida con el PVC #5[Ver Video]Aquí es la 5ª edición a nuestros 10 hacks de la vida para hacer su vida más fácil. Había construido y había probado con éxito. Espero que usted puede beneficiarse de algunos de estos hacks de vida impresion
10 Hacks de la vida con el PVC #6

10 Hacks de la vida con el PVC #6

10 Hacks de la vida con el PVC #6[Ver Video]Aquí es la 6ª edición a nuestra vida 10 Hacks para hacer su vida más fácil. Había construido y había probado con éxito. Espero que usted puede beneficiarse de algunos de estos hacks de vida impresionante.1.
10 más de PVC vida Hacks

10 más de PVC vida Hacks

10 más de PVC vida Hacks[Ver Video]Aquí está la segunda edición de nuestros 10 hacks de la vida para hacer su vida más fácil. Construimos y probamos cada uno de estos hacks simples con éxito. Espero que usted puede beneficiarse de algunos de estos ha
Visor electrónico para cámaras digitales compactas

Visor electrónico para cámaras digitales compactas

este Instructable es específico para hacer un visor electrónico para la S95 de Canon, pero suponiendo que tu cámara digital tiene capacidad de salida de vídeo y usted puede encontrar el conector correcto y los pines, se puede adaptar a sus necesidade
Vida de organización DIY 3 Hacks hechos de cajas de Chocolate (VIDEO)

Vida de organización DIY 3 Hacks hechos de cajas de Chocolate (VIDEO)

2016 felices todos! Si eres como yo una de sus resoluciones es tirar el chocolate que comiste en Navidad... Pero ¿qué pasa si usted podría poner las cajas vacías de chocolate usar demasiado? ¿Y terminan con una casa más ordenada (con almacenamiento)?
SYMA S107 helicóptero Video Hack

SYMA S107 helicóptero Video Hack

artículo más detallado aquí.Comprar uno de los grabadores de video de llavero (2 botones, batería recargable).  Lo desarma, mina tenía 4 tornillos (2 fuera, 2 adentro).Clip de los cables de la batería.Pegar una pieza en forma de L de plástico o un al
SJ4000 Micrófono externo HACK!  Ver el video!!

SJ4000 Micrófono externo HACK! Ver el video!!

Enlace a mi canal de vídeo de la prueba! Es largo y laberíntico. Principalmente sólo estaba tratando de probar la calidad y el micrófono y la cámara de la batería. ¡Que te diviertas! Cortar copiar y pegar en tu navegador! O haga clic en! Ver en 1080p