Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos,
actualmente tengo entre manos la creación de un humanoide con unos 16-18 servos. En un principio iba a usar una Arduino UNO o Paperduino Leonardo, pero me han comentado que estas placas sólo aguantan hasta 12 servos a la vez por culpa del AVL. Me gustaría que me recomendaran que microchip (PIC, ATMEL, etc.) debo utilizar si quiero tener 16-18 servos, un modulo bluetooth, un accelerometro y algunos LEDs. Otra cosa a tener en cuenta es que Arduino es muy fácil de programar, simplemente conectas el cable USB y cargas el código C, con los PIC funciona igual?
Espero haberme expresado bien y que se me entienda con facilidad,
Muchas gracias de antemano.
Para eso con cualquier micro con patas suficientes tienes, no es necesario que sea de más de 8 bits, aunque por el precio de un 16bits de las mismas patas...
Para captura de imagen, en mi empresa estamos utilizando un módulo externo y un PIC sencillito de 16 bits (se podría hacer con uno de 8), para procesado de imágen yo me iría a un PC embebido (BeagleBoard, Rasperry Pi, etc.)
S2
Ranganok Schahzaman
Si vas a hacer unos pocos, tira directamente por algo tipo ATXmega128A4. Por unos pocos euros, no te quedes corto.
Si usas servos, el consumo del micro no es el factor que más te importa.
Para aprender, empezar con un PIC16F84 es lo habitual. Cuando empiezes a cansarte de repetir siempre las mismas instrucciones en ensamblador, entonces igual empieza a ser hora de probar micros RISC, como los AVR (los PIC son PISC). Y si crees que el número de instrucciones es demasiado alto, prueba un ARM, que tiene menos que el PIC (en modo ARM nativo, no en modo Thumb). 😈 😈
Si vas a intentar captura y procesado de imágenes, tira por una RaspberryPi, o una BeagleBone, como mínimo. Así podrías incluso aprovechar el WiFi eventual de la misma para comunicarte con el controlador de servos (y muchas más cosas).
Venga, más leña, esto es la guerra.
Pasa del ensamblador y programa en C, tu salud mental te lo agradecerá.
S2
Ranganok Schahzaman
Pues ni uno ni otro, puedes usar un mini maestro para 18 servos http://www.pololu.com/catalog/product/1354 " onclick="window.open(this.href);return false; que se puede programar y controlar por usb y además te permite usar un lenguaje de script sencillo para hacerlo funcionar.
En este punto, estoy 102% de acuerdo con Maese Ranganok.
Aprendí a programar micros (el 8051) en ensamblador, después de haber aprendido ensamblador para 8086, luego aprendí a programar ensamblador para el PIC16F84. Aprendí en una semana a programar este micro, y así programé mi primer robot, en ensamblador, con PIC16F84. Mis canas aparecieron por esa época.
Luego aprendí las maravillas del ensamblador del AVR, y las canas frenaron su avance. Luego aprendí C, y hasta que vino la enana, no aparecieron más canas...
Desde entonces, aunque hago alguna cosita en ensamblador, me manejo en C. Especialmente los programas largos son mucho más rápidos y eficientes de desarrollar, y sólo donde necesito cosas muy puntuales, hiperoptimizadas y hechas con triquiñuelas, utilizo ensamblador.
Mi opinión personal, es que es necesario saber ensamblador para saber programar y entender lo que está pasando, especialmente con los microcontroladores, pero para la programación de 'a diario', soy mucho más partidario del C.
A la hora de valorar micros y poder elegir con auténtica objetividad, es imprescindible conocer el ensamblador y los registros internos de la CPU del mismo. Es decir, la arquitectura. Se aprende muchísimo.
Claro, que en el estado mental en el que me dejó el PIC16F84, cualquier opinión que yo pueda poner debe ser puesta en cuarentena. 😈
Por cierto, huye del USB. Llevo demasiadas guerras contra dicho periférico, y es un auténtico kbrn. En la planta industrial donde trabajo están pensando en hacer una manifestación/huelga en contra del USB y tal.