Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Bluetooth-gesteuerter Roboter zur Hindernisvermeidung

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
SparkFun Dual H-Bridge Motortreiber L298
× 1
Ultraschallsensor - HC-SR04 (Generic)
× 1
HC-05 Bluetooth-Modul
× 1
RGB diffundierte gemeinsame Anode
× 1
SparkFun Logic Level Converter - Bidirektional
× 1
Widerstand 330 Ohm
× 1
Breadboard (generisch)
× 1
SparkFun Breadboard Netzteil Stick 5V/3,3V
× 1
DC-Motor, 12 V
× 2
Überbrückungsdrähte männlich/weiblich
× 1

Apps und Onlinedienste

Arduino-IDE
Arduino BlueControl
Verfügbar im Playstore.

Über dieses Projekt

Das Projekt verwendet ein Mobiltelefon, um über Bluetooth mit einem Roboter zu kommunizieren. Ich wollte schon immer einen Roboter bauen und ihn per Handy steuern. Nach einer langen Pause von über 12 Jahren habe ich die Aufgabe übernommen, einen Roboter zu bauen und zu betreiben. Dies ist auch mein erstes Projekt im Arduino Project Hub. Elektronik und Robotik ist eines meiner liebsten Hobbys und deshalb habe ich es mir in dieser Zeit des Lockdowns durch Covid19 zur Aufgabe gemacht, den Roboter zu bauen.

Der Roboter erkennt Bluetooth-Signale, die vom Mobiltelefon übertragen werden. Es verwendet das Bluetooth-Modul HC-05, um die Befehlssignale des Mobiltelefons zu erfassen und den Roboter zu steuern. Ich habe die ArduinoBlueControl-App verwendet, um den Roboter zu steuern.

Das Herz des Roboters ist der Arduino Nano. Es empfängt die Signale vom HC-05-Modul über serielle Kommunikation und steuert die Motoren über das L298N-Motortreibermodul für die Bewegung in Vorwärts-, Rückwärts-, Links- und Rechtsrichtung.

Es sollte darauf geachtet werden, die TX- und RX-Pins des HC-05-Moduls mit dem Arduino Nano zu verbinden. Dafür wird ein Logikpegelwandler verwendet.

Der Roboter verwendet das Ultraschallsensormodul HC SR-04, um Hindernisse auf seinem Weg zu erkennen. Beim Erkennen eines Hindernisses während seiner Vorwärtsbewegung stoppt der Roboter. Eine RGB-LED wird verwendet, um den Status des Roboters anzuzeigen.

Der Roboter ist in einem 2-Rad-Sockel aufgebaut, der aus zwei Getriebe-Antriebsmotoren besteht. Die Schaltung ist über ein Steckbrett mit Netzteil (3,3 V und 5 V) aufgebaut. Der Arduino Nano kann die Motoren aufgrund des viel höheren Strombedarfs für die Motoren nicht direkt antreiben. Daher wird das Motortreibermodul L298N zum Antrieb der Motoren verwendet. Die PWM-Signale des Arduino Nano werden verwendet, um die Geschwindigkeit der Motoren über die ENA- und ENB-Pins des L298N-Motortreibermoduls zu steuern.

Hier ist ein kurzes Video des Roboters im Einsatz:

Ich hoffe, Ihnen hat mein Bluetooth-gesteuerter Hindernisvermeidungsroboter gefallen. Dieser Roboter kann für Anwendungen in der Hausautomation, Hindernisvermeidungsfahrzeuge für den Werkstattbereich usw. und viele weitere Anwendungen modifiziert und erweitert werden.

Code

  • Bluetooth-gesteuerter Roboter_Arduino-Code.
Bluetooth-gesteuerter Robot_Arduino-Code.C/C++
/* Bluetooth-gesteuerter Roboter zur Hindernisvermeidung Erstellt von:Alok Talukdar Datum:09.05.2020*/#include // Um ​​einen beliebigen Pin auf Arduino für die serielle Kommunikation zu verwenden.// Definieren Sie die digitalen Pins für den L298-Motor Steuermodul.#define IN1 5 // für den rechten Motor#define IN2 4 // für den rechten Motor#define IN3 3 // für den linken Motor#define IN4 2 // für den linken Motor#define ENA 9 // Enable A für PWM-Steuerung des rechten Motors#define ENB 10 // Enable B für PWM-Steuerung des linken Motors // Definieren Sie die digitalen Pins für die RGB-LED-Steuerung#define redLED 8#define greenLED A0#define blueLED 11// Einrichten des HC-SR04 Ultraschallsensormodulconst int trigPin =6; // TRIG-Pin mit Pin D6 von Arduino Nanoconst verbunden int echoPin =7; // ECHO-Pin mit Pin D7 von Arduino Nanoint verbunden i,j,k =0; Schwebedauer, Distanz; // Variablen zur Entfernungsmessung // Einrichten des HC05 Bluetooth-ModulsSoftwareSerial mySerial(12,13); // (12 --> RX , 13 --> TX)String-Daten; // Variablen für Bluetooth controlint btVal;void setup () { // Setze deinen Setup-Code hier ein, um ihn einmal auszuführen:pinMode (trigPin, OUTPUT); // Konfigurieren Sie Pin D6 zum Senden von Ultraschallimpulsen pinMode (echoPin, INPUT); // Pin D7 so konfigurieren, dass er Ultraschallimpulse empfängt mySerial.begin (9600); // Konfigurieren Sie die serielle Software mit der Baudrate 9600 pinMode (IN1, OUTPUT); // IN1 - IN4 als OUTPUT konfigurieren, um Motoren zu steuern PinMode (IN2, OUTPUT); PinMode (IN3, OUTPUT); PinMode (IN4, OUTPUT); PinMode (ENA, AUSGANG); PinMode (ENB, AUSGANG); PinMode (rote LED, AUSGANG); PinMode (blaue LED, AUSGANG); PinMode (grüne LED, AUSGANG); digitalWrite (IN1, LOW); // Konfigurieren Sie den Status von IN1 - IN4 als LOW digitalWrite (IN2, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, LOW); analogWrite (rotLED,255); // LEDs ausschalten. RGB-LED ist ein üblicher Anodentyp. digitalWrite (blaue LED, HOCH); digitalWrite(greenLED,HIGH);}void loop(){ // Geben Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:while (mySerial.available()) { data =mySerial.readStringUntil('\n'); } btVal =(data.toInt()); switch (btVal) { Fall 1:forward(); digitalWrite (grüne LED, NIEDRIG); analogWrite (rotLED,255); digitalWrite (blaue LED, HOCH); dist(); brechen; Fall 2:umgekehrt(); digitalWrite (grüne LED, HOCH); analogWrite (rotLED,255); digitalWrite (blaue LED, NIEDRIG); brechen; Fall 3:links(); brechen; Fall 4:richtig(); brechen; Fall 5:stoprobot(); digitalWrite (grüne LED, HOCH); analogWrite (rotLED,0); digitalWrite (blaue LED, HOCH); brechen; Vorgabe:digitalWrite (grüne LED, HOCH); analogWrite (rotLED,255); digitalWrite (blaue LED, HOCH); brechen; } if (mySerial.available () <0) {//Serial.println ("Keine Bluetooth-Daten"); }} // Motorsteuerungsfunktionsdeklarationen Void forward () { for (i =0; i <=100; i ++) { AnalogWrite (ENA, i); analogWrite(ENB,i); digitalWrite (IN1, HOCH); digitalWrite (IN2, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, HOCH); aufrechtzuerhalten. aufrechtzuerhalten. aufrechtzuerhalten. analogWrite(ENB,j); digitalWrite (IN1, LOW); digitalWrite (IN2, HOCH); digitalWrite (IN3, HOCH); digitalWrite (IN4, LOW); aufrechtzuerhalten. aufrechtzuerhalten. Void links () { analogWrite (ENA, 127); analogWrite(ENB,0); digitalWrite (IN1, HOCH); digitalWrite (IN2, LOW); digitalWrite (IN3, HOCH); digitalWrite (IN4, HOCH); aufrechtzuerhalten. Void Recht () { AnalogWrite (ENA, 0); analogWrite(ENB,127); digitalWrite (IN1, HOCH); digitalWrite (IN2, HOCH); digitalWrite (IN3, LOW); digitalWrite (IN4, HOCH); aufrechtzuerhalten. Void stoprobot () { AnalogWrite (ENA, 0); analogWrite(ENB,0); digitalWrite (IN1, LOW); digitalWrite (IN2, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, LOW); aufrechtzuerhalten. Void dist () { DigitalWrite (trigPin, LOW); // um einen Impuls über den TRIG-Pin von HC-SR04 delayMicroseconds (2) zu senden; digitalWrite (trigPin, HOCH); VerzögerungMikrosekunden(10); digitalWrite (trigPin, LOW); Dauer =pulseIn(echoPin,HIGH); // die Dauer des Pulsabstands lesen =(Dauer * 0.0343)/2; // den Abstand in cm messen. Die Schallgeschwindigkeit beträgt 340 m / s oder 0,0343 cm / us if (Abstand <20) // Wenn der Abstand <20 cm ist, STOPP Roboter { stoprobot (); digitalWrite (grüne LED, HOCH); analogWrite (rotLED,0); digitalWrite (blaue LED, HOCH); } Verzögerung (1000); } 

Schaltpläne

Schaltplan des Roboters.

Herstellungsprozess

  1. Ein mobiler Roboter mit visueller Hindernisvermeidung
  2. Raspberry Pi Roboter über Bluetooth gesteuert
  3. Bauen Sie Ihren internetgesteuerten Videostreaming-Roboter mit Arduino und Raspberry Pi
  4. Gestengesteuerter Roboter mit Raspberry Pi
  5. RASPBERRY PI WIFI-ROBOTER, KONTROLLIERT VON ANDROID SMART PHONE
  6. Windows 10 IoT Core:Sprachgesteuerter Roboter
  7. WLAN-gesteuerter Roboter mit Raspberry Pi
  8. ROObockey:Ferngesteuerter, zielunterstützter Straßenhockey-Roboter
  9. Hindernisvermeidung durch künstliche Intelligenz
  10. Sprachgesteuerter Roboter