Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
buenas, para llevar adelante mi proyecto necesito empezar a centrarme en la parte de toma de datos en lugar de en la de los servomotores "aunque esta es mas chula XD" os cuento lo que necesito.
un brazo completo, tal como lo tengo proyectado requerirá de un total de 27 potenciómetros para controlar la posición, y 5 extras para las yemas de los dedos "estos son una pijadita" y que sea accesible via I2C "seria lo mejor" o en su defecto cualquier conexión al PC.
Todo esto es muy bonito de planificar, donde ira cada uno, como recogera la informacion etc... pero luego llega el momento de ponerse manos a la obra y ... zas ¿que PIC necesito...? no lo se xD y tampoco tengo ni idea de por donde empezar a buscar, pregunte en una tienda de electronica, y basicamente me miraron con panico en los ojos y me dijeron que si queria un pic que les dijese el modelo que necsitaba, que ellos por especificaciones no los venden... asi que... ¿como lo hago? son entradas analogicas que tienen que acabar en al canal I2C o en un serial virtual via usb en el ordenador... ¿alguien me puede decir por donde empezar a buscar o que hacer?
Gracias por adelantado ^^
bueno... me queda claro que no tengo ni idea de los PIC's esos grandes desconocidos xD lo seguiran siendo almenos hasta que empiece el ciclo superior de desarrollo de componentes electronicos xD
Aprovecho el hilo para hacer una pregunta similar.
Tengo un proyecto en mente bastante completo, se tienen que controlar una serie de servos que puede variar, más una interfaz con pantalla y botonera, más un software que tiene que menajar unas variables decimales que han de ser configurables por usb.
Hasta aquí creo que más o menos me puedo entender para encontrar un pic con estas características, pero tengo otro porblema, este Pic tiene que ir guardando información por bastante tiempo y es ahí donde me pierdo, en calcular la cantidad de memoria que me haría falta.
¿Alguién sabe explicarme como averiguar esto?
Gracias.
Un saludo.
En principio es muy facil de calcular, la fórmula es:
Bytes = Tamaño de los datos * muestras por unidad de tiempo * total de unidades de tiempo
Bytes es el tamaño de memoria en bytes de 8 bits que necesitas (la unidad de medida de memorias mas común). Lo dificil suele ser conocer el valor de las demas variables variables...
Por ejemplo, quiero salvar un log de temeratura cada minuto durante dos dias.
Los datos raw del ADC son de 10 bits, por lo que necesito 16 bits (int16) para almacenarlos, como "bytes" es 8 bits "Tamaño de los datos" vale 16/8 = 2. Si fueran 8 canales sería 8*(16/8) 16 bytes.
Como capturo la temperatura cada minuto y quiero que quepan dos dias de datos "unidad de tiempo" será minutos y "muestras por unidad de tiempo" será 1. Entonces "total de unidades de tiempo" será dos días, que en minutos (mi unidad de tiempo escogida) es 60minutos * 24horas * 2dias = 2880.
Entonces Bytes = 2 *1*2880=5760 bytes (de 8 bits) tendre que reservar para esos dos dias. Una EEPROM de 4K (4096 bytes) se queda corta, tendré que usar una de 8K (8192 bytes).
Esto suele complicarse si no conoces "muestras por unidad de tiempo", por ejemplo si lo que registras son eventos asíncronos, entonces tienes que estimarlo y en determinadas circunstancias te equivocas. Has de programar unas reglas de actuación en caso de desbordamiento de memoria: o sobreescribo los datos viejos, o paro de almacenar etc.
Por cierto, en caso de eventos asíncronos suele ser necesario añadir un timestamp (en el caso de un regístro temporizado no es necesario) para saber cuando fue generado el dato.
Vale, me hago una idea pero tengo el problema de que la relación cantidad de información/tiempo no es fija, es decir, puedo que tenga que un día almacenar 50 valores y otros días directamente ninguno.
Tendré que tomar un valor de compromiso.
Un saludo.