Autor Tema: Arduino + Raspberry + Android OPINION  (Leído 29432 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #30 en: 17 de Noviembre de 2012, 05:43:58 »
Hola,

Soy de España, en concreto de Barcelona. Por aquí hay fabricantes de PCB pero bastante caros, Se que a través de internet se pueden conseguir fabricantes de bajo coste de otros países como el que comenta Nocturno.

Nocturno mi PCB es de 100x88 mm. He visto que en la pagina que me recomiendas también hacen de 100x100m. ¿Son rápidos entregando el pedido?
BitPIC

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #31 en: 17 de Noviembre de 2012, 07:08:44 »
Más o menos entre 3 y 4 semanas

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #32 en: 17 de Noviembre de 2012, 11:16:26 »
Ufff!! con lo impaciente que soy yo...  :D

He estado mirando los de por aqui y sale unos 200€ de media 3 protos y entrega en 19h. Eso sí, si pides 100 te sale a 4€ cada uno... ejjeej
BitPIC

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Arduino + Raspberry + Android OPINION
« Respuesta #33 en: 19 de Noviembre de 2012, 09:03:00 »
Hola
este hilo esta tremendo
me lo apunto, muy buneno.

un saludo

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #34 en: 25 de Noviembre de 2012, 15:27:00 »
Buenas,

Os informo como va la cosa:

En el trabajo estoy liado con un proyecto y hasta principios del año que viene no avanzará rápido el tema de los protos, seguramente los pida a un proveedor que tenemos en china de tarjetas electrónicas.

Por otro lado como dige en anteriores post al final lo haré con un 18F4550 en lugar del Arduino y he estado estas semanas intentando hacer lo que había hecho en Arduino con el MPLAB X, pero no hay punto de comparación entre la facilidad de uso de Arduino y lo complicado que se me esta haciendo el MPLAB X.

A la conclusión que he llegado es que soy un novato y que el MPLAB X me lleva loco jajaja :D... No consigo mostrar un simple "HOLA MUNDO" en un display. Se me esta haciendo eterno.

Por otro lado veo que la librería de MPLAB para el LCD (xlcd.h) es muy complicada para algo tan simple. Necesita cargar 11 archivos para hacer funcionar el xlcd.h (aunque todavía no he conseguido que funcione).

En otros IDE como CCS C con una simple librería del LCD hay de sobra. La librería LCD de CCS C tiene muchas más funciones y más útiles que la de Microchip.

No entiendo nada la verdad... Tenía ilusión por usar las herramientas de Microchip, pero poco a poco me estoy convenciendo que lo mejor va a ser usar CCS C u otros. Aunque sigo encabezonado en hacerlo funcionar con MPLAB X (bueno con XC8)

Por si alguien me puede echar una mano os dejo el código que me esta llevando por el camino de la amargura. Este código lo único que debería hacer es mostrar  "Hola Mundo" en un display y luego conectar y desconectar un rele en un bucle infinito. Por cierto esta hecho para un PIC18F97J60 que es el que lleva la tarjeta de entrenamiento que estoy usando.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include "xlcd.h"

#define _XTAL_FREQ 25000000     //Frec. del osc. en Hz para calculo de delays

// PIC18F97J60 Configuration Bit Settings

// CONFIG1L
#pragma config DEBUG = OFF      // Background debugger disabled; RB6 and RB7 configured as general purpose I/O pins
#pragma config WDTEN = OFF      // Watchdog Timer Enable bit (WDT disabled (control is placed on SWDTEN bit))
#pragma config XINST = OFF      // Extended Instruction Set Enable bit (Instruction set extension and Indexed Addressing mode enabled)
#pragma config STVR = OFF       // Stack Overflow/Underflow Reset Enable bit (Reset on stack overflow/underflow enabled)

// CONFIG1H
#pragma config CP0 = OFF        // Code Protection bit (Program memory is not code-protected)

// CONFIG2L
#pragma config IESO = ON        // Two-Speed Start-up (Internal/External Oscillator Switchover) Control bit (Two-Speed Start-up enabled)
#pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
#pragma config FOSC2 = ON       // Default/Reset System Clock Select bit (Clock selected by FOSC1:FOSC0 as system clock is enabled when OSCCON<1:0> = 00)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor enabled)

// CONFIG2H
#pragma config WDTPS = 32768    // Watchdog Timer Postscaler Select bits (1:32768)

// CONFIG3L
#pragma config EASHFT = OFF     // External Address Bus Shift Enable bit (Address shifting enabled; address on external bus is offset to start at 000000h)
#pragma config MODE = MM        // External Memory Bus (Microcontroller mode, external bus disabled)
#pragma config BW = 8           // Data Bus Width Select bit (8-Bit Data Width mode)
#pragma config WAIT = OFF       // External Bus Wait Enable bit (Wait states for operations on external memory bus disabled)

// CONFIG3H
#pragma config CCP2MX = OFF      // ECCP2 MUX bit (ECCP2/P2A is multiplexed with RC1)
#pragma config ECCPMX = OFF      // ECCP MUX bit (ECCP1 outputs (P1B/P1C) are multiplexed with RE6 and RE5; ECCP3 outputs (P3B/P3C) are multiplexed with RE4 and RE3)
#pragma config ETHLED = OFF     // Ethernet LED Enable bit (RA0/RA1 are multiplexed with LEDA/LEDB when Ethernet module is enabled and function as I/O when Ethernet is disabled)

 
#define Rele PORTGbits.RG7
#define backlight PORTGbits.RG5

 void DelayFor18TCY(void);
 void DelayPORXLCD(void);
 void DelayXLCD(void);


// Temporizador ms
void delay_ms(int mseconds){
    int count = 0;
    for(count=0; count<mseconds; count++){
        __delay_ms(1);
    }
    return;
}

void main(void) {
   
    TRIS_DATA_PORT = 0;
    TRIS_RW = 0;
    TRIS_E = 0;
    TRIS_RS = 0;

    TRISG7 = 0;
    TRISG5 = 0;

    backlight = 1;
    OpenXLCD(EIGHT_BIT & LINES_5X7);
    BusyXLCD();
    WriteCmdXLCD(0x06);
    BusyXLCD();
    WriteCmdXLCD(0x0c);
    putrsXLCD("HOLA");

    while(1){
        Rele = 1;
        delay_ms(1000);
        Rele = 0;
        delay_ms(1000);
    }
}


La parte de activar y desactivar el rele funciona correctamente, pero cuando pongo la parte del LCD se queda encallado el programa en cualquiera de estas funciones del programa:

    OpenXLCD(EIGHT_BIT & LINES_5X7);
    BusyXLCD();
    WriteCmdXLCD(0x06);
    BusyXLCD();
    WriteCmdXLCD(0x0c);
    putrsXLCD("HOLA");

Si comento estas funciones el rele funciona correctamente, si dejo sin comentar cualquiera de ellas el código ya no llega hasta el bucle while y el rele no hace nada.

Una ayuda?? estoy a punto de la desesperación jejejejeej :D

Por otro lado, he estado buscando información sobre como hacer el HMI y he visto herramientas como Microchip Graphics Display Designer (GDD) de Microchip y el Visual TFT y Visual GLCD de MikroElektronika. ¿Alguien ha usado estas herramientas para crear los gráficos de los displays? ¿que tal van? ¿Hay algo parecido que genere código para CCS C?

¿Que opináis de las herramientas del MikroC de Mikroelektronika? la licencia vale la mitad que el CCS C, pero ¿funciona igual de bien?

Saludos!
BitPIC

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Arduino + Raspberry + Android OPINION
« Respuesta #35 en: 25 de Noviembre de 2012, 16:26:28 »
Yo uso CCS, pero tambie use el compilador de MikroE.
En mi opinión es muy buen compilador, hay que acostumbrarse un poco a usarlo, y tiene al igual que CCS, muchas cosas bien resueltas, para acelerar tu desarrollo.
En algunas cosas, precisamente la parte visual de GLCD, esta mas avanzado que CCS (aunque este tiene librerias graficas) para la edición visual de tu HMI.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #36 en: 02 de Diciembre de 2012, 07:15:53 »
Ok, ya van saliendo las cosas con Mplab X8. Si es que a veces soy un poco comodon, acostumbrado a que en los IDEs venga ya todo hecho cuando lo tengo que hacer me extreso jajaajaj

Ya me he hecho mi propia librería para el LCD y funciona bastante bien, falta pulir y añadir algunas funciones, pero lo basico ya funciona.

Ahora solo falta leer las entradas analogicas y usar el PWM y ya tendré lo basico para hacer funcionar la tarjetita....

A ver si esta semana acabo unas cosas y pido oferta de la fabricación de estas tarjetas en China.

Por cierto, ¿alguien a usado alguna vez los TFT de 4Dsystems? ¿que tal van?

TFT 4DSystem

Saludos.  :-/
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #37 en: 13 de Diciembre de 2012, 18:22:52 »
Buenas a todos,

Ya tengo fechas, para febrero lanzamos protos, se que quedan dos meses pero ya pondré fotos de las placas cuando lleguen.

Por cierto, voy a traducir todo el programa que hice en Arduino a C para un PIC18F4550 que es el que voy a usar finalmente.

El programa de Arduino me ocupa 10K de programa según indica la IDE de Arduino cuando compilas y el 18F4550 cuenta con 16K de memoria de programa, así que no voy sobrado de memoria de programa que digamos.

Cuando lo traduzca al X18 de MPLAB X ¿que creéis que ocurrirá en cuanto a tamaño ocupara igual, ocupara más o ocupará menos que en Arduino? uso el MPLAB X free, por lo que el código no queda tan comprimido como en las versiones de pago.

Saludos.
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #38 en: 18 de Abril de 2013, 17:32:05 »
Buenas,

Lo prometido es deuda y más vale tarde que nunca. Os pongo las imágenes de los primeros protos.










El programa lo tengo medio acabado también, pude aprovechar bastante código que utilice para el Arduino, por supuesto tube que "traducirlo" al C del PIC.

Las pruebas las he hecho con el proteus pero en los próximos días comenzaré a probarlos en la placa. Eso si arranca bien claro jeejjeej esperemos que si.

Bueno gente, un saludo e intentaré seguir avanzando novedades.  ;-)
BitPIC

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Arduino + Raspberry + Android OPINION
« Respuesta #39 en: 18 de Abril de 2013, 17:36:00 »
Se ve muy linda placa, felicitaciones !!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #40 en: 19 de Abril de 2013, 18:58:19 »
Como suele pasar en los prototipos a veces surge algún error. En mi caso a sido poner dos de los pines de alimentación del PIC invertidos, donde debería ir VSS he puesto VDD y a la inversa, con lo que la tensión de la fuente me cae a 1V y se me calienta el PIC.

No puedo cortar pistas y unirlas bien porque da la casualidad que pasan por debajo del encapsulado del PIC. Me va a tocar levantar esos dos pines y hace la conexión correcta con cables. Lo veo difícil pero habrá que intentarlo, espero no cruzar los demás pines con estaño...

¿Alguien lo ha hecho alguna vez? ¿Hay algún truco?
BitPIC

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #41 en: 20 de Abril de 2013, 01:41:27 »
Se puede hacer, pero ten cuidado al levantarlos de hacerlo sólo una vez. Si si los mueves mucho arriba y abajo acaban por romperse.
Aunque mucho me temo que ese PIC estará muerto. Son bastante resistentes, pero me he cargado varios en un abrir y cerrar de ojos por alimentarlos a la inversa.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #42 en: 27 de Abril de 2013, 08:06:22 »
Efectivamente Nocturno, me he cargado el PIC. Hice la modificación bien (en realidad no lo hice yo, lo hizo un familiar que se dedica a eso y tiene las herramientas adecuadas) pero al volverlo a conectar sigue callendo la tensión y calentandose el PIC.

He cortado los pines de alimentación y entonces vuelve a tener alimentación correcta, así que por descarte va a ser el PIC.

Ya os informaré cuando funcione.

BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #43 en: 16 de Mayo de 2013, 06:05:02 »
Buenas,

Estoy probando ya la tarjeta y le he conectado un display LCD de 20x2 y me encuentro una problema.

Si hago:

printf("Hola mundo");

funciona correctamente, pero quiero imprimir mensajes a través de una tabla que contiene todos los mensajes en diferentes idiomas. Para ello hago esto:

Código: [Seleccionar]
// Imprime en el LCD el mansaje (a) en el idioma (b) correspondiente
void mostrar_mensaje(int a, int b){
    int j;
    for(j=0;j<21;j++){
        printf("%c",tabla_mensajes[a][b][j]); //mensaje, idioma, caracter
    }
}

y la tabla a la que accede es esta:

Código: [Seleccionar]
#define num_idiomas 4
#define mensajes 40
#define caracteres 22

#define INGLES      0
#define CASTELLANO  1
#define HOLANDES    2
#define ALEMAN      3
#define JAPONES     4


const char tabla_mensajes[mensajes][num_idiomas][caracteres] = {
//  INGLES                  CASTELLANO              HOLANDES                ALEMAN                  JAPONES
    "Texto1", "Texto1", "Texto1", "Texto1",                 //0
    "AEOLUS V1.0",          "AEOLUS V1.0",          "AEOLUS V1.0",          "AEOLUS V1.0",                          //1
    "FAN:",                 "VENTILADOR:",          "FAN:",                 "FAN:",                                 //2
    "VEL:",                 "VEL:",                 "VEL:",                 "VEL:",                                 //3
    "UV:",                  "UV:",                  "UV:",                  "UV:",                                  //4
    "FILTER:",              "FILTRO:",              "FILTER:",              "FILTER:",                              //5
    "Texto1",       "Texto1",       "Texto1",       "Texto1",                       //6
    "UV ON",                "UV ON",                "UV ON",                "UV ON",                                //7
    "TIME:",                "TIEMPO:",              "TIME:",                "TIME:",                                //8
    "UV TIME:",             "TIEMPO UV:",           "UV TIME:",             "UV TIME:",                             //9
    "HOURS UV:",            "HORAS UV:",            "HOURS UV:",            "HOURS UV:",                            //10
    "HOURS FILTER:",        "HORAS FILTRO:",        "HOURS FILTER:",        "HOURS FILTER:",                        //11
    "HOURS FAN:",           "HORAS VENTILADOR:",    "HOURS FAN:",           "HOURS FAN:",                           //12
    "LENGUAGE",             "IDIOMA",               "LENGUAGE",             "LENGUAGE",                             //13
    "ENGLISH",              "INGLES",               "ENGLISH",              "ENGLISH",                              //14
    "SPANISH",              "CASTELLANO",           "SPANISH",              "SPANISH",                              //15
    "DUTCH",                "HOLANDES",             "DUTCH",                "DUTCH",                                //16
    "GERMAN",               "ALEMAN",               "GERMAN",               "GERMAN",                               //17
    "JAPANESE",             "JAPONES",              "JAPANESE",             "JAPANESE",                             //18
    "FAN SPEED",            "VELOCIDAD VENTILADOR", "FAN SPEED",            "FAN SPEED",                            //19
    "LAMINAR VELOCITY",     "VELOCIDAD LAMINAR",    "LAMINAR VELOCITY",     "LAMINAR VELOCITY",                     //20
    "RESET FAN HOURS",      "RESET HORAS VENT.",    "RESET FAN HOURS",      "RESET FAN HOURS",                      //21
    "RESET UV HOURS",       "RESET HORAS UV",       "RESET UV HOURS",       "RESET UV HOURS",                       //22
    "RESET FILTER HOURS",   "RESET HORAS FILTRO",   "RESET FILTER HOURS",   "RESET FILTER HOURS",                   //23
    "NO",                   "NO",                   "NO",                   "NO",                                  //24
    "YES",                  "SI",                  "YES",                 "YES",                                   //25
    "NORMAL",               "NORMAL",               "NORMAL",               "NORMAL",                               //26
    "1/2",                  "1/2",                  "1/2",                  "1/2",                                  //27
    "UV OFF",               "UV OFF",               "UV OFF",               "UV OFF",                               //28
};

El caso es que este código con el Proteus me funciona correctamente, pero en el tarjeta en lugar de aparecerme estos mensajes me aparecen todos los caracteres como "||"

No entiendo que puede estar pasando, si con printf("Hola mundo"); funciona, creo que de esta manera debería funcionar también.

Alguna idea????????????  :? :? :?
BitPIC

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Arduino + Raspberry + Android OPINION
« Respuesta #44 en: 16 de Mayo de 2013, 06:25:01 »
¿Tienes algún warning al compilar?


 

anything