Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino UNO: Afstandsmeting met HC-SR04 Ultrasoon Sensor en Adafruit OLED Display

Onderdelen en Benodigdheden

Onderdeel Aantal
Arduino UNO 1
Ultrasoon Sensor HC-SR04 1
Adafruit 128x64 OLED Display (I2C) 1

Apps en Online Services

  • Arduino IDE

Over dit Project

OLED Scherm Gebruiken

Benodigde bibliotheken en initialisatie:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // I2C adres 0x3C (128x64)
  display.clearDisplay();
}

void loop() {
  display.setCursor(22, 20);
  display.setTextSize(3);
  display.setTextColor(WHITE);
  display.println(afstand);
  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();
}

HC-SR04 Ultrasoon Afstandssensor Gebruiken

De HC-SR04 stuurt een puls uit en meet de echo-tijd.

long duur, afstand;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duur = pulseIn(echoPin, HIGH);

#ifdef CommonSenseMetricSystem
afstand = (duur / 2) / 29.1; // cm
#endif
#ifdef ImperialNonsenseSystem
afstand = (duur / 2) / 73.914; // inches
#endif

Serial.println(afstand); // debug

Complete Code

// CODE BY Javier Muñoz Sáez, 05/11/2016
#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 duur, afstand;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duur = pulseIn(echoPin, HIGH);

  #ifdef CommonSenseMetricSystem
  afstand = (duur / 2) / 29.1;
  #endif
  #ifdef ImperialNonsenseSystem
  afstand = (duur / 2) / 73.914;
  #endif

  display.setCursor(22, 20);
  display.setTextSize(3);
  display.setTextColor(WHITE);
  display.println(afstand);
  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(afstand); // debug
}

Schema

HC-SR04: VCC→5V, GND→GND, Trig→Pin 13, Echo→Pin 12. OLED: VCC→3.3V/5V, GND→GND, SDA→A4, SCL→A5.

Productieproces

  1. Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
  2. Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
  3. Raspberry Pi-sensor- en actuatorbeheersing onder de knie: versnellingsmeter, servo en datastreaming
  4. Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
  5. Je vochtigheidssensor verifiëren en kalibreren voor nauwkeurige metingen
  6. Nauwkeurige Temperatuur- & Vochtigheidsmonitoring met SHT15 op Windows 10 IoT Core
  7. Bouw Real-Time Cellulaire Automaten op Arduino met 128x64 OLED Display
  8. Hoe Afstandssensoren Werken en Hun Belangrijkste Toepassingen
  9. Arduino Sensoren: Typen, Toepassingen en Real-World Projecten
  10. Vingerafdruksensor Technologie: Werkprincipes, Toepassingen en Arduino Integratie
  11. Trillingssensoren: Principes, Typen en Industriële Toepassingen