Arduino "Pick N Place" Android-Roboter - Gunook - 2020 - How ToDo Well

Arduino "Pick N Place" Android-Roboter - Gunook - 2020 - How ToDo Well

Inhaltsverzeichnis:

Anonim

Der Pick N Place Roboter ist ein grundlegender Roboter für Anfänger und Führungskräfte, der sich mit den Gesetzen und Konzepten von Physik, Elektronik und Mechanik vertraut macht. Daher hilft er einem, dieses Wissen zu erben, während man es umsetzt. Es hilft Ihnen, ein Gefühl dafür zu bekommen, worum es in der Robotik geht.

Eigenschaften:

  • Arduino-Programmierung
  • Android-Smartphone-Steuerung mit Bluetooth-Anwendung
  • Rad mit Kettenriemenantrieb
  • Bestückung durch Greifer
  • Einfache Schaltungsimplementierung

Zubehör:

Schritt 1: Video: Test und vollständiger Entwurfsprozess

Über Roboterkörper: Das Roboterarm-Kit besteht aus zwei Teilen. Die untere Antriebseinheit bewegt den Roboter nach links, rechts, vorwärts und rückwärts. Die obere Greifereinheit dient zum Aufnehmen und Platzieren von Gegenständen. Die Antriebseinheit hat zwei Motoren und auch die Greifereinheit hat zwei Motoren. Der Roboter ist stark genug, um Bomben zu zerstreuen, zu transportieren, zu retten usw.

Wie es funktioniert: Der Roboter ist über Bluetooth mit dem Smartphone verbunden und übernimmt die Steuerung von diesem. Jedes Mal, wenn wir die Taste auf dem Bildschirm des Telefons berühren, wird der Roboter in Aktion aktiviert.

Schritt 4: Schaltplan

Die Schaltung ist sehr einfach zu gestalten. Sei nicht verwirrt!

Die Arduino-Karte empfängt den Befehl vom Bluetooth-Modul und liefert das digitale Signal an den Motortreiber-IC L293D. Der Motortreiber-IC empfängt ein Signal von den Arduino-Pins und treibt die Motoren mit 12 V Batteriestrom an. Zwei Motoren sind für Greifer und die anderen zwei Motoren für Spurradfahrer.

Schritt 5: Hochladen der Arduino-Skizze

/*
* Projekt: Pick N Place Robot * Datum: Januar 2015 * Entwickler: Sameer Gupta (Administrator bei www.sgprojects.co.in) * /

int motor1Pin1 = 8; // Pin 2 auf L293D IC int motor1Pin2 = 7; // Pin 7 auf L293D IC int enable1Pin = 9; // Pin 1 auf L293D IC int motor2Pin1 = 5; // Pin 10 auf L293D IC int motor2Pin2 = 4; // Pin 15 auf L293D IC int enable2Pin = 6; // Pin 9 auf L293D IC int motor3Pin1 = 14; // Pin 2 auf L293D IC int motor3Pin2 = 13; // Pin 7 auf L293D IC int enable3Pin = 15; // Pin 1 auf L293D IC int motor4Pin1 = 11; // Pin 10 auf L293D IC int motor4Pin2 = 10; // Pin 15 auf L293D IC int enable4Pin = 12; // Pin 9 auf L293D IC int state; int flag = 0; // Stellt sicher, dass die Seriennummer nur einmal gedruckt wird

void setup () {pinMode (motor1Pin1, OUTPUT), pinMode (motor1Pin2, OUTPUT), pinMode (enable1Pin, OUTPUT); PinMode (motor2Pin1, OUTPUT), PinMode (motor2Pin2, OUTPUT), PinMode (enable2Pin, OUTPUT); PinMode (motor3Pin1, OUTPUT), PinMode (motor3Pin2, OUTPUT), PinMode (enable3Pin, OUTPUT); PinMode (Motor4Pin1, OUTPUT), PinMode (Motor4Pin2, OUTPUT), PinMode (Enable4Pin, OUTPUT); Halt(); Serial.begin (9600); }

void loop () {if (Serial.available ()> 0) {state = Serial.read (); flag = 0; } if (state == 'F') {Forward (); if (flag == 0) Serial.println ("Vorwärts"), flag = 1; } else if (state == 'B') {Reverse (); if (flag == 0) Serial.println ("Go Reverse"), flag = 1; } else if (state == 'L') {Left (); if (flag == 0) Serial.println ("Go Left"), flag = 1; } else if (state == 'R') {Right (); if (flag == 0) Serial.println ("Go Right"), flag = 1; } else if (state == 'S') {Stop (); if (flag == 0) Serial.println ("STOP!"), flag = 1; } else if (state == 'P') {Pick (); if (flag == 0) Serial.println ("Pick"), flag = 1; } else if (state == 'Q') {Place (); if (flag == 0) Serial.println ("Place"), flag = 1; } else if (state == 'H') {Hold (); if (flag == 0) Serial.println ("Hold"), flag = 1; } else if (state == 'I') {Free (); if (flag == 0) Serial.println ("Unhold"), flag = 1; }}

void Forward () {digitalWrite (motor1Pin1, LOW); digitalWrite (motor1Pin2, HIGH); digitalWrite (motor2Pin1, HIGH); digitalWrite (motor2Pin2, LOW); digitalWrite (enable1Pin, HIGH); digitalWrite (enable2Pin, HIGH); }

void Reverse () {digitalWrite (motor1Pin1, HIGH); digitalWrite (motor1Pin2, LOW); digitalWrite (motor2Pin1, LOW); digitalWrite (motor2Pin2, HIGH); digitalWrite (enable1Pin, HIGH); digitalWrite (enable2Pin, HIGH); }

void Left () {digitalWrite (motor1Pin1, HIGH); digitalWrite (motor1Pin2, LOW); digitalWrite (motor2Pin1, HIGH); digitalWrite (motor2Pin2, LOW); digitalWrite (enable1Pin, HIGH); digitalWrite (enable2Pin, HIGH); }

void Right () {digitalWrite (motor1Pin1, LOW); digitalWrite (motor1Pin2, HIGH); digitalWrite (motor2Pin1, LOW); digitalWrite (motor2Pin2, HIGH); digitalWrite (enable1Pin, HIGH); digitalWrite (enable2Pin, HIGH); }

void Pick () {digitalWrite (motor3Pin1, LOW); digitalWrite (motor3Pin2, HIGH); digitalWrite (enable3Pin, HIGH); }

void Place () {digitalWrite (motor3Pin1, HIGH); digitalWrite (motor3Pin2, LOW); digitalWrite (enable3Pin, HIGH); }

void Hold () {digitalWrite (motor4Pin1, LOW); digitalWrite (motor4Pin2, HIGH); digitalWrite (enable4Pin, HIGH); }

void Free () {digitalWrite (motor4Pin1, HIGH); digitalWrite (motor4Pin2, LOW); digitalWrite (enable4Pin, HIGH); }

void Stop () {// Stoppt die Motoren digitalWrite (enable1Pin, LOW); digitalWrite (enable2Pin, LOW); digitalWrite (enable3Pin, LOW); digitalWrite (enable4Pin, LOW); digitalWrite (motor1Pin1, LOW); digitalWrite (motor1Pin2, LOW); digitalWrite (motor2Pin1, LOW); digitalWrite (motor2Pin2, LOW); digitalWrite (motor3Pin1, LOW); digitalWrite (motor3Pin2, LOW); digitalWrite (motor4Pin1, LOW); digitalWrite (motor4Pin2, LOW); }

Schritt 6: Bedienung des Roboters

Zum ersten Mal müssen Sie die Android-App auf Ihrem Smartphone oder Tablet installieren. Schalten Sie nun den Roboter ein, indem Sie den Akku anschließen, und schalten Sie dann das Bluetooth Ihres Telefons ein. Suchen Sie nach den verfügbaren Geräten und koppeln Sie sie. Öffnen Sie zum Schluss die Anwendung und verbinden Sie sie mit dem Roboter. Daher ist der Roboter bereit, Ihren Befehl zu empfangen.

Viel Spaß mit meiner Anleitung und für weitere Projekte gehen Sie auf meine Website unter sgprojects.co.in