Inhaltsverzeichnis:

Micro Servo Lab - Gunook
Micro Servo Lab - Gunook

Video: Micro Servo Lab - Gunook

Video: Micro Servo Lab - Gunook
Video: Tiny RC truck from servo 3.7g | The H Lab 2024, November
Anonim
Mikro-Servo-Labor
Mikro-Servo-Labor

In diesem Lab werden wir daran arbeiten, die Position eines Mikroservos mit einem Potentiometer zu steuern. Basierend auf der Position der "Arme" des Mikroservos leuchten wir entsprechende LED-Reihen auf. Für dieses Labor benötigen Sie:

  • 1 Mikro-Servo (das mitgelieferte ist ein 9-Gramm-Mikro-Servo)
  • 1 Potentiometer
  • 10 LEDs (mit zwei verschiedenen Farben)
  • 10 220 Ohm Widerstände

Schritt 1: Schließen Sie einen Micro-Servo an

Schließen Sie einen Mikro-Servo an
Schließen Sie einen Mikro-Servo an

Das Mikroservo hat drei Drähte für Strom, Masse und einen Signalimpuls. Das Mikroservo akzeptiert einen PWM-Impuls, um zu bestimmen, in welcher Position es sich befinden sollte (0 - 180 Grad). Technisch können Sie jeden der PWM-Pins des Arduino Uno verwenden, aber wir beginnen im Allgemeinen mit Pin 9 oder 10 *.

Aufstellen:

  1. Verbinden Sie das Steckbrett mit der Stromschiene (+5V) und der Erdungsschiene (GND)
  2. Verbinden Sie das Servo mit der Stromschiene, Masseschiene und Pin 9.

** Dies liegt daran, dass die Servo-Bibliothek Timer2 auf dem Arduino verwendet, was uns daran hindert, PWM-Signale, analogWrite (), an diesen beiden Pins für andere Zwecke als die Steuerung eines Servos zu verwenden. Wir können diese Pins zwar weiterhin für digitale E/A verwenden, werden diese jedoch im Allgemeinen ausschließlich für die Servosteuerung verwenden**

Schritt 2: Micro Servo testen

Der Code hier ist der Beispielcode, der von der Servo Library bereitgestellt wird. Es wird einfach der Servo-Sweep von 0 bis 180 Grad hin und her gehen

/* Sweep

von BARRAGAN Dieser Beispielcode ist gemeinfrei. geändert 8. November 2013 von Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // Servo-Objekt erstellen, um ein Servo zu steuern // Auf den meisten Boards können zwölf Servo-Objekte erstellt werden int pos = 0; // Variable zum Speichern der Servoposition Void setup () { myservo.attach (9); // verbindet das Servo an Pin 9 mit dem Servo-Objekt aufrechtzuerhalten. Void loop () { for (pos = 0; pos = 0; pos -= 1) {// geht von 180 Grad auf 0 Grad myservo.write (pos); // dem Servo sagen, dass es in der Variablen 'pos' delay (15) in Position gehen soll; // wartet 15ms, bis das Servo die Position erreicht hat}}

Schritt 3: Anschließen eines Potentiometers

Schließen Sie ein Potentiometer an
Schließen Sie ein Potentiometer an

Wir werden nun daran arbeiten, die Position des Servos manuell mit einem Potentiometer zu steuern. Schließen Sie das Potentiometer wie folgt an:

  • Linke Seite - Erdungsschiene
  • Rechte Seite - Stromschiene
  • Anschluss oben/Mitte - Pin A0 (analog 0 Pin)

Schritt 4: Potentiometer-Startercode

Unten ist ein Startercode zum Steuern des Servos mit einem Potentiometer. Beenden Sie den Code, damit sich das Servo beim Bewegen des Potentiometers im Einklang bewegt.

/* Sweep von BARRAGAN Dieser Beispielcode ist gemeinfrei. geändert 8. November 2013 von Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // Servo-Objekt erstellen, um ein Servo zu steuern // Auf den meisten Boards können zwölf Servo-Objekte erstellt werden int pos = 0; // Variable zum Speichern der Servoposition int potPin = 0; // Wählen Sie den Pin zum Anschluss des Potentiometers int potVal = 0; // Aktueller Potentiometerwert void setup () {myservo.attach (9); // verbindet das Servo an Pin 9 mit dem Servo-Objekt pinMode (potPin, INPUT); aufrechtzuerhalten. Void Schleife () { PotVal = analogRead (potPin); myservo.write(pos); // dem Servo sagen, dass es in der Variablen 'pos' delay (15) in Position gehen soll; // wartet 15ms, bis das Servo die Position erreicht hat}

Schritt 5: Erste LED anschließen

Erste LED verbinden
Erste LED verbinden

Nachdem wir das Servo über das Potentiometer gesteuert haben, werden wir über einige LEDs Feedback hinzufügen. Wir werden zwei Reihen von LEDs erstellen. Einer repräsentiert den "linken" Arm des Servos und der andere repräsentiert den "rechten" Arm des Servos. Wenn das Servo seine Position ändert, hebt sich ein Arm und der andere sinkt. Die LEDs leuchten auf, um Folgendes anzuzeigen:

  • voll - Arm ist angehoben
  • Hälfte - Arme sind gleich.
  • aus - Arm ist gesenkt

Das Diagramm zeigt die LED-Reihen an den gegenüberliegenden Enden des Steckbretts an. Dies wurde aus Gründen der besseren Sichtbarkeit getan, Ihre LEDs sollten ausgerichtet / sogar miteinander sein.

Erste LED anschließen:

  • Verbinden Sie das kurze Kabel der LED mit der Erdungsschiene
  • Verbinden Sie das längere Kabel der LED mit einem 220 Ohm Widerstand. Verbinden Sie den Widerstand mit Pin 13 des Arduino.

Schritt 6: Verbleibende Reihe von LEDs anschließen

Verbleibende LED-Reihe anschließen
Verbleibende LED-Reihe anschließen

Nachdem die erste LED hinzugefügt wurde, schließen Sie die restlichen LEDs an:

  • Kürzere Leitung - an Masseschiene anschließen
  • Längeres Kabel - schließen Sie einen 220 Ohm Widerstand an die LEDs und die folgenden Arduino Pins an: 12, 11, 10, 9, 8

Schritt 7: Erste LED hinzufügen, zweite Reihe

Erste LED, zweite Reihe hinzufügen
Erste LED, zweite Reihe hinzufügen

Die zweite LED-Reihe wird auf die gleiche Weise wie die erste hinzugefügt:

  • Verbinden Sie das kurze Kabel der LED mit der Erdungsschiene
  • Verbinden Sie das längere Kabel der LED mit einem 220 Ohm Widerstand. Verbinden Sie den Widerstand mit Pin 7 des Arduino.

Schritt 8: Abschließende LEDs anschließen

Abschließende LEDs anschließen
Abschließende LEDs anschließen

Schließen Sie die restlichen LEDs an:

Kürzeres Kabel - an Masseschiene anschließen Längeres Kabel - 220 Ohm Widerstand an die LEDs und die folgenden Arduino Pins anschließen: 6, 5, 4, 3

Schritt 9: LED-Anzeige steuern

Ihr letzter Schritt besteht darin, Ihren Code zu aktualisieren, um Ihre LEDs zu steuern. Es muss Folgendes verarbeiten:

  • Die obere Reihe entspricht dem "rechten Arm" des Servos. Wenn der Arm nach oben/unten schwenkt, müssen sich die LEDs ein- und ausschalten.
  • Die untere Reihe entspricht dem "linken Arm" des Servos. Wenn der Arm nach oben/unten schwenkt, müssen sich die LEDs ein- und ausschalten.

Empfohlen: