Go Down

Topic: Presentacion & representar compilado -- (Read 1 time) previous topic - next topic

HARKOWARE

Jun 23, 2011, 01:33 am Last Edit: Jun 29, 2011, 08:13 pm by HARKOWARE Reason: 1
Hola a tod@s, es mi primer post, aunque llevo algun tiempo con esto de arduino.
Lo que me gustaria es que me guiarais un poco al crear una aplicacion con arduino para que se viera reflejada en el ordenador, se que esta processing y algun otro programa mas. Pero lo que busco es poder compilarlo y dejarlo como ejecutable para que al conectar arduino pueda enviarme datos y representar botones, leds, graficas... asi como cronografias.

Gracias por todos los aportes del foro.

SrDonGato

en windows puedes utilizar visual C++

aqui tienes un sencillo tutorial hecho con PIC ( usa el serie al igual que puede hacerlo arduino) y visual .net

http://rapidshare.com/files/55715767/tutorial2.rar

saludos

HARKOWARE

Hola SrDonGato, la verdad tendré que ponerme las pilas en la programación del visual basic para poder hacer todo lo que me gustaría.
Pero por lo menos lo que indicaba el tutorial lo pude hacer con el arduino.
Como se podría graficar desde el mismo entorno o si alguien sabe otro entorno compilable que cree esto.
El ejemplo que cree fue con una barra donde representaba del 0 al 100%.

Es decir si tengo cualquier sensor y quisiera graficarlo.

Gracias por la pronta respuesta.

HARKOWARE

#3
Jun 29, 2011, 08:06 pm Last Edit: Jul 16, 2011, 05:08 pm by HARKOWARE Reason: 1
Hola !! he estado como ya estaís viendo, que quería graficar y utilizar un sistema que pudiera representar información que envia Arduino.
Pues investigando horas y horas... Lo he podido comunicar con el Neobook que és un programa para hacer publicaciones multimedia.
Pronto colgare más información y fotografías. Espero que de más frutos.

Os adjunto unas imagenes de una prueba que he hecho

MSL

Hola, ¿Lo que quieres haces es una interfaz de usuario (GUI)?

HARKOWARE

Hola MSL, sí lo que quiero es crear una aplicación donde pueda ver los resultados del Arduino pero al mismo tiempo que esté compilado en un ejecutable.

Si sabeís más tipos de programas que se puede hacer esto y que no sean un mundo de programación..  sería perfecto..

HARKOWARE

Hola de nuevo la verdad tengo un problemilla, ya que al programar hace varios meses un arduino... pues se quedo perfecto funcionando, pero el ordenador donde estaba el codigo fuente que necesito lo formatearon así que la pregunta es... ¿Cómo recupero un programa compliado en el chip y lo vuelvo al compilador del arduino como código fuente?

Sino me tocará volver a crear todo ... y la verdad hace tanto que no me acuerdo de todo lo que puse.. jeje ..
Si se les ocurre algo.... seguro que a alguien más le ha pasado.

Gracias.

HARKOWARE

Tengo un problema y no se como solucionarlo, será una tontería pero no la veo,
Mirad cuando creo un programa para el Arduino

const int buttonPin = 2; //boton pin 2
int buttonState = 0; //estado del boton 0
int numero = 0;

void setup() {
Serial.begin(9600); // inicia el puerto
pinMode(buttonPin, INPUT); // pin de entrada 2
}

void loop()
{

buttonState = digitalRead(buttonPin); // indica el estado del boton del pin 2
if (buttonState == HIGH)
      {
      numero ++; // suma una unidad a numero
      Serial.print ("pulsaste=");
      Serial.println(numero);
      delay (300);
       }
       Serial.flush();
}

Es simple, pulsas un botón que está conectado en el pin 2 y va sumando, al sumar te envía por el serial pulsaste=1... todas la veces que pulsas el botón. Hasta aquí todo va bien pero ... imaginemos que el circuito está funcionando y comienzan a pulsar pero no vemos el resultado desde el puerto serie, una vez pulso unas 8 veces... la variable numero deberia tener el mismo valor, pero cuando conecto desde cualquier monitor serie comienza desde el 1 y me imprime pulsaste=1.

Cuando tengo el monitor serie desde el principio funciona perfecto pero si lo desconecto y lo vuelvo a conectar se pierde la cuenta....
¿Como puedo hacer que la variable numero, tenga el valor real de pulsaciones? Esto hace que mi proyecto sea muy inestable.

Espero que se solucione con algo sencillo Gracias

Sergegsx

si entiendo lo que estas diciendo, al desconectar el usb del ordenador y volver a conectarlo se pone a 0 el contador de pulsaciones, es esto?

eso es porque al conectar el usb al ordenador el arduino se resetea automaticamente y empieza el programa desde el principio.

si tienes una fuente de alimentación externa alimentando el arduino, y deshabilitas el autoreset, no te pasara esto.

para dehabilitar el autoreset no se como hacerlo a ciencia cierta, creo que hay que cortar una pista del arduino.

HARKOWARE

Hola Sergegsx gracias por contestar, la verdad yo no desconecto el cable usb yo sólo pongo en marcha el monitor serie.

Es decir que sin desconectar el cable desde el mismo programa de programacion activo y desactivo el monitor serie... sin tocar nada más.. esto hace que me quede sin datos...
Si entiendo que si le quitas la alimentación se borran las variables, pero no es el caso.
Gracias nuevamente

Sergegsx

bueno pero al activar y desactivar la pantalla del monitor puede ocurrir tambien.

haz una prueba sencilla, pon una linea en tu loop que te imprima los millis(), de esta forma sabras si el arduino se ha reseteado en algun momento, algo tipo...

Serial.println(millis());
y si no quieres desbordar la pantalla con mensajes define una variable antes del setup
previousmillis = millis();

y luego en el loop

if (millis() - previousmillis()> 1000)
Serial.println(millis());

y al final del loop
previousmillis = millis();


de esta forma puedes ver si se te resetea el arduino o es otro problema.

HARKOWARE

Hola Sergegsx, he probado lo de Serial.println(millis()); y la verdad los representa pero cuando desconecto el serial monitor comienza desde 0. Es decir que hace lo mismo, esta variable debería de ir subiendo y como bien dices desbordar el chip de tanto contar, pero al iniciar el monitor es como si le pulsaras el botón reset ya que he probado muchos tipos de variables y las resetea...
Si alguien sabe como solucionar esto estaria perfecto...

Gracias

Sergegsx

entonces es lo que te decia, que se resetea al pulsar el monitor.

ya te dije la solución, CREO que tienes que deshabilitar el autoreset del arduino.

Sergegsx

Quote
YI, I just tried another little experiment (modified)

I took a 110 ohm resistor and connected the arduino 5v pin to the reset pin, jumper style.  They are close together.

Guess what?  No more com port resets Smiley

Remove the jumper resistor and com port resets resume.

The 110 ohm resistor is just enough to keep the reset pin high (2.38v) when the ftdi chip tries to pull it low, and limits the current through the ftdi pins to 24ma*. 

It also limits the current through the reset switch to 45ma.

for reference:
http://www.arduino.cc/en/uploads/Main/Arduino-Diecimila-schematic.pdf
http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf

I don't know that I would trust it with an isp conected either.  But it seems to be a simple "jumper style" solution, just have to make the jumper out of a 110 ohm resistor with some nice thick leads that fit the in the headers nicely.

*24ma is the limit on the ftdi rts/dtr pins, if I'm reading the datasheet right.  Don't go below 110 ohms.  I think you can go up to 124 ohms before it will start resetting anyway.


Quote

also, a 47 ohm resistor between 3.3v and reset seems to prevent serial resets.  It's a more common value and leaves the 5v pin open. 

But if you hit the reset switch it it will draw 70 ma from the ftdi 3.3V port while the switch is closed, and the datasheet lists 50ma max.  I tapped my reset button a few times with this configuration and the magic smoke stayed put, and upload still worked when I pulled out the resistor, but I can't really recommend the 47 ohm if you are planning on using the reset switch.


Quote
Re: disable auto-reset by serial connection
Reply #2 - 04.03.2008 at 16:04:03 
There is a hardware solution: to remove the 100nF cap (I think it's labeled as R3). Since the cap is smd type, depending on your soldering equipment and skil, this change will make some ruin on board.

I saw some discussion about software solution, but I don't know where, and I don't remember if it was sucessful.


Quote
on the newest boards (cant remember name the ones without the power jumper) there is a track near the usb port and it has 2 solder pads if you cut the track between these pads the board wont reset and you can solder it back together later


Go Up