Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Arduino UNO: Medición de Distancia con Sensor Ultrasónico HC-SR04 y Pantalla OLED Adafruit

Componentes y Suministros

Arduino UNO × 1
Sensor Ultrasónico HC-SR04 (Genérico) × 1
Pantalla OLED LED LCD 128x64 Adafruit × 1

Aplicaciones y Servicios Online

Sobre el Proyecto

Arduino UNO: Medición de Distancia con Sensor Ultrasónico HC-SR04 y Pantalla OLED Adafruit

Cómo Usar la Pantalla OLED

Aquí tienes mi tutorial previo sobre ello:

#include <SPI.h> // necesitamos todas esas librerías para OLED
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4 // pin de reset, NO LO USO
Adafruit_SSD1306 display(OLED_RESET);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // inicializar con dirección I2C 0x3C (128x64)
display.clearDisplay(); // limpiar display antes de empezar
display.setCursor(22,20); // coordenadas x,y
display.setTextSize(3);   // tamaño del texto
display.setTextColor(WHITE); // si escribes BLACK borra cosas
display.println(distancia); // imprime nuestra variable
display.setCursor(85,20); // establece tamaño, imprime unidades (cm/in)
display.setTextSize(3);
#ifdef CommonSenseMetricSystem // si hay #define CommonSenseMetricSystem
  display.println("cm"); // imprime "cm" en OLED
#endif
#ifdef ImperialNonsenseSystem // si hay #define ImperialNonsenseSystem
  display.println("in"); // imprime "in" en OLED
#endif
display.display(); // necesitas mostrar realmente todos esos datos
delay(500); // espera!, velocidad humana
display.clearDisplay(); // limpiar display en negro

Cómo Usar el Sensor Ultrasónico HC-SR04

Aquí tienes la hoja de datos: el módulo HC envía una ráfaga de pulsos y luego mide el tiempo que el eco del ultrasonido tarda en volver a su posición original.

long duration, distance; // nuestras queridas variables
digitalWrite(trigPin, LOW);  // PULSO ___|---|___
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

Usamos #ifdef para compilar solo las partes que necesitamos.

duration = pulseIn(echoPin, HIGH);
#ifdef CommonSenseMetricSystem
  distance = (duration/2) / 29.1;
#endif
#ifdef ImperialNonsenseSystem
  distance = (duration/2) / 73.914;
#endif
Serial.println(distance); // debug

Código

Medición de distancia por ultrasón y visualización Arduino

// CÓDIGO POR Javier Muñoz Sáez, 05/11/2016 preguntas a javimusama@gmail.com
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define CommonSenseMetricSystem
//#define ImperialNonsenseSystem

#define trigPin 13
#define echoPin 12
#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // inicializar con dirección I2C 0x3C (128x64)
  display.clearDisplay();
}

void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);  // PULSO ___|---|___
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  
  #ifdef CommonSenseMetricSystem
    distance = (duration/2) / 29.1;
  #endif
  #ifdef ImperialNonsenseSystem
    distance = (duration/2) / 73.914;
  #endif
  
  display.setCursor(22,20); // display OLED
  display.setTextSize(3);
  display.setTextColor(WHITE);
  display.println(distance);
  display.setCursor(85,20);
  display.setTextSize(3);
  #ifdef CommonSenseMetricSystem
    display.println("cm");
  #endif
  #ifdef ImperialNonsenseSystem
    display.println("in");
  #endif
  display.display();
  delay(500);
  display.clearDisplay();
  Serial.println(distance); // debug
}

Esquemáticos

Arduino UNO: Medición de Distancia con Sensor Ultrasónico HC-SR04 y Pantalla OLED Adafruit

Proceso de manufactura

  1. Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
  2. Construya un Sistema de Monitorización de Temperatura y Luz Multi‑Sensor con Raspberry Pi y DS18B20
  3. Control de sensores y actuadores con Raspberry Pi: acelerómetro, servo y streaming de datos
  4. Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
  5. Verifica y calibra tu sensor de humedad para mediciones precisas
  6. Monitorización Precisa de Temperatura y Humedad con SHT15 en Windows 10 IoT Core
  7. Autómatas Celulares en Tiempo Real con Arduino y Pantalla OLED 128x64
  8. Cómo Funcionan los Sensores de Distancia y sus Aplicaciones Clave
  9. Sensores para Arduino: Tipos, Aplicaciones y Proyectos Reales
  10. Tecnología de Sensores de Huella Dactilar: Principios, Aplicaciones e Integración con Arduino
  11. Sensores de Vibración: Principios, Tipos y Aplicaciones Industriales