Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Arduino UNO : Mesure de distance avec capteur ultrasons HC-SR04 et écran OLED Adafruit

Composants et fournitures

Arduino UNO × 1
Capteur ultrasons HC-SR04 (générique) × 1
Adafruit 128x64 LED LCD OLED × 1

Applications et services en ligne

À propos du projet

Arduino UNO : Mesure de distance avec capteur ultrasons HC-SR04 et écran OLED Adafruit

Utilisation de l'écran OLED

Voici mon tutoriel précédent à ce sujet :

Includes et defines (avant setup) :

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

Dans setup() :

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // Adresse I2C 0x3C (128x64)
display.clearDisplay();

Dans loop() :

display.setCursor(22, 20);
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();

Utilisation du capteur ultrasons HC-SR04

La fiche technique : le module HC envoie une rafale d'impulsions et mesure le temps que l'écho ultrasound met à revenir.

Générer l'impulsion de déclenchement :

long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

Mesure de l'écho avec pulseIn() :

pulseIn() détecte la durée d'un état HIGH ou LOW.

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

Pour le débogage (si OLED ne fonctionne pas) :

Serial.println(distance);

Code

Mesure distance ultrasons et affichage Arduino

// CODE BY Javier Muñoz Sáez, 05/11/2016 - questions : 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);
  display.clearDisplay();
}

void loop() {
  long duration, distance;
  
  digitalWrite(trigPin, LOW);
  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.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);
}

Schémas

Arduino UNO : Mesure de distance avec capteur ultrasons HC-SR04 et écran OLED Adafruit

Processus de fabrication

  1. Comment Fonctionnent les Capteurs de Distance et Leurs Applications Clés
  2. Capteurs Arduino : Types, Applications et Projets Réels
  3. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  4. Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
  5. Maîtriser le contrôle des capteurs et actionneurs sur Raspberry Pi : Accéléromètre, Servo et Streaming de données
  6. Construire un système aéroponique automatisé avec Raspberry Pi et capteur d'humidité
  7. Vérifier et calibrer votre capteur d'humidité pour des mesures précises
  8. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
  9. Automates Cellulaires Temps Réel sur Arduino avec Écran OLED 128x64