Pages: [1]   Go Down
Author Topic: variables?  (Read 681 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi!
is it possible to declare a variable in the arduinoCode and recieve it through flash?
i have tried the FlashConversation.fla, working fine but the code is to complex for me to clean up.
could someone offer me the most simple piece of code that can recieve a number from arduino to flash, please!
« Last Edit: October 24, 2006, 05:20:45 pm by xhlin » Logged

Netherlands
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I always use the 'Serial Server' created by Dan O'Sullivan.

Read the instructions, after installing, start the server with:
java -jar ss6.jar SerialPort:COM1 Baud:9600 SocketPort:9001 Sub0ForChar:10 SerialDriver:Sun
(maybe you have to change your serialport):

You can use the 'debug' checkbox to check if the 'serial server' receives any value.
If it works you can start Flash and use this code:

Code:
createSocket();
function createSocket() {
      serialServer = new XMLSocket();
      trace("new xmsocket");
      
      serialServer.connect("127.0.0.1", 9001);
      
      serialServer.onConnect = function(success) {
            trace("connected " + success);
      };
      
      // when you close the serial port
      serialServer.onClose = function() {
            trace("closed");
      };
      
      //receive some data from the arduino
      serialServer.onData = function(data) {
            trace("incoming = " + data);
      };
}

// send data to the arduino
this.onMouseDown = function() {
      serialServer.send("A");
      trace("Mouse Down");
};

stop();

« Last Edit: October 25, 2006, 04:43:58 am by Eric » Logged

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

does it work with ,  Serial Proxy?
and what code do you fill your arduino with, simpeMessageSysyem?

regards
xh|in
Logged

Netherlands
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You can use this code to send data from Arduino to flash:
Code:
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello Flash, this is Arduino");
  delay(400);
}
Logged

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

Hi!

I tried to connect Arduino (0005) and Flash 8. But there are two strange things happening:

- 1 -

When I read the Serial monitor in Arduino, there are only "0"s (zeros) when I press a pushbutton (connected to I/O Pin 5), but when I release this pushbutton, there are both, "0"s and "1"s (00011100000011111000111 and so on). Actually, there should be only "1"s, right?! Why does this happen?

Here's my Arduino-Code:

---

int ledPin = 13; // LED connected to digital pin 13
int inPin = 5;   // pushbutton connected to digital pin 5
int val = 0;     // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin 13 as output
  pinMode(inPin, INPUT);      // sets the digital pin 7 as input
  Serial.begin(9600);      // opens serial port, sets data rate to 9600 bps
}

void loop()
{
  val = digitalRead(inPin);   // read the input pin
   digitalWrite(ledPin, val);    // sets the LED to the button's value

  // Serial.print(val, DEC);  // send the buttons's value to serial port

    // say what you got:
    //Serial.print("I received: ");
    Serial.println(val, DEC);
  
}


---


- 2 -

Another problem occurs in Flash. I'm using a proxy by D.Mellis, that works fine so far. Flash can hear Arduino and trace the received values. But, when I use an "if"-loop, it seems to be ignored. Here's my Actionscript-Code:

---

      
      createSocket();
      
function createSocket() {
      serialServer = new XMLSocket();
      trace("new xmlsocket");
      
      serialServer.connect("127.0.0.1", 5337);
      
      serialServer.onConnect = function(success) {
            trace("connected " + success);
      };
      
      // when you close the serial port
      serialServer.onClose = function() {
            trace("closed");
      };
      
      //receive some data from the arduino
      serialServer.onData = function(data) {
            trace("incoming = " + data);
            
            // begin if-loop            
            if (data == "0") {
                  meinRechteck.start();
                  trace("VERTICAL");
                  }
            else {
                  meinRechteck.stop();
                  trace("HORIZONTAL");
                  }
      } };

stop();


---

And this is, what is traced:

incoming = 0

HORIZONTAL
incoming = 1

HORIZONTAL


So, there is always "HORIZONTAL" traced, but i want "VERTICAL" if data == "0" !


Maybe someone can help me?! Any ideas? Thanks a lot!

Daniel
« Last Edit: October 30, 2006, 05:07:02 pm by Daniel_Guse » Logged

Netherlands
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1)
Did you use a resistor as you can see in this tutorial?


2)
I don't really know, but you could try this to find out and locate the problem:

trace("type = " + typeof(data));
trace("string length = " + data.length);

So the datatype should be a 'string' and the length should be '1'
I
Logged

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

Hej ya!

So, I set up the whole thing like in the tutorial and now the serial output is ok!  smiley Thanks a lot, Eric!

But:

I traced the lenght and type of 'data' in Flash 8:

data is a string (ok) and the length is 2 (not 1)!


Does anyone know how to solve this problem?


Thanx a lot for your support...

Daniel.
Logged

Netherlands
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think you only want the first character,
the second is probably a 'space'.

The actionscript code for this is:

Code:
trace(data.substr(0,1));

It will only show the first character.

Eric
Logged

Pages: [1]   Go Up
Jump to: