Saludos,
llevo unas semanas trabajando con este ordenador Intel Edison, y que decir…
Algo sino no haría esta entrada. Para ser un ordenador en miniatura de 25x35 mm
con un Dueal Core Atom a 500 Mhz y un MCU Quark SOC a 100MHz, con wifi,
bluetooth, 40 GPIOs, un giga de RAM y 4 Gigas de memoria Flash. Lo que lo convierte
en una pequeña joya muy potente quizá comparable con la raspberry pi 3 pero aun
no la he probado.
Como ya mencione en otro hilo empleamos estas placas para
desarrollar balancings como EddieBot,
que es un proyecto muy bien desarrollado con un ajuste de PID muy conseguido. Pero necesitamos más sensores,
un sensor de distancia, un seguidor de línea y posiblemente un sensor de color.
Un sensor de distancia, normalmente usamos el GP2Y0A21YK,
pero funciona a 5V, Edison a 3,3V y necesitaríamos una placa ADC, pero mirando especificaciones
podíamos emplear el sensor APDS-9960,
funciona a 3,3V y por I2C pero no había driver para el Edison. Bueno no había,
he adaptado el driver de Sparkfun,
para el Edison.
No he probado todas las funcionalidades pero funcionar funciona.
El segundo sensor es un seguidor de línea que usamos en la mayoría
de robots para los cursos de robótica, pero en esta ocasión lo hemos hecho I2C con
el PIC12LF1840,
un prototipo de una serie de sensores que estamos diseñando para nuestros
robots que funcionen por I2C.
No ha sido fácil, si bien el sensor funcionab sin problemas conectándolo
a un arduino con el Edison, nos daba problemas al emplear la instrucción.
mraa_i2c_read(i2c,message,4); //4 bytes para dos valores de 16
bits de los sensores de linea.
La solución ha sido hacer.
void GetLineSensor(uint16_t *
temp)
{
mraa_i2c_context i2c;
mraa_init();
i2cline = mraa_i2c_init(1);
mraa_i2c_address(i2c, address);
int i;
uint8_t message[4]={0,0,0,0};
for(i=0;i<4;i++)
{
message[i]=mraa_i2c_read_byte(i2c);
i++;
}
temp[0]=(uint16_t)message[1]<<8;
temp[0]=temp[0]+message[0];
temp[1]=(uint16_t)message[3]<<8;
temp[1]=temp[1]+message[2];
}
No es una solución muy elegante pero funciona.
Va un poco borracho ... Working progress...
Anakleto.
No hay comentarios:
Publicar un comentario