Comenzar con Arduino - Puerto SERIE - Recomendaciones ?

Saludos al foro,
Este es mi primer mensaje.

Estoy interesado en comenzar con Arduino.
Mi perfil: Ingeniero Técnico, pero bastante oxidado en temas Técnicos (los últimos años me he dedicado a labores de Gestión).
He programado en C, hace muchos años, y bastante poco, la verdad: tendría que reciclarme.

Pretendo desarrollar equipos basados en Microcontrolador y me han recomendado Arduino.
Serían sistemas empotadros en máquinas, vehículos, etc... realizando diferentes acciones.

Por ejemplo, en el proyecto que tengo actualmente entre manos, tengo que hacer bastantes cositas por el puerto Serie.
Es más, necesitaría 2 puertos serie: 1 para recibir del HOST y otro para enviar a una segunda tarjeta (actuadores).

Comprendo que es difícil con estos datos que os cuento haceros una idea, pero tampoco quiero escribiros una parrafada con todos los detalles.
Con este preámbulo que os cuento, qué equipo Arduino me recomendaríais que comprara?

He estado mirando el Arduino UNO, pero veo que tiene un USB, y creo que también un Serie, pero no sé si está completamente implementado.
No sé si hay alguna tarjeta Arduino con 2 puertos Serie. Sabéis si existe en algún sitio una tabla comparativa de características de todas las tarjetas Arduino?

Por otro lado, a la hora de programar: Me podés recomendar literatura para estudiar y aprender el lenguaje de programación?
Una duda: Arduino se puede depurar en tiempo real, como se hace con la interfaz JTAG? por ejemlo con equipos OLIMEX.

