You are on page 1of 2

/************ VARIALBES DE CONTROL ************/

char input;
int Trig = 2, Echo = 3;
long duracion, distancia;

/************** ACTIVAR PINER DE ENTRADA Y SALIDA *****************/

void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
DDRB=B00001111;

pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);

/*********** PROGRAMA PRINCIPAL *****************/

void loop() {

Ultra();
Serial.println(distancia);

if(distancia<=10){ //reversa para que no choque


PORTB=B00000000;
delayMicroseconds(100);
PORTB=B00000101;
delay(500);
PORTB=B00000000;
}

Motores();

/************SENSOR ULTRASONICO*******************/
void Ultra (){
digitalWrite(Trig,LOW);
delayMicroseconds(4);
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);

duracion = pulseIn(Echo,HIGH);
duracion = (duracion/2)/29;

/************* MANEJO DE MOTORES **************/


void Motores(){
if(Serial.available()>0){
input=Serial.read();
}
if(input=='1'){
digitalWrite(LED_BUILTIN,HIGH);
PORTB=B00001010;
}
if(input=='2'){
digitalWrite(LED_BUILTIN,HIGH);
PORTB=B00000110;
}
if(input=='3'){
digitalWrite(LED_BUILTIN,HIGH);
PORTB=B00001001;
}
if(input=='4'){
digitalWrite(LED_BUILTIN,HIGH);
PORTB=B00000101;
}
if(input=='0'){
digitalWrite(LED_BUILTIN, LOW);
PORTB=B00000000;
}
}

You might also like