Está en la página 1de 3

ARDUINOO

int MD1 = 3;

int MD2 = 4;

int MT1 = 8;

int MT2 = 10;

int AN = 9;

int PWM = 0;

char pun;

int Pecho = 6;

int Ptrig = 7;

int duracion, distancia;

void setup()

Serial.begin(9600);

pinMode(Pecho, INPUT); // define el pin 6 como entrada (echo)

pinMode(Ptrig, OUTPUT); // define el pin 7 como salida (triger)

pinMode(MD1, OUTPUT);

pinMode(MD2, OUTPUT);

pinMode(MT1, OUTPUT);

pinMode(MT2, OUTPUT);

pinMode(AN, OUTPUT);

void loop()

// CODIGO SENSOR

digitalWrite(Ptrig, LOW);

delay(2);

digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms

delay(10);
digitalWrite(Ptrig, LOW);

duracion = pulseIn(Pecho, HIGH);

distancia = (duracion/2)/29; // calcula la distancia en centimetros

Serial.println(distancia); // envia la distancia al puerto serial

delay(100);

//.............................................................

if (distancia > 20 ){

digitalWrite(MT1, HIGH);

digitalWrite(MT2, LOW);

PWM = map (distancia, 31, 100, 0, 255);

PWM = constrain (PWM, 100, 255);

analogWrite(AN, PWM);

delay (10);

else{

digitalWrite(MT1, LOW);

digitalWrite(MT2, HIGH);

PWM = map (distancia, 0, 30, 0,255);

PWM = constrain (PWM, 0, 200);

analogWrite(AN, 255-PWM);

//------------------------------------------------------------

// CODIGO COMUNICIN ENTRE PUERTOS

if(Serial.available()){ // verifica la comunicacion en el Puerto Serial

int dato = Serial.read(); // lee los dados enviados por Puerto Serial

//Luego envia los datos a la placa arduino

if(dato == 'a'){

digitalWrite (MD1, HIGH);


digitalWrite (MD2, LOW);

delay(1500);

digitalWrite (MD1, LOW);

digitalWrite (MD2, LOW);

if(dato == 'b'){

digitalWrite (MD1, LOW);

digitalWrite (MD2, HIGH);

delay(1500);

digitalWrite (MD1, LOW);

digitalWrite (MD2, LOW);

delay(5);

También podría gustarte