(Espero no haber dicho muchas barbaridades en mi primer mensaje, como os digo, desde la absoluta humildad, me tengo que quitar el óxido.

Un saludo y gracias de antemano.
Fran

Hola Fran, bienvenido al foro

El tema del puerto serie, si no vas a necesitar procesar mucha cosa en el Arduino, podrías usar la librería de SoftwareSerial para crear un puerto serie adicional por software en las placas Uno, el problema es que consumo recursos. El Arduino Mega tiene 4 puertos serie, por lo que debería servirte sin problema. Aunque puede que te sirva una tercera opción, la nueva placa Arduino Leonardo tiene 2 puertos serie nativos, uno conectado al USB y otro a la placa, son independientes, por lo que sería el ideal si vas a conectarlo a un PC, placa embebida, etc.

¿Literatura? El compilador acepta C y parte de C++, por lo que cualquier libro de C general te serviría.
Por ejemplo: http://www.amazon.es/Programming-Language-Brian-W-Kernighan/dp/0131103628/ref=sr_1_sc_1?ie=UTF8&qid=1332120515&sr=8-1-spell
Si quieres algo más centrado en Arduino, pero más básico: http://www.amazon.es/Beginning-Arduino-Programming-Writing-Microcontroller/dp/1430237775/ref=sr_1_1?ie=UTF8&qid=1332120697&sr=8-1
O cualquiera de nuestra recopilación de guías: Arduino Playground - Guias

Depurar en tiempo real, un poco mal. El IDE de Arduino no soporta depuración, por lo que tienes que irte a otros IDEs para ello, además que con el nivel de abstracción que tiene Arduino se hace poco necesario y es más rápido y cómodo mandar cadenas por el puerto serie al ordenador.

Un saludo

Saludos Chiva:
Gracias por tu detallada información.

Dónde me recomendarías que compre la Tarjeta Arduino?
Concretamente he echado un vistazo rápido en Farnell y no he encontrado la nueva "leonardo"... quizás es que ya estoy un poco "sopa" a estas horas :sleeping:.

Gracias anticipadas.
Fran.

Todavia no hay una Leonardo oficial a la venta, de la que escuchas hablar por el foro es de una desarrollada por la propia gente del foro.
Sobre donde comprarla, hay muchos distribuidores segun la zona, igualmente yo siendo de Argentina, donde hay distribuidores, termino comprando las nano en china, aqui

Saludos!

Como dice dieguitofernandez, todavía no ha salido, pero hay clones por el foro, ya que las especificaciones y código de la placa si que los sacaron, creo que si les pides alguna montada (si no te manejas mucho con el soldador) te la podrán dar a bastante buen precio.
Vinciduino: http://arduino.cc/forum/index.php/topic,78781.0.html

Se supone que la Leonardo la van a sacar en ya, pero llevan diciéndolo varias semanas y la nueva versión del IDE de Arduino que va a salir en unos días no tiene activada la placa Leonardo, por lo que no creo que salga a la venta a muy corto plazo.

En cuanto a donde comprar una, como dice dieguitofernandez tienes la alternativa de copias chinas en dealextreme, ebay y demás o distribuidores de placas oficiales como pueden ser Ardutienda, BricoGeek, Electan, Farnell y muchas más.
Ya depende de lo que te venga mejor.

Un saludo

Saludos Chiva:
Me temo que no puedo esperar a que se haga la presentación en sociedad del Leonardo, con todo su entorno necesario. Tengo que irme a algo ya existente y muy probado.

He visto en DealExtreme este producto:
Arduino Mega AVR ATmega1280-16Au USB Board (5V) (UK Warehouse Stocking)
(realmente lo de AVR no sé muy bien qué indica) ni el resto de siglas:
1280: supongo que es el Micro.
16: supongo que va sobre un núcleo de 16 bits.

Es un mega, con lo cual cumple tu idea inicial. Tiene 4 puertos, aunque yo sólo necesito 2. He pensado que un tercero lo puedo utilizar para reportarme valores de variables al PC; para que me ayude en la depuración (al no tener un JTAG).
No usaría nada de Digital ni Analog Inputs ni Outputs con los que cuenta esta tarjeta, pero bueno... qué se le va a hacer, va bastante sobre-dimensionada.

No sé cómo ves el precio? La entrega no sería demasiado tardía al estar en stock en UK.
(disculpadme que pida tanta asesoría en este primer proyecto, pero no quiero pifiarla la primera vez)

Gracias anticipadas.
Fran

Te sugiero que para mantener el orden del foro mantengas este hilo para las preguntas que sean propias de la inicializacion en Arduino (compra de materiales, problemas con los primeros ejemplos, etc.), y que crees otro hilo sobre el problema en si que pretendes solucionar con el Arduino, tratando de dar la mayor cantidad de detalles sobre el problema, hard disponible, etc. Yo por ej. todavia no entiendo porque necesitas dos seriales... ya tienes la plaqueta de los sensores? O de los actuadores? Trata de usar también un titulo lo mas descriptivo posible.

Respecto al mega, para tareas de automatismos no creo que la velocidad de los NO-Mega sea un problema, si puede ser el tema de la cantidad de entradas-salidas, pero hay muchas formas de multiplexarlas. Busca en el foro y vas a encontrar infinidad de ejemplos de esto ultimo.

Saludos.

El 16 es la velocidad máxima en Mhz y Au es el tipo de empaquetado que tiene el chip, nada importante.
Si tienes curiosidad de donde sale esto, página 422: http://www.atmel.com/Images/doc2549.pdf

Si no tienes prisa (es decir, puedes esperar un mes), puedes pedirlo a Dealextreme, ya que a veces se les va la pinza y no tienen stock y no avisan y ahora mismo están un poco saturados con los pedidos, entre lo de año nuevo chino y que han cambiado todo el sistema informático tienen bastante retraso (de hecho hoy acaban de procesar mi pedido que llevaba pagado desde el día 3, aunque en la sede china).
Si andas con prisa pídelo a un distribuidor español.

Se me acaba de ocurrir una chapuza un poco monumental que supongo que funcionaría si no vas a utilizar control de flujo, y es conectar el cable de TX a un ordenador y el RX al otro. Eso suponiendo que de una placa solo recibas y a la otra placa solo mandes datos.

@dieguitofernandez: si el problema es que no sabe que placa comprar para satisfacer sus necesidades, no como se programa ni nada.
Lo de los puertos serie también lo ha dicho, uno para conectar a un host (PC, otro Arduino, placa embebida, que tiene un puerto serie) y otro a otra placa controladora con puerto serie.
La velocidad de las placas normales y mega son exactamente la misma, tienen el mismo core, misma velocidad de reloj y misma configuración.
Y como ha comentado el problema es que necesita dos puertos serie, cuando las placas normales solo tienen uno, por eso el tema de la placa mega.
Por mi parte creo que se ha explicado bastante bien, ojalá todos los que se preguntaran por aquí tuvieran las ideas tan claras como él. :wink:

Ok, gracias por corregir mis datos erroneos, estaba equivocado al respecto de las mega y eso.
Respecto lo de los series no lo había entendido, no me quedaba claro si esa otra placa que tiene comunicacion serial ya la tenia o por algun motivo pensaba implementarlo de esa manera.

Saludos!