Turinys:

„Micro Servo Lab“: 9 žingsniai
„Micro Servo Lab“: 9 žingsniai

Video: „Micro Servo Lab“: 9 žingsniai

Video: „Micro Servo Lab“: 9 žingsniai
Video: servo motor forword reverse control using switch / without arduino #dcmotor 2024, Lapkritis
Anonim
„Micro Servo Lab“
„Micro Servo Lab“

Šioje laboratorijoje mes stengsimės kontroliuoti mikro servo padėtį potenciometru. Remdamiesi mikro servo „ginklų“padėtimi, užsidegsime atitinkamas šviesos diodų eilutes. Šiai laboratorijai jums reikės:

  • 1 mikro servo (pateikiamas 9 gramų mikro servo)
  • 1 potenciometras
  • 10 šviesos diodų (naudojant dvi skirtingas spalvas)
  • 10 220 omų rezistoriai

1 veiksmas: prijunkite „Micro Servo“

Prijunkite „Micro Servo“
Prijunkite „Micro Servo“

Mikro servo turi tris laidus, skirtus maitinimui, įžeminimui ir signalo impulsui. Mikroservas priims PWM impulsą, kad nustatytų, kokioje padėtyje jis turėtų būti (0 - 180 laipsnių). Techniškai „Arduino Uno“galite naudoti bet kurį PWM kaištį, tačiau paprastai pradedame nuo 9 arba 10 kaiščio*.

Sąranka:

  1. Prijunkite duonos lentą prie maitinimo bėgio (+5V) ir įžeminimo bėgio (GND)
  2. Prijunkite servo prie maitinimo bėgelio, įžeminimo bėgelio ir 9 kaiščio.

** Taip yra todėl, kad „Servo“bibliotekoje „Arduino“naudojamas „Timer2“, kuris neleis mums naudoti šių dviejų kaiščių PWM signalų, analogWrite (), bet kokiems kitiems tikslams, išskyrus servo valdymą. Nors mes vis dar galime naudoti šiuos kaiščius skaitmeniniam įvesties/išvesties ryšiui, paprastai juos naudosime tik servo valdymui **

2 žingsnis: išbandykite „Micro Servo“

Kodas čia yra Servo bibliotekos pateiktas kodo pavyzdys. Tai tiesiog paliks servo variklį pirmyn ir atgal nuo 0 iki 180 laipsnių

/* Šluoti

autorius BARRAGAN Šis pavyzdinis kodas yra viešai prieinamas. 2013 m. lapkričio 8 d. pakeitė Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // sukurti servo objektą valdyti servo // daugumoje lentų galima sukurti dvylika servo objektų int pos = 0; // kintamasis servo pozicijai saugoti void setup () {myservo.attach (9); // pritvirtina 9 kaiščio servo prie servo objekto} void loop () {for (pos = 0; pos = 0; pos -= 1) {// eina nuo 180 laipsnių iki 0 laipsnių myservo.write (pos); // liepti servo eiti į padėtį kintamajame 'pos' delay (15); // laukia 15 ms, kol servo sistema pasieks padėtį}}

3 žingsnis: prijunkite potenciometrą

Prijunkite potenciometrą
Prijunkite potenciometrą

Dabar dirbsime rankiniu būdu valdydami servo padėtį potenciometru. Prijunkite potenciometrą taip:

  • Kairė pusė - įžeminimo bėgelis
  • Dešinė pusė - maitinimo bėgelis
  • Viršutinė/vidurinė jungtis - kaištis A0 (analoginis 0 kontaktų)

4 žingsnis: potenciometro paleidimo kodas

Žemiau yra starterio kodas, skirtas servo valdymui potenciometru. Užbaikite kodą taip, kad perkėlus potenciometrą, servo sistema judėtų vienu metu.

/* Sweep by BARRAGAN Šis pavyzdinis kodas yra viešai prieinamas. 2013 m. lapkričio 8 d. pakeitė Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // sukurti servo objektą servo valdymui // daugumoje lentų galima sukurti dvylika servo objektų int pos = 0; // kintamasis servo padėčiai išsaugoti int potPin = 0; // Pasirinkite potenciometro prijungimo kaištį int potVal = 0; // Dabartinė potenciometro reikšmė void setup () {myservo.attach (9); // pritvirtina 9 kaiščio servo servo objektą pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // liepti servo eiti į padėtį kintamajame 'pos' delay (15); // laukia 15 ms, kol servo sistema pasieks padėtį}

5 veiksmas: prijunkite pirmąjį šviesos diodą

Prijunkite pirmąjį šviesos diodą
Prijunkite pirmąjį šviesos diodą

Kai servo valdysime per potenciometrą, pridėsime atsiliepimų per kai kuriuos šviesos diodus. Mes sukursime dvi šviesos diodų eilutes. Vienas atstovaus „kairę“servo ranką, o kitas - „dešinę“servo ranką. Keičiant servo padėtį viena ranka pakils, o kita nukris. Šviesos diodai užsidegs ir parodys:

  • pilna - ranka pakelta
  • pusės rankos yra lygios.
  • išjungta - ranka nuleista

Diagramoje bus rodomos šviesos diodų eilutės priešinguose duonos lentos galuose. Tai buvo padaryta siekiant palengvinti matomumą, jūsų šviesos diodai turėtų būti sujungti/net vienas su kitu.

Prijunkite pirmąjį šviesos diodą:

  • Prijunkite trumpą šviesos diodo laidą prie įžeminimo bėgio
  • Prijunkite ilgesnį šviesos diodo laidą prie 220 omų rezistoriaus. Prijunkite rezistorių prie „Arduino“13 kaiščio.

6 veiksmas: prijunkite likusią šviesos diodų eilę

Prijunkite likusią šviesos diodų eilę
Prijunkite likusią šviesos diodų eilę

Pridėjus pirmąjį šviesos diodą, prijunkite likusius šviesos diodus:

  • Trumpesnis laidas - prijunkite prie antžeminio bėgelio
  • Ilgesnis laidas - prijunkite 220 omų rezistorių prie šviesos diodų ir šių „Arduino“kaiščių: 12, 11, 10, 9, 8

7 veiksmas: pridėkite pirmąjį šviesos diodą, antrą eilutę

Pridėkite pirmąjį šviesos diodą, antrą eilutę
Pridėkite pirmąjį šviesos diodą, antrą eilutę

Antroji šviesos diodų eilutė bus pridėta taip pat, kaip ir pirmoji:

  • Prijunkite trumpą šviesos diodo laidą prie įžeminimo bėgio
  • Prijunkite ilgesnį šviesos diodo laidą prie 220 omų rezistoriaus. Prijunkite rezistorių prie „Arduino“7 kaiščio.

8 veiksmas: prijunkite galutinius šviesos diodus

Prijunkite galutinius šviesos diodus
Prijunkite galutinius šviesos diodus

Prijunkite likusius šviesos diodus:

Trumpesnis laidas - prijunkite prie įžeminimo bėgelio Ilgesnis laidas - prijunkite 220 omų rezistorių prie šviesos diodų ir šių „Arduino“kaiščių: 6, 5, 4, 3

9 žingsnis: Valdykite LED ekraną

Paskutinis žingsnis yra atnaujinti kodą, kad būtų galima valdyti šviesos diodus. Jai reikės tvarkyti šiuos dalykus:

  • Viršutinė eilutė atitiks servo „dešinę ranką“. Kai ranka braukia aukštyn/žemyn, šviesos diodai turi įsijungti/išsijungti.
  • Apatinė eilutė atitiks servo „kairę ranką“. Kai ranka braukia aukštyn/žemyn, šviesos diodai turi įsijungti/išsijungti.

Rekomenduojamas: