INHOUDSOPGAWE:

Micro Servo Lab: 9 stappe
Micro Servo Lab: 9 stappe

Video: Micro Servo Lab: 9 stappe

Video: Micro Servo Lab: 9 stappe
Video: sg90 9g micro servo testing without servo motor driver... 2024, November
Anonim
Micro Servo Lab
Micro Servo Lab

In hierdie laboratorium werk ons aan die beheer van die posisie van 'n mikroservo met 'n potensiometer. Op grond van die posisie van die "arms" van die mikroservo, sal ons ooreenstemmende rye LED's aansteek. Vir hierdie laboratorium benodig u:

  • 1 mikroservo (die een wat verskaf word, is 'n 9 gram mikro -servo)
  • 1 potensiometer
  • 10 LED's (met twee verskillende kleure)
  • 10 220 Ohm weerstande

Stap 1: Koppel 'n mikro -servo aan

Koppel 'n mikro -servo
Koppel 'n mikro -servo

Die mikroservo het drie drade vir krag, grond en 'n seinpuls. Die mikroservo aanvaar 'n PWM -puls om te bepaal in watter posisie dit moet wees (0 - 180 grade). Tegnies kan u enige van die PWM -penne op die Arduino Uno gebruik, maar ons begin gewoonlik met Pin 9 of 10*.

Stel op:

  1. Koppel die broodbord aan die kragrail (+5V) en die grondrail (GND)
  2. Koppel die servo aan die kragrail, grondrail en pen 9.

** Dit is omdat die Servobiblioteek Timer2 op die Arduino gebruik, wat ons sal weerhou om PWM -seine, analogWrite (), op hierdie twee penne te gebruik vir enige ander doel as om 'n servo te beheer. Alhoewel ons hierdie penne nog steeds vir digitale i/o kan gebruik, sal ons dit oor die algemeen uitsluitlik vir servobestuur gebruik **

Stap 2: Toets Micro Servo

Die kode hier is die voorbeeldkode wat deur die Servobiblioteek verskaf word. Dit laat die servo eenvoudig van 0 tot 180 grade heen en weer swaai

/* Vee

deur BARRAGAN Hierdie voorbeeldkode is in die publieke domein. gewysig 8 Nov 2013 deur Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // skep servo -voorwerp om 'n servo te beheer // twaalf servo -voorwerpe kan op die meeste borde int pos = 0 geskep word; // veranderlike om die servoposisie leemte op te stel () {myservo.attach (9); // heg die servo op pen 9 aan die servo -voorwerp} leemte lus () {vir (pos = 0; pos = 0; pos -= 1) {// gaan van 180 grade tot 0 grade myservo.write (pos); // sê vir servo om in posisie te gaan met veranderlike 'pos' -vertraging (15); // wag 15 ms vir die servo om die posisie te bereik}}

Stap 3: Koppel 'n potensiometer

Koppel 'n potensiometer
Koppel 'n potensiometer

Ons sal nou werk om die posisie van die servo handmatig te beheer met 'n potensiometer. Koppel die potensiometer soos volg:

  • Linkerkant - Grondrail
  • Regterkant - kragrail
  • Top/middelste aansluiting - Pin A0 (analoog 0 -pen)

Stap 4: Potensiometer begin kode

Hieronder is 'n voorgeregskode vir die beheer van die servo met 'n potensiometer. Voltooi die kode sodat die servo eenstemmig beweeg wanneer u die potensiometer beweeg.

/* Veeg deur BARRAGAN Hierdie voorbeeldkode is in die publieke domein. gewysig 8 Nov 2013 deur Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // skep servo -voorwerp om 'n servo te beheer // twaalf servo -voorwerpe kan op die meeste borde int pos = 0 geskep word; // veranderlike om die servoposisie op te slaan int potPin = 0; // Kies die pen vir die aansluiting van die potensiometer int potVal = 0; // Huidige potensiometerwaarde leegte opstelling () {myservo.attach (9); // plak die servo op pen 9 aan die servo -voorwerp pinMode (potPin, INPUT); } leemte -lus () {potVal = analogRead (potPin); myservo.write (pos); // sê vir servo om in posisie te gaan met veranderlike 'pos' -vertraging (15); // wag 15 ms vir die servo om die posisie te bereik}

Stap 5: Koppel First LED aan

Koppel First LED aan
Koppel First LED aan

Nadat ons die servo via die potensiometer beheer het, gaan ons 'n paar terugvoer byvoeg via 'n paar LED's. Ons sal twee rye LED's skep. Die een sal die "linker" arm van die servo verteenwoordig en die ander sal die "regter" arm van die servo verteenwoordig. As die servo van posisie verander, sal die een arm opstaan en die ander arm val. Die LED's sal brand om te wys:

  • volle arm is opgelig
  • half arms is gelyk.
  • af - arm word laat sak

Die diagram sal die rye LED's aan die teenoorgestelde ente van die broodbord vertoon. Dit is gedoen om die sigbaarheid te vergemaklik; u LED's moet in lyn wees/selfs met mekaar.

Koppel eerste LED aan:

  • Koppel die kort lood van die LED aan die grondrail
  • Koppel die langer LED van die LED aan 'n weerstand van 220 Ohm. Koppel die weerstand aan pen 13 op die Arduino.

Stap 6: Verbind die oorblywende ry LED's

Koppel die oorblywende ry LED's aan
Koppel die oorblywende ry LED's aan

Nadat die eerste LED bygevoeg is, verbind die oorblywende LED's:

  • Korter lood - maak verbinding met die grondrail
  • Langer lood - koppel 'n 220 Ohm -weerstand aan die LED's en die volgende Arduino -penne: 12, 11, 10, 9, 8

Stap 7: Voeg eerste LED, tweede ry by

Voeg eerste LED, tweede ry by
Voeg eerste LED, tweede ry by

Die tweede ry LED's word op dieselfde manier as die eerste bygevoeg:

  • Koppel die kort lood van die LED aan die grondrail
  • Koppel die langer LED van die LED aan 'n weerstand van 220 Ohm. Koppel die weerstand aan pen 7 op die Arduino.

Stap 8: Koppel finale LED's aan

Koppel die finale LED's aan
Koppel die finale LED's aan

Koppel die oorblywende LED's aan:

Korter lood - koppel aan die grondrail Langer lood - verbind 'n 220 Ohm -weerstand met die LED's en die volgende Arduino -penne: 6, 5, 4, 3

Stap 9: Beheer LED -skerm

U laaste stap is om u kode op te dateer om u LED's te beheer. Dit sal die volgende moet hanteer:

  • Die boonste ry pas by die "regterarm" van die servo. Terwyl die arm op/af swiep, moet die LED's aan/af skakel.
  • Die onderste ry pas by die "linkerarm" van die servo. Terwyl die arm op/af swiep, moet die LED's aan/af skakel.

Aanbeveel: