Cuprins:

Micro Servo Lab: 9 pași
Micro Servo Lab: 9 pași

Video: Micro Servo Lab: 9 pași

Video: Micro Servo Lab: 9 pași
Video: sg90 9g micro servo testing without servo motor driver... 2024, Iulie
Anonim
Micro Servo Lab
Micro Servo Lab

În acest laborator vom lucra la controlul poziției unui micro servo cu un potențiometru. Pe baza poziției „brațelor” micro servo vom aprinde rândurile corespunzătoare de LED-uri. Pentru acest laborator veți avea nevoie de:

  • 1 micro servo (cel furnizat este un micro servo de 9 grame)
  • 1 potențiometru
  • 10 LED-uri (folosind două culori diferite)
  • 10 rezistențe de 220 Ohm

Pasul 1: Conectați un Micro Servo

Conectați un Micro Servo
Conectați un Micro Servo

Micro servo are trei fire pentru alimentare, împământare și un impuls de semnal. Micro servo va accepta un impuls PWM pentru a determina în ce poziție ar trebui să fie (0 - 180 grade). Din punct de vedere tehnic, puteți utiliza oricare dintre pinii PWM de pe Arduino Uno, dar în general începem cu pinul 9 sau 10 *.

Înființat:

  1. Conectați panoul de control la șina de alimentare (+ 5V) și șina de sol (GND)
  2. Conectați servo la șina de alimentare, șina de sol și pinul 9.

** Acest lucru se datorează faptului că biblioteca Servo utilizează Timer2 pe Arduino, care ne va împiedica să folosim semnalele PWM, analogWrite (), pe acești doi pini în orice alt scop, altul decât controlul unui servo. Deși putem folosi acești pini pentru i / o digitală, în general îi vom folosi exclusiv pentru servo control **

Pasul 2: Testați Micro Servo

Codul de aici este exemplul de cod furnizat de Servo Library. Va avea pur și simplu servomotoarea de la 0 la 180 de grade

/* Mătura

de BARRAGAN Acest exemplu de cod se află în domeniul public. modificat la 8 noiembrie 2013 de Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // creați un obiect servo pentru a controla un servo // douăsprezece obiecte servo pot fi create pe majoritatea plăcilor int pos = 0; // variabilă pentru a stoca configurarea nulă a poziției servo () {myservo.attach (9); // atașează servo pe pinul 9 la obiectul servo} bucla void () {for (pos = 0; pos = 0; pos - = 1) {// merge de la 180 grade la 0 grade myservo.write (pos); // spuneți servo-ului să meargă în poziție în variabila „pos” întârziere (15); // așteaptă 15ms ca servo să ajungă în poziție}}

Pasul 3: Conectați un potențiometru

Conectați un potențiometru
Conectați un potențiometru

Vom lucra acum la controlul manual al poziției servo cu un potențiometru. Conectați potențiometrul după cum urmează:

  • Partea stângă - șina de la sol
  • Partea dreaptă - Șină electrică
  • Conexiune sus / mijlocie - Pin A0 (analogic 0 pin)

Pasul 4: Cod de pornire a potențiometrului

Mai jos este un cod de pornire pentru controlul servo cu un potențiometru. Terminați codul astfel încât, atunci când mutați potențiometrul, servo să se deplaseze la unison.

/ * Sweep by BARRAGAN Acest exemplu de cod este în domeniul public. modificat la 8 noiembrie 2013 de Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // creați un obiect servo pentru a controla un servo // douăsprezece obiecte servo pot fi create pe majoritatea plăcilor int pos = 0; // variabilă pentru a stoca poziția servo int potPin = 0; // Selectați pinul pentru conectarea potențiometrului int potVal = 0; // Valoarea potențiometrului curent setare nulă () {myservo.attach (9); // atașează servo pe pinul 9 la obiectul servo pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // spuneți servo-ului să meargă în poziție în variabila „pos” întârziere (15); // așteaptă 15ms ca servo să ajungă în poziție}

Pasul 5: Conectați primul LED

Conectați primul LED
Conectați primul LED

După ce servo-ul este controlat prin potențiometru, vom adăuga un feedback prin intermediul unor LED-uri. Vom crea două rânduri de LED-uri. Unul va reprezenta brațul „stâng” al servo și celălalt va reprezenta brațul „drept” al servo-ului. Pe măsură ce servo-ul schimbă poziția, un braț se va ridica și celălalt va cădea. LED-urile se vor aprinde pentru a afișa:

  • brațul complet este ridicat
  • jumătatea brațelor este egală.
  • brațul este coborât

Diagrama va afișa rândurile de LED-uri de la capetele opuse ale panoului. Acest lucru a fost făcut pentru ușurința vizibilității, LED-urile dvs. ar trebui aliniate / chiar între ele.

Conectați primul LED:

  • Conectați cablul scurt al LED-ului la șina de la sol
  • Conectați cablul mai lung al LED-ului la un rezistor de 220 Ohm. Conectați rezistorul la pinul 13 de pe Arduino.

Pasul 6: Conectați rândul rămas de LED-uri

Conectați rândul rămas de LED-uri
Conectați rândul rămas de LED-uri

După ce primul LED a fost adăugat, conectați restul de LED-uri:

  • Plumb mai scurt - conectați la șina de la sol
  • Conductor mai lung - conectați un rezistor de 220 Ohm la LED-uri și la următorii pini Arduino: 12, 11, 10, 9, 8

Pasul 7: Adăugați primul LED, al doilea rând

Adăugați primul LED, al doilea rând
Adăugați primul LED, al doilea rând

Al doilea rând de LED-uri va fi adăugat în același mod ca primul:

  • Conectați cablul scurt al LED-ului la șina de la sol
  • Conectați cablul mai lung al LED-ului la un rezistor de 220 Ohm. Conectați rezistorul la pinul 7 de pe Arduino.

Pasul 8: Conectați LED-urile finale

Conectați LED-urile finale
Conectați LED-urile finale

Conectați restul de LED-uri:

Cablu mai scurt - conectați la șina de masă Cablu mai lung - conectați un rezistor de 220 Ohm la LED-uri și la următorii pini Arduino: 6, 5, 4, 3

Pasul 9: Control LED Display

Ultimul dvs. pas este să vă actualizați codul pentru a vă controla LED-urile. Va trebui să se ocupe de următoarele:

  • Rândul de sus se va potrivi cu „brațul drept” al servo-ului. Pe măsură ce brațul se deplasează în sus / în jos, LED-urile trebuie să se aprindă / să se stingă.
  • Rândul de jos se va potrivi cu „brațul stâng” al servo-ului. Pe măsură ce brațul se deplasează în sus / în jos, LED-urile trebuie să se aprindă / să se stingă.

Recomandat: