Fabricación Digital para Docentes
  • Introducción
  • Fabricación Digital
    • ¿Qué es la Fabricación Digital?
    • Los Makers y su movimiento
    • Espacios Makers
    • Repositorios
    • Métodos de Fabricación Digital
      • Tecnologías de Fabricación Aditiva
      • Tecnologías de Fabricación Sustractiva
    • Máquinas de control numérico computarizado: CNC
    • Microcontroladores Arduino
  • Arduino
    • ¿Qué es Arduino?
      • Partes principales de un Microcontrolador Arduino
      • Otros Tipos de Arduino
      • IDE
    • Conceptos y Componentes Electrónicos
      • Breadboard o Protoboard
      • LED
      • Resistencia
      • Sensores
        • LDR
        • Temperatura
        • Humedad del Suelo
        • Page 1
    • Código Arduino
    • Ejercicios:
      • Led Blink
      • LED y Botón
      • LED Fade
      • Sirena con Luz y Sonido
      • LDR
      • Ultrasonic Sensor
      • DHT22
  • Impresión 3D
    • Historia
    • Tecnologías de Impresión 3D
      • Fused Deposition Modeling (FDM)
      • Estereolitografía (SLA)
      • Sintetizado de Laser Selectivo (SLS)
    • Materiales
      • Plásticos
        • PLA
        • ABS
        • PET
        • PETG
        • Alúmide
        • Material Conductivo
        • HIPS
        • Filamento de metal / plástico
        • Nailon · Poliamida
        • PEEK
        • PVA
        • ULTEM
        • Madera
      • Resinas · Fotopolímeros
        • Resinas SLA
        • Resinas PolyJet
      • Metales
        • Titanio
        • Acero Inoxidable
        • Metales Preciosos · Oro, Plata, Platino
        • Níquel
        • Inconel
        • Cobre y Bronce
        • Cromo Cobalto
        • Aluminio
      • Cerámica
      • Papel
      • Arenisca
      • Cera
    • Slicing
      • Ultimaker Cura
        • Configuración Impresora
    • Bibliotecas de archivos
    • Usos
  • CNC
    • Tipos de Máquinas CNC
    • G-Code
    • CNC 3018
Powered by GitBook
On this page
  1. Arduino
  2. Ejercicios:

Ultrasonic Sensor

HC-SR04

PreviousLDRNextDHT22

Last updated 2 years ago

int trigPin = 10; //Pin que emite los sonidos, Trig
int echoPin = 11; //Pin que va a recibir de vuelta la onda
int ledRojo = 13; //LED rojo va en pin 5
int ledAmarillo = 12; //LED verde va en pin 7

int zonaSegura = 10;

void setup(){
  pinMode(trigPin, OUTPUT);
  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop(){
  long duracion, distanciaEnCm;
  /*
  Hacemos un pulso bajo-alto-bajo para encender el sensor.
  Al encender y apagar esperamos en microsegundos,
  de esta manera enviaremos nuestra primer onda
  */
  digitalWrite(trigPin, LOW); // Envía un pulso bajo
  delayMicroseconds(2);       // Espera dos microsegundos
  digitalWrite(trigPin, HIGH);// Envía un pulso alto
  delayMicroseconds(5);       // Espera 5 microsegundos
  digitalWrite(trigPin, LOW); // Se queda en espera
  
  duracion = pulseIn(echoaPin, HIGH);
  
  /*
  Convertimos la duracion del tiempo a distancia
  La velocidad del sonido es de 340metros/segundo que
  es igual a 29 microsegundos por centimetro es por eso
  que vamos a dividir la duracion entre 29. 
  Despues se divide entre 2 porque es el tiempo
  que viaja el sonido de ida y de vuelta,
  solo queremos un valor pero ambos son iguales,
  es por eso que solo dividimos entre 2
  */
  distanciaEnCm = (duracion/29)/2;
  
  //Imprimimos la distancia en consola
  Serial.print(distanciaEnCm);
  Serial.print("cm");
  Serial.println();
  
  /*Prendemos los LED's, cuando la distancia es
  mayor a la zona segura se prende el LED verde y
  se apaga el rojo. Cuando la distancia es menor
  a la zona segura se prende el LED rojo y se apaga el LED
  verde
  */
  if(distanciaEnCm > zonaSegura){
    digitalWrite(ledAmarillo, HIGH);
    digitalWrite(ledRojo, LOW); 
  }
  else{
    digitalWrite(ledAmarillo, LOW);
    digitalWrite(ledRojo, HIGH);
  }
  delay(100);
}