
El ODROID-C1/C1+, ODROID-C2 y ODROID-XU4 tienen pines GPIO (Entrada/Salida de Propósito General) que permiten controlar dispositivos externos a través de software. Para acceder correctamente al puerto GPIO, debes instalar la imagen Android Marshmallow versión 2.8 o superior en el ODROID-C2, la imagen Android KitKat versión 3.2 o superior en el ODROID-C1/C1+, y la imagen Android KitKat versión 6.0 o superior, o la versión Android Nougat versión 1.3 20171214 o superior en el ODROID-XU4.
Esta WiKi explica cómo hacer una app Android que permita acceder a los puertos GPIO. Necesitas instalar Google Android Studio en tu PC host. Añade en primer lugar NDK y las herramientas necesarias antes de empezar con los pasos que se describen a continuación. Nosotros probamos estos pasos en Android Studio 2.3 y NDK R14.
Ubuntu/Linux
Puedes encontrar la ubicación del SDK de Android bajo este menú (File → Settings → Appearance & Behavior → System Settings → Android SDK)
Tras editar el archivo bashrc, debes iniciar sesión nuevamente o escribir "source ~/.bashrc" en la línea de comando. A continuación, descarga la librería NDK WiringPi y el código fuente de la aplicación desde GitHub.
ODROID-C1+/C2
$ sudo apt install git $ git clone https://github.com/codewalkerster/example-wiringPi -b odroid-c
ODROID-XU4
$ sudo apt install git $ git clone https://github.com/codewalkerster/example-wiringPi -b odroid-xuEjecuta Android Studio y abre el proyecto descargado.
Compilar el proyecto para crear un paquete apk
Selecciona Build -> Make Project desde menú. Verás un par de mensajes de error y deberás hacer clic en las siguientes opciones para completar el proceso de compilación, el cual generará un archivo APK para que lo ejecutes en tu ODROID:
- Instalar la(s) plataforma(s) que faltan y sincronizar el proyecto
- Instalar Build Tools 25.0.2 y sincronizar el proyecto
Windows
En Windows, configura la RUTA de entorno para que apunte a la ruta de la carpeta NDK y luego reinicia Windows.
Después, instala el programa cliente Git desde https://git-for-windows.github.io/, y clona el proyecto wiringPi, tal y como se muestra en la Figura 6.
El proyecto está disponible en https://github.com/codewalkerster/example-wiringPi. Selecciona origin/odroid-c o origin/odroid-xu.
Luego, instala el NDK seleccionando Tools -> Android -> SDK Manager en el menú.
Características del proyecto de ejemplo
Puedes leer el valor del conversor de señal analógica a digital (ADC) y mostrar el nivel de voltaje con 19 LED en la salida de GPIO. Puedes ver un video de demostración en https://youtu.be/lGqyhvd3q9U y https://youtu.be/lGqyhvd3q9U.
PWM
La Figura 12 muestra un ejemplo básico de control del PWM. Puede escoger el número de salidas PWM (1 o 2), así como controlar la frecuencia y el índice de trabajo.
Ejemplo de notificador de Gmail
Este es un proyecto muy divertido y útil que utiliza el puerto PWM. Cuando te encuentras visualizando videos o jugando a juegos, puedes pasar por alto la notificación de un correo electrónico o mensaje importante. El indicador es accionado por un servomotor que está conectado a un pin PWM en un puerto GPIO de 40 pines. El código puede descargarse desde https://github.com/codewalkerster/GMailNotifier. Se puede ver una demo del proyecto en https://youtu.be/Vvq77w87RWQ.
I2C
La Figura 15 muestra un ejemplo de código para acceder a nuestra placa meteorológica para medir la temperatura, la humedad, la presión atmosférica, la altitud y la intensidad de luz visible/invisible a través de la interfaz I2C.
Kernel para I2C
Abra la aplicación File Manager y edita el archivo /storage/internal/boot.ini tal y como se muestra a continuación:
Original
movi read dtb 0 ${dtbaddr} # load kernel from vat or boot partition. movi read boot 0 ${loadaddr} #fatload mmc 0:1 ${loadaddr} Image booti ${loadaddr} - ${dtbaddr}Después de editarlo
movi read dtb 0 ${dtbaddr} # load kernel from vat or boot partition. #movi read boot 0 ${loadaddr} fatload mmc 0:1 ${loadaddr} Image booti ${loadaddr} - ${dtbaddr}Carga la imagen del kernel desde la partición vfat i2c. Si no puede encontrar el comando "fatload", elimina /storage/internal/boot.ini y reinicie el sistema. Para comentarios, preguntas y sugerencias, visita el artículo original de la Wiki en https://wiki.odroid.com/odroid-c2/application_note/gpio/enhancement_40pins_on_android.
Be the first to comment