Acciones

ORIONBoard

De CoffeeBrain-Wiki

OrionLogo.jpg

Descripción:

Orion es una plataforma de desarrollo, con un entorno de programación orientado a dispositivos móviles. Posee diferentes características como: entradas análogas, digitales, comunicación bluetooth, I2C y PWM que permiten realizar prototipos electrónicos de una forma rápida y sencilla. El entorno de programación se basa en un lenguaje de bloques visual en el cual se configuran, leen y acceden a los principales periféricos de esta plataforma. Así es posible crear prototipos sin necesidad de usar complicados lenguajes o elementos adicionales de hardware aprovechando la versatilidad de las plataformas móviles.

Autor:


1 Orion Protoboard

Esta sección muestra la forma de realizar el montaje de la tarjeta Orion en un protoboard. Es compatible con microcontroladores Atmel Atmega168/328 AVR

1.1 Lista de Componenetes

Componente

Imagen

Bluetooth (JY-MCU BT_BOARD V1.05)

OrionBT.JPG

Microcontrolador ATMEGA 168A o ATMEGA328P

141014-COMPONENTES-micro.JPG

Regulador LD1117V33 (El regulador de 3.3V) o Regulador LM7805 (El regulador de 5V) Dependiendo de la aplicación

141014-COMPONENTES-regulador.JPG

Pulsador Normalmente Abierto

141014-COMPONENTES-pulsador.JPG

LEDs

141014-COMPONENTES-leds.JPG

Cristal de 16MHz

141014-COMPONENTES-cristal.JPG

2 X Condensador 10uF

141014-COMPONENTES-condensadorElect.JPG

2 X Condensador 20pF

2 X Condensador 22pF

141014-COMPONENTES-condensadorCeramico.JPG

2X Resistencia 1 kOhm (Cafe-Negro-Rojo) Resistencia 10 KOhm (Cafe-Negro-Naranja)

141014-COMPONENTES-resistencias.JPG

1.2 Instrucciones de Montaje

1. Añada a su Protoboard los cables de alimentación para el circuito

Paso 1

2. Coloque el regulador LM7805

Paso 2

3. Coloque los condensadores de 10uF

Paso 3

4. Cables para alimentación y led indicador con resistencia de 220Ohm

Paso 4

El cable VERDE (+) y el AZUL(-) son para alimentar la tarjeta con un voltaje entre 7-16V. El led rojo indica que el regulador funciona correctamente


5. Microcontrolador ATMega168A o ATMega328P

Paso 5

Conecte el microcontrolador como se muestra en la figura y los pines necesarios a la alimentación.


6. Botón de Reset del Microcontrolador con una resistencia de 10KOhm al pin 1

Paso 6

7. Cistal de 16MHz como reloj externo del microcontrolador entre los pines 9 y 10, junto con los condesadores cerámicos de 20pF o 22pF

Paso 7

8. Led al Pin 14 con resistencia de 220Ohm a tierra

Paso 8

9. Cables de conexión para el Bluetooth (Cyan, Blanco, Negro y Rojo)

Paso 9‎


Imagenes realizadas con Fritzing

2 Orion PCB

En esta sección se presenta la descripción de la plataforma Orion y su montaje en PCB

2.1 Lista de Materiales

Componente

Imagen

Bluetooth (JY-MCU BT_BOARD V1.05)

OrionBT.JPG

Microcontrolador ATMEGA 168A-AU

ATMEGA 168A-AU

Regulador LM1117DT-3.3

Regulador SMD

Pulsador Normalmente Abierto

Pulsador KFC-A04-02

2 LEDs de montaje superficial 0805

LED Rojo LED Azul

Cristal de 16MHz SMD

Cristal 16MHz

Condensadores Cerámicos SMD 0805

2 x 22pF
1 x 0.22uF
1 x 0.1uF
1 x 1uF

C0805_22PF C0805_22NF C0805_0.1UF C0805_1UF

Conector USB de inserción

Conector USB

Resistencias SMD 1206:

430 Ohm
10 kOhm
1 kOhm
2 x 4.7KOhm

430 Ohm 10 kOhm 1KOhm 4.7KOhm

Regleta Macho 33x1
Regleta Macho 3x2
Regleta hembra 4x1

Regleta Macho Regleta Hembra

Jumper

Jumper

2.2 Intrucciones de Montaje

La siguiente imagen muestra la vista frontal de la tarjeta con los valores de los componentes respectivos

041114-PCB-orionTop.jpg

La siguiente imagen muestra la vista posterior de la tarjeta con los valores de los componentes respectivos

041114-PCB-orionBack.jpg

Recomendaciones:

Al momento de soldar empiece por los componentes superficiales que se encuentran hacia el centro de la tarjeta
Tenga en cuenta el pin #1 ( indicado en la imagen con el punto gris) del empaquetado del microcontrolador 
Tenga en cuenta el pin #1 ( indicado en la imagen con el punto gris) del empaquetado del Regulador LDT1117-3.3V
Deje para el final los componentes de inserción y los de mayor tamaño, como: regletas y  conector USB 

Este tutorial le ayudará con las instrucciones para realizar una soldadura correctaTutorial de Soldadura

2.3 PinOut

PinOut‎


La tarjeta consta de:

Puerto ISP para programación (El punto negro indica el pin#1)
Puerto USB para alimentacion 5V
Botón de RESET del microcontrolador
Botón SW1 de usuario, conectado al pin PD7 del microcontrolador.
LED0 de usuario, conectado al pin PB0 del microcontrolador.
Jumper para seleccionar la alimentación: *Conexión entre la posición 1-2 Alimenta el microcontrolador con 3.3V                  *Conexión entre la Posición 2-3 Alimenta el microcontrolador con VIN


El PinOut de la tarjeta muestra las funciones básicas de cada uno de los pines:

Rojo y Negro: Alimentación
    VIN-GND: Acepta alimentación entre 5V y 15V (NO ALIMENTAR CON MAS DE 5V CUANDO EL JUMPER ESTÁ CONECTADO ENTRE 2-3)
    3.3V-GND: Salida de voltaje del reguilador de 3.3V
Verde: Pines de ADC (Conversor Analogo Digital)
Azul: Pines de Entrada/Salida Digital
Morado: Comunicación Serial

2.4 Archivos de Diseño

  • En el siguiente Link encontrará el diseño esquemático
  • En este Link se presenta el diseño en PCB
  • En este Link se encuentran los archivos gerber para la fabricación

2.5 Ejemplos

2.5.1 BlinkLed

#ifndef F_CPU
#define F_CPU 16000000UL // 16 MHz Velocidad del clock
#endif
 
#include <avr/io.h>
#include <util/delay.h>
 
int main(void)
{
  DDRB = (1<<PB0); //Define el pin 0 del puerto B como salida
 
  while(1) //Loop infinito
  {
    PORTB  |= (1 << PB0); //Enciende el LED
    _delay_ms(1000); //delay de un segundo
    PORTB&= ~(1 << PB0) ; //Apaga el LED
    _delay_ms(1000); //delay de un segundo
  }
 
}


Compilar el código:
avr-gcc -mmcu=atmega168a -Os blink.c  -o blink.o 
avr-objcopy -j .text -j .data -O ihex  blink.o  blink.hex 
avrdude -c usbtiny -p m168 -U flash:w:blink.hex

3 APP ORION

Orion es un entorno de programación visual que genera automáticamente códigos para programar microcontroladores. Su complemento es la OrionBoard, la cual se programa por medio de Bluetooth para ejecutar las instrucciones descritas en el entorno Orion. Orion aprovecha los dispositivos móviles como herramientas de programación y desarrollo. Es una aplicación gratis para dispositivos Android y se encuentra disponible en el siguiente link Orion en PlayStore

3.1 Bootloader

Para poder programar desde la aplicación Orion, es necesario cargar un Bootloader inicial en el microcontrolador disponible en: Bootloaders Luego de descargar el archivo bootloader.hex puede realizar la programación del microcontrolador usando:


ATMEL Studio | Descargar

  • Conecte el progrmador AVRISP mkII y la Tarjeta ORION mediante el puerto ISP (Use la descripción de pines de programación ISP disponible en Pines ISP.
  • Abra el Programa ATMEL Studio 6.1
  • Ir a Tools > Device Programming.
    • En el menú Tool seleccionar AVRISP mkII.
    • En el menú Device seleccionar ATmega168A o ATmega328P .
    • En el menú Interface seleccionar ISP
    • Hacer click en Read. Observe que aparece un valor en hexadecimal en device signature y un valor en target voltage
  • Ir a Lock bits en el panel Izquierdo, configurar los lock bits y hacer click en Program
Lock Bit Configuración
LB NO_LOCK
BLB0 NO_LOCK
BLB1 NO_LOCK
  • Configurar el menú Fuses bits y hacer click en Program.
Fuse Configuración Atmega168A Configuración Atmega328P
EXTENDED 0xF8 0xFF
HIGH 0xDF 0xD8
LOW 0XF7 0XF7
  • Finalmente configurar el menú Memories la ruta del archivo Bootloader.hex y hacer click en Program.

ó

Programador hardware TTDE | usbtiny

3.2 Overview

A continuación se presenta la aplicación y sus funciones básicas.

Aplicación ORION

La aplicación cuenta con una ventana inicial con los siguientes componentes:

1. Titulo del Proyecto: Se muestra el nombre que el usuario le ha dado al titulo del proyecto

2. Estado de la conexión Bluetooth: Este label muestra el estado actual de la conexión Bluetooth, puede ser conectado, No-Conectado o Enviando.

3. Botón Empezar: Este botón despliega un menú contextual que permite seleccionar el tipo de bloque se se quiere agregar dentro de la secuencia de programación.

4. Espacio de trabajo: El espacio muestra de manera secuencial las instrucciones agregadas a la secuencia de programación.

Aplicación ORION


La aplicación tiene un menú de opciones con el cual se pueden realizar acciones como: Abrir un proyecto, Guardar el proyecto actual (Guardar), Guardar el proyecto actual con un nombre diferente (Guardar Como), generar el código y compilarlo (obtener el .HEX) (Crear) y realizar la conexión bluetooth para programar la tarjeta principal (Conectar). Este menú de opciones se despliega usando el botón de opciones del dispositivo móvil (2).

Con el botón atrás (3) se puede ocultar este menú y además se puede salir de la aplicación.

  • Abrir un proyecto

Cuando se selecciona la opción ”Abrir” en (1), se muestra en la aplicación, un dialogo en el cual aparecen los proyectos guardados por el usuario anteriormente. Al seleccionar un proyecto se cargarán los bloques descritos en el proyecto seleccionado.

  • Guardar un proyecto:

Cuando se selecciona la opción ”Guardar” en (1), la aplicación guardará el proyecto actual, en caso de que sea un proyecto nuevo, este se guardará por defecto con el nombre ”untitled”.

  • Guardar como

Cuando se selecciona la opción ”Guardar Como” en (1), mostrar´a un diálogo en el cual se debe escribir el nombre con el cual se quiere guardar el proyecto.

  • Compilar en la nube

Cuando se selecciona la opción ”Crear” en (1), la aplicación muestra una icono de progreso, este indica se ha generado el código en C y que se esta haciendo la compilación en el servidor remoto. Cuando se recibe el archivo de programación de manera existosa se muestra el mensaje, de lo contrario se informar´a al usuario sobre el error correspondiente.

  • Conexión Bluetooth:

Cuando se selecciona la opción ”Conectar” en (1), la aplicación pide permisos al usuario para encender el Bluetooth del dispositivo móvil, el usuario debe seleccionar la opción ”SI”’ y esperar unos segundos. Una vez encendido el Bluetooth se muestra un dialogo en el cual aparecen los dispositivos emparejados aquí se selecciona la tarjeta con la que haremos la conexión, luego de esperar unos segundos debe aparecer el mensaje ”Conectado”.

Aplicación ORION

Observamos un ejemplo de un programa creado con la aplicación. Este ejemplo básico posee 3 bloques. Con el primer bloque se obtiene la lectura digital del Pin1. El siguiente bloque es una condición que evalúa si el pin se encuentra en estado alto. Si esta condición se cumple el módulo externo Led de colores se encenderá de color verde. Todos lo bloques poseen elementos básicos, entre ellos esta: el nombre del bloque (1), un icono característico (2), la descripción de los parámetros de configuración (3), botón (4) con el cual se eliminará el bloque de la secuencia del programa, botón (5) de ajustes con el cual se abre el menú de configuración del bloque con el cual es posible cambiar los parámetros definidos al crearlo. El botón (6) sólo se encuentra en los bloques de condición y ciclo, con ´el se muestra u oculta el contenido del bloque, es decir las acciones que se ejecutarán el número de veces que indique el ciclo o en caso de que se cumpla la condición. El bloque interno (7) es la acción que se ejecutará en caso de que se cumpla la condición (pin1 es alto). Finalmente con (8) se pueden agregar más acciones a ejecutar en caso de que la condición se cumpla.

3.3 Ejemplos

3.3.1 BlinkLed

Este es el ejemplo básico para probar el correcto funcionamiento de la tarjeta. Consiste en agregar cuatro bloques:

1. Bloque: Salida->Salida Digital -> LED0 High

2. Bloque : Control de Flujo-> Esperar-> 1000 mS

3. Bloque: Salida->Salida Digital -> LED0 Low

4. Bloque : Control de Flujo-> Esperar-> 1000 mS

Ejemplo. BlinkLED

Este programa prende y apaga cada segundo el led conectado en el puerto PB0 (pin14) del microcontrolador.

Luego de realizar el programa:

  • Abra el menú de la aplicación y seleccione la opción Crear ( Recuerde que su dispositivo debe estar conectado a Internet)
  • Abra el menú de la aplicación y seleccione la opción Conectar (Active el Bluetooth y conéctese con el dispositivo correspondiente)
  • Verifique que en la barra de estado de la conexión Bluetooth aparezca el mensaje Conectado
  • Finalmente abra el menú de la Aplicacíón y seleccione la Opción "Enviar". Espere a que aparezca el mensaje "Programación terminada"
  • Puede Guardar el proyecto con el nombre "BlinkLed" desde: Menú->GuardarComo e introduciendo el nombre "BlinkLed"

3.3.2 ADC

Montaje Necesario usando potenciometro


Este es el ejemplo básico para adquisición de datos análogos. Consiste en agregar Tres bloques:

1. Bloque de Entrada->Analoga. Canal A . Voltaje de Referencia 3.3V

2. Bloque de Comunicaciones-> Enviar mensaje Serial->Mensaje "El adc es:" variable para enviar "analog_A"

3. Bloque de esperar 1000mS

Aplicación ORION

Este programa lee cada segundo el canal A del ADC del microcontrolador y envía por Bluetooth ese valor.

Luego de realizar el programa:

  • Abra el menú de la aplicación y seleccione la opción Crear ( Recuerde que su dispositivo debe estar conectado a Internet)
  • Abra el menú de la aplicación y seleccione la opción Conectar (Active el Bluetooth y conéctese con el dispositivo correspondiente)
  • Verifique que en la barra de estado de la conexión Bluetooth aparezca el mensaje Conectado
  • Finalmente abra el menú de la Aplicacíón y seleccione la Opción "Enviar". Espere a que aparezca el mensaje "Programación terminada"

Reinicie el Microcontrolador con el botón de Reset, Abra el panel lateral izquierdo de la aplicación deslizando su dedo. Este panel contiene un terminal Bluetooth que muestra la información que llega desde el Bluetooth hacia la aplicación. En este Panel deberá visualizar el mensaje "El adc es: XXXX" donde XXXX es el valor de la medición realizada con el ADC

  • Puede Guardar el proyecto con el nombre "AdcRead" desde: Menú->GuardarComo e introduciendo el nombre "AdcRead"