Pages: 1 ... 4 5 [6] 7 8 ... 64   Go Down
Author Topic: vinciDuino - un Arduino Leonardo hecho por gente del foro  (Read 95016 times)
0 Members and 1 Guest are viewing this topic.
Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

Una pequeña sugerencia. Puedes conectar un condensador serie entre DTR y Reset de 100nF a ver que pasa. 

Por cierto, como lees y escribes con el USB, ed. El sketch para trabajar atraves del USB nativo?
« Last Edit: November 15, 2011, 06:30:48 am by fm » Logged

   

0
Offline Offline
Full Member
***
Karma: 1
Posts: 247
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola fm, no entiendo muy bien lo que me preguntas.

Para programar el sketch utilizo el entorno IDE Arduino1.0 (que reconoce la placa Arduino Leonardo)
Conecto la placa con un cable miniUSB al PC
Utilizo los programas ejemplo de transmisión y recepción serie

La transmisión serie la he probado con dos conexiones:
1.- Con el cable miniUSB al PC (USB nativo)=> todo perfecto
2.- Con un adaptador (PaperFTDI) USB-RS232-TTL => parece que el chip no transmite (el LED TX no se enciende y el terminal no recibe nada)
      con éste método sólo conecto GND, RX y TX, no utilizo DTR, ya que este cable sería para activar el autoreset y así poder programar el chip.

Por otra parte el Leonardo tiene una función nueva, con un par de ejemplos "Keyboard" y "Mouse", que simulan un teclado y un ratón en el PC, conectando la placa al ordenador a través del cable miniUSB (USB nativo).

Lo que más me mosquea es que si no tengo un terminal a la escucha y conectado con el cable miniUSB (USB nativo), el Leonardo no transmite, o al menos no se enciende el LED.
Logged


Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Inizul

perdona pero me he explicado muy mal. Esto de estar en el móvil no ayuda nada.

Hay varias cosas que creo interesantes probar. La primera es el condensador de 100nF en serie a reset
y línea DTR. Por el motivo que sea y las pruebas que he hecho, el modulo de FTDI no se da por
enterado que el micro le está mandando cosas. No me preguntes por qué, pero es lo que vi ayer.
Tengo que mirar el datasheet detenidamente e intentar entenderlo.

La pregunta que hacía con respecto a cómo se sacan los datos por el puerto serie. Estoy suponiendo
que hay 2 dispositivos serie en el AVR:
1. USB nativo que se monta como un dispositivo virtual comm en el PC.
2. linea UART de toda la vida.

Por lo tanto si son dos dispositivos distintos el objeto Serial debe referenciar a uno de ellos.
Por lo tanto Serial.print debe "pilotar" uno de esos dispositivos o el 1 o el 2. Siguiendo esta
lógica, debería haber otro objeto que maneje el otro dispositivo (por ejemplo, Serial1 o Serial2)
no te sabría decir porque no me he metido a fondo con el código del core.

Vamos, algo similar a lo que se hace cuando se utiliza la librería que hace bit banging para
emular una linea serie.

Que no se encianda el LED de TX en la interfaz nativa USB es normal ya que el AVR no ha establecido ni
negociado ningún tipo de "end-point" con el host. Por lo tanto ese bloque está sin activar.

Algo similar le sucede al chip FTDI, cuando transmites mucha información y no lo tienes conectado
al ordenador, parpadeará durante unos segundos hasta que se llenes sus bufferes de transmisión.
Logged

   

0
Offline Offline
Full Member
***
Karma: 1
Posts: 247
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola fm perdona que no te haya contestado antes, pero es que he estado liado.

Creo que tienes razón, debe haber algún método para distinguir si se emula el puerto serie por USB o por la UART.

De momento lo que he conseguido ha sido cargarme el bootloader del Paperduino Leonardo,  creo que he apretado el pulsador de RESET mientras estaba transmitiendo utilizando el SoftwareSerial (que tampoco funciona por cierto).

Voy a intentar recargarlo, y después con tranquilidad indagar entre los archivos del core a ver si descubro algo (no prometo nada, que no es lo mío).

Tal vez si algún miembro del foro tiene un Teensy, Opendous o Atmega32u4 Breakout board+, podría intentarlo, o incluso preguntarle a CrossRoads el del foro en inglés.

No obstante, a no ser que tenga algún error en la placa del Paperduino Leonardo (lo he repasado mil veces), quizás se podrían encargar las placas prototipo, ya que parece que el problema es de software.

Saludos
Logged


0
Offline Offline
Full Member
***
Karma: 1
Posts: 247
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, en una página rusa han hecho una comparativa de Leonardos compatibles y comentan:

Quote
En términos de ArduinoIDE, Leonardo tiene 18 pines digitales y 6 analógicas universales. Pines con soporte de hardware para I2C movido - ahora es digital3 (SCL) y DIGITAL2 (SDA). Pines para apoyar SPI - de 14 a 17 años, es lógico que ellos deben ir a un zapato ISP6, excepto el número de pin 14 - (PB0 o SS), que está conectado al LED. LEDs de Leonardo es más que suficiente: RX, TX, L - ubicado en el B0 puertos, D5 y C7, respectivamente, L sigue conectado a digital13, RX - a digital14, TX, pero por alguna razón no tiene contrapartida en los pines de la tabla.. No está claro si esto es algo que ver con la presencia de los pines externos en los zapatos, pero tal vez algo se aclarará después del anuncio de "cambios en las pastillas de diseño estándar de Arduino" - para encontrar su ubicación actual en el sitio oficial no, pero todos tenían que aprovechar los conocimientos existentes directamente desde la Diseño de la placa-s oficialmente las tarjetas emitidas.

Desde una perspectiva de programación, para compartir la conexión USB se encuentra todavía en uso en serie. Pero parte USART en que ya no acepta - a compartir a través de pines RX / TX, debe utilizar Serial1. La separación de los USB y USART - una de las principales ventajas de la junta, en comparación con Duemilanova y la ONU.

En un intercambio a través del LED USB está constantemente parpadeando TX / RX, pero el hecho de que la RX, al mismo tiempo fijado para la SS, no afectó el SPI - Apoyar el autobús en ArduinoIDE simplemente inicializa el pin SS a / SALIDA DE ALTA y ya no "tocar" - si quieres organizar un intercambio con algunos dispositivos de esclavos, el papel de la SS puede cumplir cualquier pin digital.

La página es: http://f1p.ucoz.ru/publ/dopolnitelno/novoe_v_arduino_1_0_i_arduino_leonardo/16-1-0-131
Logged


Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

ya estoy en casa! Bueno os cuento lo que he estado mirando en el core:

si existe el registro UBRRH o UBRR0, es decir los registros de la UART monda y lironda, se definie el objeto Serial como un objeto HardwareSerial.
Si por el contrario se define el registro USBCON, e.d. si existe USB entonces se define un objeto de la clase "Serial over CDC".

Si además se define el registro UBRR1H se crea el objeto Serial1, de la clase HardwareSerial.
Code:
#if defined(UBRRH) || defined(UBRR0H)
  extern HardwareSerial Serial;
#elif defined(USBCON)
  #include "USBAPI.h"
//  extern HardwareSerial Serial_; 
#endif
#if defined(UBRR1H)
  extern HardwareSerial Serial1;
#endif

Como el micro 32U4 no define los registros UBRRH o UBRR0H se importa la parte USB.

Como sí se define el registro UBRR1H, también se crea la  Serial1.

Por consiguiente, si haces:
Code:
Serial1.begin ( 56700 );

Serial1.print ("Hola Mundo!\n");
Debería funcionar.
Logged

   

*
Offline Offline
Sr. Member
****
Karma: 0
Posts: 470
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo tengo alguna teensy y plaquitas con el atmega32u4 pero hasta la semana que viene no me podré poner con ellas  smiley-confuse
Logged

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Intentaré conseguir una teensy para mañana...
Logged

Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bueno chicos,

al final son dos pistas que están muy claras en el datasheet del AVR.

El vinciDuino Rev A ha salido de camino a la fábrica. Ahora solo queda esperar pacientemente a que nos lo envíen (tardará del orden de unas 3 semanas).

Aquí os dejo una imagen de la placa final.

Aquí podéis encontrar toda la documentación de la placa: esquemáticos, descripción, ficheros Eagle, ...

Ahora si que creo que podemos decir, que si sale Leonardo, será un clónico de vinciDuino.

Me gustaría agradeceos a todos los tres días tan simpáticos que hemos pasado diseñando esta placa y el  espíritu de la gente de este foro. A todos vosotros enhorabuena.


* vinciDuino.png (174.63 KB, 450x472 - viewed 28 times.)
Logged

   

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Una pequeña reseña para concluir. Haría falta un voluntario para poner en Castellano la página del "vinciDuino", al fin y al cabo lo hemos creado en este foro.

También he añadido una pequeña reseña en la página que a día de hoy considero importante:

DISCLAIMER: As of today, we have ordered a few boards, the information contained within this repository has not been tested. The information within this repository is furnished "as is", without technical support, and with no warranty, express or implied, as to its usefulness for any purpose. Should you decide to build your own boards we take not responsibility what so ever towards its functionality nor to any damage the board may cause.

Licensing
Lets keep this short: Released under the Creative Commons Attribution Share-Alike 3.0 License: CC BY-SA

If you use, reproduce, modify, share or comment this work please give attribution to the vinciDuiono team (fmalpartida - fm, Inizul, JMN, yOPERO, nayma, flico, josemanu and shaktale).
Logged

   

*
Offline Offline
Sr. Member
****
Karma: 0
Posts: 470
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Esto sólo es el principio del "hardware libre" de verdad  smiley-twist

