Empezando con AVR

Buenos días gente. Soy nuevo en este foro. Para mi proyecto fin de carrera tengo que diseñar un sistema que mueva un motor de CC en un sentido u otro, en función de la señal de unos sensores. Este sistema lo tengo desarrollado actualmente con una protoboard con un circuito para la alimentación de los sensores y con un L293D para gobernar el giro del motor. Todo esto conectado a una tarjeta de adquisición de datos (National Instruments) y el correspondiente programa en LabView.

Sin embargo, debo diseñar un circuito autónomo, por lo que me he decantado por programar un microcontrolador. Me recomendaron Atmel. Y aquí viene la duda:

He visto que podría programar el micro Atmel (en principio con un AtTiny24 voy servido) para lo que necesitaría el starter kit ATSTK500+ATSTK505, programando con el AVRStudio en C.

Lo que pasa es que he estado echándole el ojo a la tarjeta Arduino Duemilanove (con un Atmega8), más barato. ¿Qué me recomiendan? ¿En qué lenguaje se programa con Arduino?

Es mi primera experiencia con microcontroladores así que ando algo perdido.

Muchas gracias

PD: Para ir empapandome de conocimiento he sacado los libros "Programing and customizing the AVR microcontroler (Dhananjay V. Gadre)" y "Embedded C Programing and the Atmel AVR (Richard Barnett)".
 
Depende del presupuesto y de tu interés futuro. Arduino se programa con un lenguaje propio, del cual es fácil pasarse al C, además tiene foro en castellano, es barato, y no necesitas programador.

Por otro lado, el STK500 es mucho más versatil, aunque caro, y te permite muchas más cosas, si bien la tienes que programar en C directamente.

En cuanto a libros, mirate Smileymicros, que tiene un par de libros interesantes y bien de precio.

Por cierto, ya que parece que algo de inglés tienes, AVRFreaks.net es un excelente recurso.
 
Muchas gracias por contestar. La verdad es que no se qué hacer, porque de entrada me, por lo poco que he visto por ahí, me da la impresión de que es más sencillo (y barato) comenzar con Arduino. Pero no se si al ser un lenguaje propio me encontraré con problemas, o si en efecto hay suficientes recursos en la Web para salir de los problemas que me vayan a surgir. ¿Qué tal es el lenguaje de la Arduino?

Muchas gracias.
 
Por lo que tengo entendido ('yo solo ce C', ojo) que del Wiring (o como se llame) este de la Arduino al C, sólo va un paso. Parece ser que en realidad lo que hace el entorno es 'traducir' el lenguaje propio a C, y luego compilar con el GNU-GCC para AVR (el mismo que lleva el WinAVR para el AVRStudio).

Personalmente, si no tienes experiencia con ningún microcontrolador, igual te es más conveniente empezar con el Arduino, sobre todo si luego, como aficionado, vas a querer hacer algunas cosas.

Creo que Smileymicros tiene un nuevo libro sobre programación de AVR's con el Arduino, así como uno para aprender a programarlos en C, y por pocos €.

Si quieres dedicarte de una manera más profesional, o hacer cosas ya un poco más sofisticadas, te recomiendo que tarde o temprano te pases al C, e incluso aprendas algo de ensamblador. La verdad es que para 'exprimir' toda la potencia de cualquier micro, hay que pelearse con el a bajo nivel, es decir, toquetear los periféricos 'a mano', sin librerías ni cosas por el estilo. Y si encima haces algo en ensamblador, aprendes aún más de cómo funcionan estas pequeñas bestias por dentro.
 
Arduino es muy buena opcion.. .pero tienes que construir el programador para poder hacer tus pruebas... solo es cuestion de bajar el firmware y llevarlo junto con un micro en blanco a alguna casa de electronica donde lo puedan programar... despues de eso ya puedes programar los demas micros
 
Arduino es un Freeware, te dan desde los esquematicos para armar tu tablilla programadora o tu kit de desarrollo, hasta el software de compilacion, pero al tener que armar tu programador necesitas programar un micro que lo gobierne, ese procedimiento solo se hace una sola vez para bajarle el bootloader y que se pueda comunicar con la computadora, despues te sirve para reprogramarlo o para programar otros micros...
 
Ah pues eso no lo sabía. Yo pensaba que comprabas la tarjeta Arduino, la conectabas al PC por USB y ya tirabas pa'lante. Seguiré mirando entonces. Muchas gracias
 
de echo me parece que en la misma pagina de arduino te pueden vender el kit para armar o ya completamente armado y te lo envian hasta tu casa por paqueteria... seria cuestion de revisar si te conviene asi...

Edit:

Efectivamente... en la pagina vienen links de distribuidores locales...

http://arduino.cc/en/Main/Buy
 
Los kits o placas ya montadas suelen venir con el micro ya programado con el bootloader, de tal manera que no necesitas un programador ni nada o nadie que te lo programe.

Aún así, yo y mis manías tontas, soy de la opinión que por los 30€ o menos que cuesta (más portes, ojo) el AVRISP MkII de Atmel mismo original, me lo compraba. De hecho, me compré el MkI hace ya unos nueve años, y entre hoy y mañana me llega un AVRDragon nuevecito para casa (he estado usando los programadores y los JTAGICE del trabajo).
 
Pero el AVRISP es sólo para programar el micro no? Me refiero a que, por ejemplo la placa Arduino (o también la ATSTK500 de Atmel), además de programar el micro ya integran en la placa las entradas y salidas con las que realizar los prototipos, por lo que entiendo que para empezar son más sencillos. Corríjanme si me equivoco.

Saludos y muchas gracias por la info
 
La STK500 incluye un AVRISP MkI, además de entradas y salidas, teclas, leds, alimentación programable, y un sinfín de cosas. Mejor incluso que la Arduino. Personalmente, he hecho muchas cosas con una STK500, y si tienes acceso a una de ellas, ni te lo pienses.

Otra cosa es que a título personal y para mis particulares condiciones, me sea más conveniente el AVRDragon que la STK500.

La placa Arduino, NO LLEVA PROGRAMADOR, si no bootloader, que es un pequeño programilla que se encarga de programer le mismo procesador desde el mísmo, conectándose por el puerto serie. Es decir, se autoprograma. Pero si te cargas el Bootloader, ya no puedes volver a programarlo sin un programador externo.
 
Última edición:
Pues finalmente opté por la placa Arduino. Me parece que en principio puede ser más fácil mi iniciación en el mundo de la programación de microprocesadores. Espero que me llegue pronto para poder empezar a probar.

Saludos y muchas gracias
 
Yo tuve la ocasión de probar la STK600 durante unas horas, y hoy por hoy, yo me continuaría comprando una STK500. Prestaciones/precio siguen siendo impresionantes.

Sin embargo, si quien comprase es la empresa, y necesitase trabajar asiduamente con Xmegas o similares, igual acabaría pidiendola. Ojo, es una pasta.

Aún así, yo siempre he desarrollado las cosas con un JTAG MkI o MkII, y no tiendo a usar mucho la STK500, a no ser para 'pruebas de concepto puntuales'.
 
Atrás
Arriba