actionscript 3 - TinkerProxy and Arduino with LDR sensor to Flash -
to explain i'm trying achieve, let me draw exhibit out you. projected screen divided 5 sections. each section have it' own ldr sensors. i'm trying achieve, have bird start flying in section ldr sensor triggered on (when walks in front of it). want able detect multiple sensors going on , have individual birds come on screen. if sensors 2 , 5 on, bird animations play in section 2 , 5. on , forth.
i trying connect arduino flash through tinkerproxy, i'm having difficulties. below i've included code wrote far, , i'm getting error
"scene 1, layer 'layer 2', frame 1, line 110 1046: type not found or not compile-time constant: arduinoevent."
the code
import net.eriksjodin.arduino.arduino; import net.eriksjodin.arduino.arduinowithservo; import net.eriksjodin.arduino.events.arduinoevent; import net.eriksjodin.arduino.events.arduinosysexevent; import flash.display.sprite; import flash.net.socket; import flash.utils.bytearray; import flash.utils.endian; import flash.events.event; import flash.events.*; import flash.net.*; var numevents:number=0; var a:arduino; //command sent arduino toggle led blinking state const toggle_led_state:string = "t"; //character delineates end of message received //from arduino const eol_delimiter:string = "\n"; //socket use connect tinkerproxy var _socket:socket; //address tinkerproxy located. //localhost / 127.0.0.1 var _proxyaddress;string = "127.0.0.1"; //port tinkerproxy listening on var _proxyport:uint = 5331; //constructor function birdfly() { //listens when added stage addeventlistener(event.added_to_stage, onaddedtostage); } function onaddedtostage(event:event):void { removeeventlistener(event.added_to_stage, onaddedtostage); // listen data a.addeventlistener(arduinoevent.analog_data, onreceiveanalogdata); _socket = new socket(); //register socket events //socket connected _socket.addeventlistener(event.connect, onconnect); //socket closed _socket.addeventlistener(event.close, onclose); //data received socket _socket.addeventlistener(progressevent.socket_data, onsocketdata); //error connecting _socket.addeventlistener(ioerrorevent.io_error, onioerror); //security error _socket.addeventlistener(securityerrorevent.security_error, onsecurityerror); //setting endianness socket _socket.endian = endian.little_endian; //connect _socket.connect(_proxyaddress, _proxyport); //called when connect proxy server function onconnect(event:event):void { trace("socket connected"); initarduino; } //string hold data comes in. var buffer:string = ""; function initarduino():void { trace("initializing arduino"); // set pin outputs a.setpinmode(13, arduino.output); // disable reporting digital pins a.disabledigitalpinreporting(); // enable reporting analog pin a.setanalogpinreporting(1, arduino.on); //a.setanalogpinreporting(2, arduino.on); a.setanalogpinreporting(3, arduino.on); //a.setanalogpinreporting(4, arduino.on); a.setanalogpinreporting(5, arduino.on); // set pin pwm a.setpinmode(11, arduino.pwm); // write pwm (0..255) a.writeanalogpin(11, 255); // trace out received data trace("analog pin 3 is: " + a.getanalogdata(3)); } // trace out data when arrives... analog aka code here function onreceiveanalogdata(event:arduinoevent):void { trace((numevents++) +" analog pin " + e.pin + " on port: " + e.port +" = " + e.value); if(e.pin==1 && e.value < 10){ trace("sensor 1 triggered"); mc_bird.x = mc_btn1.x; } if(e.pin==3 && e.value < 10){ trace("sensor 2 triggered"); mc_bird.x = mc_btn2.x; } if(e.pin==5 && e.value < 10){ trace("sensor 3 triggered"); mc_bird.x = mc_btn3.x; } } }
i don't know i'm going wrong. not expert @ coding , first take @ as3.
Comments
Post a Comment