Yo la semana que viene ya miro en lo que pueda contribuir, y te pido la lista de componentes para ir cogiendolos y montar las que pueda nada más que lleguen, y si alguien de Madrid que sea activo en la comunidad Arduino quiere ser betatester le paso alguna para que las evalue.
« Last Edit: November 15, 2011, 06:31:20 pm by JMN » Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Esto sólo es el principio del "hardware libre" de verdad
Quote

Cuanta razon tienes
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Forum Moderator
Madrid - Spain
Offline Offline
Full Member
*****
Karma: 5
Posts: 180
'arduinomaníaco'
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bueno chicos... al final me hacéis participar.

Enhorabuena por vuestra iniciativa. Me parece un buen logro.

Todo el desarrollo abierto de vuestro proyecto vinciDuino es estupendo. Emplear el foro como lugar de encuentro no ya para resolver dudas, o discutir temas, sino para que afloren este tipo de proyectos es fantástico. Hacer más piña en comunidad es lo suyo. Aquí está la esencia de lo libre, de la cultura libre, del querer compartir con los demás y con deseos de que los demás sean mayoría.

Hay un pero. En este hilo y en tantos otros existen muchos comentarios sobre el concepto personal de "hardware libre" que tenemos cada uno. Y se hacen 'comparativas' de este concepto, del como cada uno cree que debe ser el hardware libre, y del cumplimiento del proyecto Arduino con ese concepto de hardware libre.

Dicho esto me queda:
- Indicar que podéis comprobar cómo es la naturaleza de un proyecto de hardware libre si reflexionáis sobre vuestro proyecto vinciDuino, resultado de vuestro esfuerzo colaborativo como comunidad de un proyecto de hardware libre como es arduino.
- Invitaros a debatir en un post dedicado al concepto de hardware libre y, haciendo uso del concepto propuesto por Juan González, hardware libre al cuadrado. Y a participar en la concepción del término 'Hardware de Fuentes Abiertas' (OSHW).
- Decir que la libertad no se limita sólo al precio y menos en el mundo del hardware tal y como lo concebimos en nuestros días. El precio puede ser un catalizador en el proceso de difusión, y por eso debe tener unos límites razonables, pero no define la libertad de un proyecto. La libertad ofrece alternativas.
- Y terminar diciendo, que todavía en el nuevo mundo del 'hardware libre', en general, y de 'arduino', en particular, queda mucho por andar... Hay que saborear y disfrutar de las vistas del camino...

coLe || (ºLe
« Last Edit: November 16, 2011, 12:50:56 am by coleoptero » Logged

Consejos para hacer un correcto uso de los foros.

http://arduino.cc/playground/Es/Consejos

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 40
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Un pensamiento paralelo que estaba meditando:

El equipo arduino es muy receloso de la compatibilidad de sus interfaces. Son capaces de montar un código con interfaces poco trabajadas e ineficientes con tal de mantener la compatibilidad hacia atrás.

Ahora bien, si extrapolamos esto a la electrónica (ya no hablamos de un cambio SW de un sketch que se tarda uno minutillo en hacer y probar) hablamos de hacer un cabio de PCBs y placas nuevas.
Como van o han planteado la compatibilidad con los shield que usan el SPI (Ether) o I2C? El pin out es incompatible!

Eso si, para mapear en la misma posición los PWM han montado un follón importante con el mapa de pins!
Logged

   

*
Offline Offline
Sr. Member
****
Karma: 0
Posts: 470
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hay dos tipos de "hardware libre", el "hardware libre" de toda la vida: cualquier esquema o diseño que se documenta y se hace accesible para todo el que se lo quiera hacer, este modelo ha tenido éxito durante los últimos 15-20 años, y por lo general el que lo hace no se molesta en ponerle tantas etiquetas, si no que simplemente lo sube y el que quiera ya hará lo que le parezca con ello.

Y el segundo modelo, el "hardware libre" para vender, aquí el interés principal del que lo hace no es documentarlo y que el usuario final se haga y use la placa, si no que se vaya a una tienda y pague un precio por ella. Lo han cogido como estandar todas las tiendas "sparkfun", "adafruit", "arduino" moldeando el concepto inicial a sus interéses y colgandole la etiqueta del "libre" a todos sus productos, porque suena bien, porque atrae a la gente, porque ayuda a crear la comunidad final de usuarios que todo producto necesita para evolucionar, etc.. Puro marketing.

Arduino no es "hardware libre" es 50% libre (los bits) y 50% negocio (los átomos), y ese es el "hardware libre" que están promoviendo.

El precio y su transparencia es determinante porque influye directamente en la difusión del hardware, si por linux hubiese que pagar la mitad del precio de windows probablemente hubiese dejado de existir hace años.

Uno ya se cansa de ver tanto "abanderado" del "hardware libre" de evento a evento cuyo principal interés es vender plaquitas.

"Hardware libre" en el que su principal preocupación sea su difusión SI, "hardware libre" para vender NO.

Logged

Pages: 1 ... 4 5 [6] 7 8 ... 64   Go Up
Jump to: