Abstandssensor und OLED
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps und Onlinedienste
|
Über dieses Projekt
So verwenden Sie den OLED-Bildschirm
Hier hast du mein vorheriges Tutorial dazu:
#includes
und#defines
, bevor Siesetup() ausführen:
#include //wir brauchen all diese fiesen Bibliotheken für OLED#include #include #include #define OLED_RESET 4 // dies ist der Reset-Pin, IM NICHT VERWENDEN ITadafruit_SSD1306-Display (OLED_RESET);
- Im
setup()
Funktion:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // mit der I2C-Adr 0x3C (128x64) initialisieren display.clearDisplay(); // Display vor dem Start löschen
- In
loop()
Funktion:
display.setCursor(22,20); //x,y-Koordinaten display.setTextSize(3); //Größe des Textes display.setTextColor(WHITE); // Wenn Sie SCHWARZ schreiben, werden die Dinge gelöscht display.println (distanz); // unsere Variable ausgeben display.setCursor(85,20); // Größe einstellen, Einheiten drucken (cm/in) display.setTextSize (3); #ifdef CommonSenseMetricSystem//if theres#define CommonSenseMetricSystem display.println("cm"); // "cm" in oled ausgeben #endif #ifdef ImperialNonsenseSystem // wenn es #define ImperialNonsenseSystem gibt display.println("in"); // "in" in Oled ausgeben #endif display.display(); // Sie müssen die gesamte Datenverzögerung anzeigen (500); // warten!, menschliche Geschwindigkeit display.clearDisplay (); // lösche das Display schwarz
So verwenden Sie den Ultraschallbereich HC-SR04
Hier haben Sie das Datenblatt, das HC-Modul sendet einen Impulsstoß und misst dann die Zeit, die das Ultraschallecho braucht, um an seinen ursprünglichen Platz zurückzukehren.
- Mache einen Puls für den HC-Trigger, der HC macht einen Pulsburst:
lange Dauer, Entfernung; // unsere geliebten Variablen digitalWrite (trigPin, LOW); //PULSE ___|---|___ delayMicroseconds(2); digitalWrite (trigPin, HOCH); VerzögerungMikrosekunden(10); digitalWrite (trigPin, LOW);
- PulseIn() ist eine selten verwendete Funktion, erkennt die Länge des Schrittes hoch (__----__) oder niedrig (----___---)
Wir verwenden #ifdef
um nur die Teile zusammenzustellen, die wir brauchen.
dauer =pulseIn(echoPin, HIGH); // #ifdef CommonSenseMetricSystem-Abstand =(Dauer/2) / 29.1; #endif #ifdef ImperialNonsenseSystem-Distanz =(Dauer/2) / 73.914; #endif
- Und dies zum Debuggen, falls Ihr Oled nicht funktioniert:
Serial.println(Abstand); // Debug
Code
- Entfernungs-Ultraschall messen und anzeigen
Entfernung Ultraschall messen und anzeigenArduino
Hauptcode//CODE BY Javier Muñoz Sáez, 11.05.2016 Fragen an [email protected]#include#include #include #include #define CommonSenseMetricSystem//#define ImperialNonsenseSystem#define trigPin 13#define echoPin 12#define OLED_RESET 4Adafruit_SSD1306 display (OLED_RESET);void setup() { Serial.begin (9600); pinMode (trigPin, AUSGANG); pinMode (echoPin, EINGANG); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // mit der I2C-Adresse initialisieren 0x3C (128x64) display.clearDisplay();}void loop() { lange Dauer, Distanz; digitalWrite (trigPin, LOW); //PULSE ___|---|___ delayMicroseconds(2); digitalWrite (trigPin, HOCH); VerzögerungMikrosekunden(10); digitalWrite (trigPin, LOW); Dauer =pulseIn(echoPin, HIGH); #ifdef CommonSenseMetricSystem-Distanz =(Dauer/2) / 29.1; #endif #ifdef ImperialNonsenseSystem-Distanz =(Dauer/2) / 73.914; #endif display.setCursor(22,20); // oled-Anzeige display.setTextSize (3); display.setTextColor (WEISS); display.println (Entfernung); display.setCursor(85,20); display.setTextSize(3); #ifdef CommonSenseMetricSystem display.println("cm"); #endif #ifdef ImperialNonsenseSystem display.println("in"); #endif display.display(); Verzögerung (500); display.clearDisplay(); Serial.println (Abstand); // Debug }
Schaltpläne
Herstellungsprozess
- Was ist ein Distanzsensor und seine Anwendungen
- Arduino-Sensor – Typen und Anwendungen
- Funktion und Anwendungen des Fingerabdrucksensors
- Python- und Raspberry Pi-Temperatursensor
- Raspberry Pi Temperatur- und Lichtsensor
- Raspberry Pi Sensor- und Aktuatorsteuerung
- Aeroponik mit Raspberry Pi und Feuchtigkeitssensor
- So überprüfen und kalibrieren Sie einen Feuchtigkeitssensor
- Windows 10 IoT Core und SHT15
- Arduino- und OLED-basierte zelluläre Automaten