Pages: 1 ... 55 56 [57] 58 59 ... 64   Go Down
Author Topic: vinciDuino - un Arduino Leonardo hecho por gente del foro  (Read 99721 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hay ya alguna manera de usar las interrupts desde el IDE de Arduino?
Logged

COM22
Offline Offline
God Member
*****
Karma: 6
Posts: 702
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hay ya alguna manera de usar las interrupts desde el IDE de Arduino?

http://arduino.cc/en/Reference/AttachInterrupt

Un saludo!
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No me funciona en la vinciduino, ni con el nuevo IDE1.0.1/bootloader. Busqué sobre el tema y ví mensajes de hace unos meses diciendo que no había soporte, y por lo que veo no se ha añadido con la salida oficial de leonardo, por eso pregunto.
Logged

COM22
Offline Offline
God Member
*****
Karma: 6
Posts: 702
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@tilthz en el bootloader nuevo si que viene una linea que pone "#include <avr/interrupt.h>"

Si miras http://arduino.cc/en/Main/ArduinoBoardLeonardo veras que pone:

Quote
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.

Que IDE estas utilizando? en la versión 1.0 creo que no estaban implementados.

Un saludo!
« Last Edit: June 02, 2012, 08:02:04 am by JRodrigo » Logged


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

En versiones anteriores al IDE 1.0.1, pre-leonardo, no se soportaban las interrupciones. En el nuevo IDE sí. Lo único es que para la vinciDuino, bueno para el ATMega32U4, podrías usar 4 creo que no están mapeadas en el SW.

Para manejar interrupciones que no sean las de entrada salida, tendrás que usar las llamadas a la libavr directamente y declarar los vectores de interrupción.

También hay una entrada en este hilo con un enlace a una extensión que preparó Markus para dar soporte a todas las interrupciones externas que soporta el AVR.
Logged

   

Germany
Offline Offline
Full Member
***
Karma: 10
Posts: 230
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En versiones anteriores al IDE 1.0.1, pre-leonardo, no se soportaban las interrupciones. En el nuevo IDE sí. Lo único es que para la vinciDuino, bueno para el ATMega32U4, podrías usar 4 creo que no están mapeadas en el SW.

Para manejar interrupciones que no sean las de entrada salida, tendrás que usar las llamadas a la libavr directamente y declarar los vectores de interrupción.

También hay una entrada en este hilo con un enlace a una extensión que preparó Markus para dar soporte a todas las interrupciones externas que soporta el AVR.
sí, que se encuentran aquí http://arduino.cc/forum/index.php/topic,96202.msg722362.html#msg722362
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vale, ya me he dado cuenta de mi fallo, estaba haciendo el tonto debido a un error en http://arduino.cc/en/Main/ArduinoBoardLeonardo ...allí dice "External Interrupts: 2 and 3.", por lo que había supuesto que int0 era D2 y int1 era D3 como en todos los arduinos.

La mayoría de vosotros ya lo sabréis, pero eso está mal. La asignación correcta es:

D0 = INT2
D1 = INT3
D2 = INT1
D3 = INT0
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

"Yo acabo de subirle el bootloader del IDE 1.0.1 con el USBasp sin problemas..."
Hola, ¿que interfaz grafica se puede usar para hacerlo con el USBasp?.  He probado varias y ninguna muestra el  atmega32u4.
 Si solo se puede hacer desde linea de comandos del AVRDUDE ¿podeis dar algunos "tips" para hacerlo o recomendar algun enlace que haga referencia al procedimiento (...puede resultar muy facil para quienes tienen tiempo lidiando con AVRDUDE, pero he leido y no me aclaro con el tema)
Saludos

***** Edito
...he instalado el IDE 1.0.1 y veo que soporta el USBasp, ademas de que aparece "Leonardo" entre los ICs.  ...probare a ver si va todo bien. Luego os comento.

"...He desempolvado el USBASP y el bootloader lo carga bien pero a la hora de cargar el sketch tenemos que presionar el boton del reset como antiguamente..."

  yOPERO, ¿cual es el procedimiento?.  He conectado vinciDuino rev. A al PC a traves del USBasp y he seleccionado el programador en la lista desplegable, asi como "Leonardo" en la pestaña de tarjetas y luego hago 'click'  en "grabar secuencia de inicio" pero me arroja error.
Quote
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


¿que estoy haciendo mal?. He reinstalado los drivers (...que descargue desde http://www.fischl.de/usbasp/) pero no he tenido exito.

....el problema era el cable de conexion ISP.  Lo he cambiado y me detecta "arduino Leonardo on COM1". Sin embargo, ahora obtengo lo siguiente cuando intento cargar el bootloader:

Quote
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: Expected signature for ATmega32U4 is 1E 95 87
         Double check chip, or use -F to override this check.
Saludos
« Last Edit: June 11, 2012, 01:03:19 pm by maelva » Logged

COM22
Offline Offline
God Member
*****
Karma: 6
Posts: 702
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Chafardeando las Chinotiendas, en iTead van a inaugurar una nueva tienda y con las PCB de colores si antes te daban 8 piezas por 15 Pavos + envió ahora en la nueva han puesto 10 por el mismo precio, no se si sera error o definitivo pero os pongo los links para quien le interese:
Nueva tienda "iMAll" aparentemente esta operativa (open beta), yo he echo un pedido de las normales verdes y sin problemas.

Un saludo!
Logged


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

Placas que se han basado en vinciduino:

http://www.sparkyswidgets.com/Projects/Sparduino.aspx

Quote
Basing our design on the Uno r3 form factor and taking a few notes from the fine work of the VinciDuino team and CrossRoads own leonardino design

http://www.olympiacircuits.com/leolympia.html

Quote
The LeOlympia project was based on Arduino information, the VinciDuino project and the Olimex project.
« Last Edit: June 17, 2012, 12:08:50 pm by JMN » Logged

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

Corcho, LeOlympia es un poco cariñosa ¿no? Quiero decir, $40, más del doble de la vinciDuino! Lo que no he encontrado es a lo que venden la Sparduino.

Me alegra que estén sacando derivados de nuestras placas, francamente es un auténtico placer que nuestro trabajo lo esté aprovechando otra gente. Por otro lado, también me alegra que nos mencionen como base de inspiración de la placa. Genial!
Logged

   

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

Me gusta que en la LeOlympia se hayan mantenido todos los holes para los pines tanto con distancias protoboard como las que mantienen en Leonardo.
Así en un momento dado también se pueden montar shields verticales empleando la distancia protoboard.

(ºLe
Logged

Consejos para hacer un correcto uso de los foros.

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

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

Me gusta que en la LeOlympia se hayan mantenido todos los holes para los pines tanto con distancias protoboard como las que mantienen en Leonardo.
Así en un momento dado también se pueden montar shields verticales empleando la distancia protoboard.

(ºLe
+1
Logged

   

Cordoba
Offline Offline
God Member
*****
Karma: 40
Posts: 686
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Vale, ya me he dado cuenta de mi fallo, estaba haciendo el tonto debido a un error en http://arduino.cc/en/Main/ArduinoBoardLeonardo ...allí dice "External Interrupts: 2 and 3.", por lo que había supuesto que int0 era D2 y int1 era D3 como en todos los arduinos.

La mayoría de vosotros ya lo sabréis, pero eso está mal. La asignación correcta es:

D0 = INT2
D1 = INT3
D2 = INT1
D3 = INT0

Reitero desde mi ignorancia, quiero usar interrupciones, pero segun leo estas estan usadas para el serial 0,1 y para i2c 2,3. ¿Pero que sucede si necesito usar estos 2 puertos mas la interupcion?
Los shield con ethernet ENC28j60 usan un pin interrupcion, aunque es opcional, pero para otro modulo wifi me hace falta.

Logged

El que pregunta aprende, el que responde aprende a responder.

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

@maxid - el caso es que todos los microcontroladores tienen pines con funciones diferentes. Por ejemplo, el pin 0 y 1, está mapeado a una de las UARTs, a un módulo de entradas salidas discretas (pines digitales) y además tanto D0 como D1 se pueden usar para interrumpir al micro cuando cambie el estado de uno de esos pines.

El tema es que el que escribe la aplicación, en muchas ocasiones, tiene que seleccionar el tipo de funcionalidad que va a usar. Por ejemplo, si decides montar un dispositivo I2C como un reloj de tiempo real o sensor de temperatura, ya no puedes usar los pines 2 y 3 para otra cosa tipo digital IO.

Otro ejemplo de funciones especiales son las salidas asociadas a un evento de uno de los timers internos que al final se han mapeado por SW a un PWM.

Al final, cuando escribes tu aplicación, tienes que tener en cuenta este tipo de cosas y tomar decisiones de diseño.
Logged

   

Pages: 1 ... 55 56 [57] 58 59 ... 64   Go Up
Jump to: