ayuda con código para sensor de ultrasonido y envió de datos a flash

hola, mi problema es que compre un sensor de ultrasonido y funciona bien pero no logro enviarle un mensaje a flash para que de play o stop a la linea de tiempo si alguien se acerca a 1 metro del sensor, tengo instalada la ultima versión de adobe air ¿necesito algo mas? alguien podría ayudarme con el código para auduino y para que flash reciba el mensaje (tengo un arduino uno)

alguien me dio un código de arduino pero es para un sensor de 3 pines no se si se pueda modificar para uno de 4 pines (lo adjunto abajo)

unicauca_2.ino (1.31 KB)

te recomiendo que en tu ultrasonidos mires el modelo, lo pongas en google por ejemplo así hc sr04 arduino , con lo que encuentres sigues adelante, yo hice eso y monte un robot que detecta obstáculos con ultrasonidos.

No usas la librerìa Ultrasonic que es SensorCapacitivo????

Esta es la ultima version de la libreria NewPingv1.5 que debes usar

#include <SensorCapacitivo.h>

SensorCapacitivo sensor1;

boolean mostrarDepuracion;

void setup()
{
  sensor1.configurarPines ( 2 , 3 );

  Serial.begin ( 9600 );
  mostrarDepuracion = false;
  
  pinMode ( 13 , OUTPUT );
}

void loop()
{
    sensor1.actualizarSensor ( );

    if ( sensor1.cambiado )
    {
        mensajeDepuracion ( String (sensor1.activado) , false , true);
       // digitalWrite ( 13 , sensor1.activado );
        if ( sensor1.activado )
        {
          Serial.write ( "toqueactivado" );
        }
        else
        Serial.write ( "toquedesactivado" );
    }
    
    //ENVIAR DATOS DEL SENSOR DE DISTANCIA
    String distancia = String ( analogRead(A0) );
    char mensaje[distancia.length()];
    distancia.toCharArray( mensaje , distancia.length() );
    Serial.write ( mensaje );
    //Serial.println ( analogRead (A0) );
  
  
    if ( analogRead (A0) <= 50 )
    digitalWrite ( 13 , HIGH );
    
    else
    digitalWrite ( 13 , LOW );
    
    
    //Serial.write (b);
    //Serial.println ( "a" + String ( distancia) );
    delay ( 100 );
}

void mensajeDepuracion ( String msj , boolean tab , boolean salto)
{
  if ( mostrarDepuracion )
  {

      if ( salto )
      {
        Serial.println ( msj );
      }
      else
      {
        if ( tab ) msj += "\t";
        Serial.print(msj);
      }
  }
}

para que haces esto

String distancia = String ( analogRead(A0) );
    char mensaje[distancia.length()];
    distancia.toCharArray( mensaje , distancia.length() );
    Serial.write ( mensaje );

    if ( analogRead (A0) <= 50 )
         digitalWrite ( 13 , HIGH );    
    else
        digitalWrite ( 13 , LOW );

Te alcanza con esto

int valor = analogRead(A0);
Serial.print(valor);
    if ( valor <= 50 )
        digitalWrite ( 13 , HIGH );
    else
        digitalWrite ( 13 , LOW );

hola ya acomode el mi condigo con tus sugerencias pero me podrías explicar si para que adobe flash reciba los datos de arduino necesito tener instalado algo mas que adobe air? en flash tengo este codigo

import com.quetwo.Arduino.ArduinoConnector;
import com.quetwo.Arduino.ArduinoConnectorEvent ;

var arduino:ArduinoConnector;

initApp();

function initApp():void
{
arduino = new ArduinoConnector();
trace (arduino.getComPorts());

arduino.addEventListener( "socketData" , socketDataListener )
arduino.connect("COM5",9600);
}

function socketDataListener ( aEvt: ArduinoConnectorEvent): void
{
var dato:String = arduino.readBytesAsString();
trace("From Arduino: " + dato);

if ( dato =="activado")
{
vid.play();
}

else if ( dato =="desactivado")
{
vid.stop();
}
}

Adobe Flash???? yo paso, no lo conozco.