Wie erstelle ich einen Bodenreinigungsroboter mit Ultraschallsensor?

Wie erstelle ich einen Bodenreinigungsroboter mit Ultraschallsensor?

Ein automatischer Bodenreinigungsroboter ist kein neues Konzept. Aber diese Roboter haben ein großes Problem. Sie sind sehr teuer. Was wäre, wenn wir einen kostengünstigen Bodenreinigungsroboter herstellen könnten, der so effizient ist wie der auf dem Markt verfügbare Roboter? Dieser Roboter verwendet einen Ultraschallsensor und vermeidet Hindernisse auf seinem Weg. Auf diese Weise wird der gesamte Raum gereinigt.

(Dieses Bild stammt aus Circuit Digest)



Wie verwende ich einen Ultraschallsensor, um einen automatischen Bodenreinigungsroboter herzustellen?

Wie wir jetzt die Zusammenfassung unseres Projekts kennen. Lassen Sie uns weitere Informationen sammeln, um mit der Arbeit zu beginnen.



Schritt 1: Sammeln der Komponenten

Der beste Ansatz, um ein Projekt zu starten, besteht darin, zu Beginn eine Liste der vollständigen Komponenten zu erstellen und eine kurze Untersuchung jeder Komponente durchzuführen. Dies hilft uns, die Unannehmlichkeiten in der Mitte des Projekts zu vermeiden. Eine vollständige Liste aller in diesem Projekt verwendeten Komponenten finden Sie unten.

  • Autorad Chassis
  • Batterie
  • Pinsel anzeigen

Schritt 2: Studieren der Komponenten

Nachdem wir nun eine vollständige Liste aller Komponenten haben, gehen wir einen Schritt weiter und untersuchen kurz die Funktionsweise jeder Komponente.



Arduino Nano ist eine Mikrocontroller-Karte, mit der verschiedene Aufgaben in einer Schaltung gesteuert oder ausgeführt werden. Wir verbrennen a C-Code auf Arduino Nano, um dem Mikrocontroller-Board mitzuteilen, wie und welche Operationen auszuführen sind. Arduino Nano hat genau die gleiche Funktionalität wie Arduino Uno, ist jedoch recht klein. Der Mikrocontroller auf dem Arduino Nano Board ist ATmega328p.

Arduino Nano

Der L298N ist eine integrierte Hochstrom- und Hochspannungsschaltung. Es handelt sich um eine doppelte Vollbrücke, die für die Aufnahme von Standard-TTL-Logik ausgelegt ist. Es verfügt über zwei Freigabeeingänge, über die das Gerät unabhängig arbeiten kann. Es können zwei Motoren gleichzeitig angeschlossen und betrieben werden. Die Drehzahl der Motoren wird über die PWM-Pins variiert.



L298N Motortreiber

Die HC-SR04-Karte ist ein Ultraschallsensor, mit dem der Abstand zwischen zwei Objekten bestimmt wird. Es besteht aus einem Sender und einem Empfänger. Der Sender wandelt das elektrische Signal in ein Ultraschallsignal um und der Empfänger wandelt das Ultraschallsignal wieder in das elektrische Signal um. Wenn der Sender eine Ultraschallwelle sendet, wird diese nach einer Kollision mit einem bestimmten Objekt reflektiert. Die Entfernung wird anhand der Zeit berechnet, die das Ultraschallsignal benötigt, um vom Sender zum Empfänger zurückzukehren.

Ultraschallsensor

Schritt 3: Zusammenbau der Komponenten

Da wir jetzt wissen, wie alle Komponenten funktionieren, lassen Sie uns alle Komponenten zusammenbauen und mit der Herstellung eines Roboters beginnen.

Nehmen Sie ein Autorad-Chassis und montieren Sie eine Showbürste vor den Chasses. Montieren Sie den Scotch Brite unter dem Roboter. Stellen Sie sicher, dass es sich direkt hinter der Schuhbürste befindet. Befestigen Sie nun ein kleines Steckbrett oben an den Chasses und dahinter den Motortreiber. Stellen Sie die richtigen Verbindungen der Motoren zum Motortreiber her und verbinden Sie die Stifte des Motortreibers vorsichtig mit dem Arduino. Montieren Sie eine Batterie hinter dem Gehäuse. Die Batterie schaltet den Motortreiber ein, der die Motoren antreibt. Der Arduino wird auch vom Motortreiber mit Strom versorgt. Der Vcc-Pin und die Masse des Ultraschallsensors werden mit den 5 V und der Masse des Arduino verbunden.

Schaltplan

Schritt 4: Erste Schritte mit Arduino

Wenn Sie mit der Arduino IDE noch nicht vertraut sind, machen Sie sich keine Sorgen, da im Folgenden eine schrittweise Anleitung zum Einrichten und Verwenden der Arduino IDE mit einer Mikrocontroller-Karte erläutert wird.

  1. Laden Sie die neueste Version von Arduino IDE von herunter Arduino.
  2. Schließen Sie Ihr Arduino Nano-Board an Ihren Laptop an und öffnen Sie das Bedienfeld. Klicken Sie in der Systemsteuerung auf Hardware und Sound . Klicken Sie nun auf Geräte und Drucker. Hier finden Sie den Anschluss, an den Ihre Mikrocontroller-Karte angeschlossen ist. In meinem Fall ist es COM14 Auf verschiedenen Computern ist dies jedoch unterschiedlich.

    Port finden

  3. Klicken Sie auf das Menü Tool und stellen Sie die Karte auf ein Arduino Nano.

    Board einstellen

  4. Stellen Sie im selben Tool-Menü den Port auf die Portnummer ein, die Sie zuvor in der Geräte und Drucker .

    Port einstellen

  5. Stellen Sie im selben Tool-Menü den Prozessor auf ein ATmega328P (alter Bootloader).

    Prozessor

  6. Laden Sie den unten angehängten Code herunter und fügen Sie ihn in Ihre Arduino IDE ein. Klick auf das hochladen Taste, um den Code auf Ihrer Mikrocontroller-Karte zu brennen.

    Hochladen

Klicken Hier um den Code herunterzuladen.

Schritt 5: Den Code verstehen

Der Code ist ziemlich gut kommentiert und selbsterklärend. Trotzdem wird es im Folgenden kurz erläutert.

1. Zu Beginn werden alle Pins von Arduino, die wir verwenden werden, initialisiert.

int enable1pin = 8; // Pins für ersten Motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pins für zweiten Motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pins für Ultraschallsensor const int echoPin = 10; const int buzzPin = 6; lange Dauer; // Variablen für die Schwebedistanz des Ultraschallsensors;

2. void setup () ist eine Funktion, in der wir alle Pins setzen, die als INPUT oder OUTPUT verwendet werden sollen. In dieser Funktion wird auch die Baudrate eingestellt. Die Baudrate ist die Geschwindigkeit, mit der die Mikrocontroller-Karte mit den angeschlossenen Sensoren kommuniziert.

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); PinMode (BuzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }}

3. void loop () ist eine Funktion, die kontinuierlich in einer Schleife ausgeführt wird. In dieser Schleife haben wir dem Mikrocontroller mitgeteilt, wann er vorwärts gehen soll, wenn in 50 cm kein Hindernis gefunden wird. Der Roboter biegt scharf nach rechts ab, wenn ein Hindernis gefunden wird.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); Dauer = PulsIn (echoPin, HIGH); Abstand = 0,034 * (Dauer / 2); if (Entfernung> 50) // Vorwärts bewegen, wenn kein Hindernis gefunden wurde {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (Entfernung<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Nachdem wir nun alles besprochen haben, was Sie für die Herstellung eines automatischen Bodenreinigungsroboters benötigen, können Sie Ihren eigenen kostengünstigen und effizienten Bodenreinigungsroboter herstellen.