Inhoudsopgave:

Micro Servo Lab: 9 stappen
Micro Servo Lab: 9 stappen

Video: Micro Servo Lab: 9 stappen

Video: Micro Servo Lab: 9 stappen
Video: sg90 9g micro servo testing without servo motor driver... 2024, Juli-
Anonim
Micro Servo-lab
Micro Servo-lab

In dit lab gaan we werken aan het regelen van de positie van een microservo met een potentiometer. Op basis van de positie van de "armen" van de microservo zullen we overeenkomstige rijen LED's oplichten. Voor dit lab heb je nodig:

  • 1 microservo (de meegeleverde is een microservo van 9 gram)
  • 1 potentiometer
  • 10 LEDS (met twee verschillende kleuren)
  • 10 220 Ohm weerstanden

Stap 1: sluit een microservo aan

Sluit een microservo aan
Sluit een microservo aan

De microservo heeft drie draden voor voeding, aarde en een signaalpuls. De microservo accepteert een PWM-puls om te bepalen in welke positie hij moet staan (0 - 180 graden). Technisch gezien kun je alle PWM-pinnen op de Arduino Uno gebruiken, maar we beginnen over het algemeen met Pin 9 of 10*.

Opstelling:

  1. Sluit het breadboard aan op de stroomrail (+5V) en de grondrail (GND)
  2. Sluit de servo aan op de stroomrail, grondrail en pin 9.

**Dit komt omdat de Servo-bibliotheek Timer2 op de Arduino gebruikt, wat ons verhindert om PWM-signalen, analogWrite(), op deze twee pinnen te gebruiken voor andere doeleinden dan het besturen van een servo. Hoewel we deze pinnen nog steeds kunnen gebruiken voor digitale i/o, zullen we deze over het algemeen uitsluitend gebruiken voor servobesturing**

Stap 2: Test Micro Servo

De code hier is de voorbeeldcode die wordt geleverd door de Servobibliotheek. Het laat de servo eenvoudig heen en weer zwaaien van 0 tot 180 graden

/* Vegen

door BARRAGAN Deze voorbeeldcode bevindt zich in het publieke domein. gewijzigd op 8 november 2013 door Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // maak een servo-object om een servo te besturen // twaalf servo-objecten kunnen op de meeste borden worden gemaakt int pos = 0; // variabele om de servopositie void setup () { myservo.attach (9) op te slaan; // bevestigt de servo op pin 9 aan het servo-object} void loop () { for (pos = 0; pos = 0; pos -= 1) {// gaat van 180 graden naar 0 graden myservo.write (pos); // vertel servo om naar positie te gaan in variabele 'pos' vertraging (15); // wacht 15 ms totdat de servo de positie bereikt } }

Stap 3: Sluit een potentiometer aan

Sluit een potentiometer aan
Sluit een potentiometer aan

We gaan nu werken aan het handmatig regelen van de positie van de servo met een potentiometer. Sluit de potentiometer als volgt aan:

  • Linkerkant - Grondrail
  • Rechterkant - Stroomrail
  • Top/Midden aansluiting - Pin A0 (analoge 0 pin)

Stap 4: Potentiometer-startcode

Hieronder staat een startcode voor het aansturen van de servo met een potentiometer. Beëindig de code zodat wanneer u de potentiometer verplaatst, de servo tegelijk beweegt.

/* Sweep by BARRAGAN Deze voorbeeldcode bevindt zich in het publieke domein. gewijzigd op 8 november 2013 door Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // maak een servo-object om een servo te besturen // twaalf servo-objecten kunnen op de meeste borden worden gemaakt int pos = 0; // variabele om de servopositie op te slaan int potPin = 0;//Selecteer de pin voor het aansluiten van de potentiometer int potVal = 0;//Huidige potentiometerwaarde void setup () { myservo.attach (9); // hecht de servo op pin 9 aan het servo-object pinMode (potPin, INPUT); } void loop () { potVal = analogRead (potPin); mijnservo.write(pos); // vertel servo om naar positie te gaan in variabele 'pos' vertraging (15); // wacht 15 ms totdat de servo de positie bereikt}

Stap 5: Verbind de eerste LED

Verbind eerste LED
Verbind eerste LED

Nadat we de servo via de potentiometer hebben aangestuurd, gaan we wat feedback toevoegen via enkele LED's. We gaan twee rijen LED's maken. De ene vertegenwoordigt de "linker" arm van de servo en de andere vertegenwoordigt de "rechter" arm van de servo. Als de servo van positie verandert, gaat de ene arm omhoog en de andere omlaag. De LED's lichten op om weer te geven:

  • volledig - arm is omhoog
  • halve - armen zijn gelijk.
  • uit - arm is omlaag

Het diagram toont de rijen LED's aan weerszijden van het breadboard. Dit is gedaan voor het gemak van zichtbaarheid, uw LED's moeten op één lijn staan / zelfs met elkaar.

Eerste LED aansluiten:

  • Sluit de korte kabel van de LED aan op de grondrail
  • Sluit de langere kabel van de LED aan op een weerstand van 220 Ohm. Sluit de weerstand aan op pin 13 op de Arduino.

Stap 6: Sluit de resterende rij LED's aan

Sluit de resterende rij LED's aan
Sluit de resterende rij LED's aan

Nadat de eerste LED is toegevoegd, sluit u de overige LED's aan:

  • Kortere kabel - sluit aan op de grondrail
  • Langere kabel - sluit een weerstand van 220 Ohm aan op de LED's en de volgende Arduino-pinnen: 12, 11, 10, 9, 8

Stap 7: Eerste LED, tweede rij toevoegen

Voeg eerste LED, tweede rij toe
Voeg eerste LED, tweede rij toe

De tweede rij LED's wordt op dezelfde manier toegevoegd als de eerste:

  • Sluit de korte kabel van de LED aan op de grondrail
  • Sluit de langere kabel van de LED aan op een weerstand van 220 Ohm. Sluit de weerstand aan op pin 7 op de Arduino.

Stap 8: Sluit de laatste LED's aan

Sluit de laatste LED's aan
Sluit de laatste LED's aan

Sluit de overige LED's aan:

Kortere kabel - sluit aan op de grondrail Langere kabel - sluit een weerstand van 220 Ohm aan op de LED's en de volgende Arduino-pinnen: 6, 5, 4, 3

Stap 9: LED-display bedienen

Uw laatste stap is om uw code bij te werken om uw LED's te bedienen. Het moet het volgende afhandelen:

  • De bovenste rij komt overeen met de "rechterarm" van de servo. Terwijl de arm omhoog/omlaag beweegt, moeten de LED's aan/uit gaan.
  • De onderste rij komt overeen met de "linkerarm" van de servo. Terwijl de arm omhoog/omlaag beweegt, moeten de LED's aan/uit gaan.

Aanbevolen: