Satura rādītājs:

Mikro servo laboratorija: 9 soļi
Mikro servo laboratorija: 9 soļi

Video: Mikro servo laboratorija: 9 soļi

Video: Mikro servo laboratorija: 9 soļi
Video: Arduino Servo Control: How to Make a Laser Turret with XOD 2024, Novembris
Anonim
Mikro servo laboratorija
Mikro servo laboratorija

Šajā laboratorijā mēs strādāsim, lai kontrolētu mikro servo stāvokli ar potenciometru. Pamatojoties uz mikro servo "roku" stāvokli, mēs iedegsim atbilstošās gaismas diožu rindas. Šai laboratorijai jums būs nepieciešams:

  • 1 mikro servo (komplektā ietilpst 9 gramu mikro servo)
  • 1 potenciometrs
  • 10 gaismas diodes (izmantojot divas dažādas krāsas)
  • 10 220 omi rezistori

1. darbība: pievienojiet mikro servo

Pievienojiet mikro servo
Pievienojiet mikro servo

Mikro servo ir trīs vadi barošanai, zemei un signāla impulsam. Mikroservo pieņem PWM impulsu, lai noteiktu, kādā stāvoklī tam vajadzētu būt (0 - 180 grādi). Tehniski Arduino Uno varat izmantot jebkuru no PWM tapām, bet parasti mēs sākam ar tapu 9 vai 10*.

Uzstādīt:

  1. Pievienojiet maizes dēli barošanas sliedei (+5V) un zemes sliedei (GND)
  2. Pievienojiet servo barošanas sliedei, zemes sliedei un tapai 9.

** Tas ir tāpēc, ka Servo bibliotēka izmanto Timer2 uz Arduino, kas neļaus mums izmantot PWM signālus, analogWrite (), šajās divās tapās jebkādiem citiem mērķiem, izņemot servo vadību. Lai gan mēs joprojām varam izmantot šīs tapas digitālajai ieejai/izejai, mēs tās parasti izmantosim tikai servo vadībai **

2. darbība: pārbaudiet Micro Servo

Kods šeit ir Servo bibliotēkas sniegtā koda paraugs. Tas vienkārši liks servo virzīties uz priekšu un atpakaļ no 0 līdz 180 grādiem

/* Slaucīt

autors BARRAGAN Šis koda piemērs ir publiski pieejams. modificēts 2013. gada 8. novembrī ar Skotu Ficdžeraldu https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // izveidot servo objektu, lai kontrolētu servo // uz vairuma dēļu var izveidot divpadsmit servo objektus int pos = 0; // mainīgais, lai saglabātu servo pozīciju void setup () {myservo.attach (9); // piestiprina 9. tapas servo servo objektam} void loop () {for (pos = 0; pos = 0; pos -= 1) {// iet no 180 grādiem uz 0 grādiem myservo.write (pos); // sakiet servo, lai tas mainītos 'pos' kavējumā (15); // gaida 15 ms, lai servo sasniegtu pozīciju}}

3. solis: pievienojiet potenciometru

Pievienojiet potenciometru
Pievienojiet potenciometru

Tagad mēs strādāsim, lai manuāli kontrolētu servo stāvokli ar potenciometru. Pievienojiet potenciometru šādi:

  • Kreisā puse - zemes sliede
  • Labā puse - barošanas sliede
  • Augšējais/vidējais savienojums - tapa A0 (analogais 0 kontakts)

4. solis: potenciometra sākuma kods

Zemāk ir daži startera kodi servo vadīšanai ar potenciometru. Pabeidziet kodu, lai, pārvietojot potenciometru, servo kustētos vienoti.

/* Sweep by BARRAGAN Šis piemēra kods ir publiski pieejams. modificēts 2013. gada 8. novembrī ar Skotu Ficdžeraldu https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // izveidot servo objektu, lai kontrolētu servo // uz vairuma dēļu var izveidot divpadsmit servo objektus int pos = 0; // mainīgais, lai saglabātu servo pozīciju int potPin = 0; // Izvēlieties tapu potenciometra pievienošanai int potVal = 0; // Pašreizējā potenciometra vērtības void setup () {myservo.attach (9); // piestiprina 9. tapas servo servo objektam pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // sakiet servo, lai tas mainītos 'pos' kavējumā (15); // gaida 15 ms, lai servo sasniegtu pozīciju}

5. darbība: pievienojiet pirmo gaismas diodi

Pievienojiet pirmo LED
Pievienojiet pirmo LED

Kad servo ir kontrolēts, izmantojot potenciometru, mēs pievienosim atsauksmes, izmantojot dažas gaismas diodes. Mēs izveidosim divas LED rindas. Viens pārstāvēs servo "kreiso" roku, bet otrs - servo "labo" roku. Kad servo maina pozīcijas, viena roka pacelsies, otra - nokritīs. Iedegsies gaismas diodes, lai parādītu:

  • pilna - roka pacelta
  • puses rokas ir vienādas.
  • izslēgts - roka ir nolaista

Diagrammā tiks parādītas LED rindas maizes dēļa pretējos galos. Tas tika darīts, lai atvieglotu redzamību, jūsu gaismas diodēm jābūt sakārtotām/pat savstarpēji.

Pievienojiet pirmo LED:

  • Pievienojiet gaismas diodes īso vadu pie zemes sliedes
  • Savienojiet LED garāko vadu ar 220 omu rezistoru. Pievienojiet rezistoru Arduino 13. tapai.

6. darbība: pievienojiet atlikušo LED rindu

Pievienojiet atlikušo LED rindu
Pievienojiet atlikušo LED rindu

Pēc pirmās gaismas diodes pievienošanas pievienojiet atlikušās gaismas diodes:

  • Īsāks vads - savienojiet ar zemes sliedi
  • Garāks vads - pievienojiet 220 omu rezistoru gaismas diodēm un šādām Arduino tapām: 12, 11, 10, 9, 8

7. darbība: pievienojiet pirmo gaismas diodi, otro rindu

Pievienojiet pirmo LED, otro rindu
Pievienojiet pirmo LED, otro rindu

Otra LED rinda tiks pievienota tādā pašā veidā kā pirmā:

  • Pievienojiet gaismas diodes īso vadu pie zemes sliedes
  • Savienojiet LED garāko vadu ar 220 omu rezistoru. Pievienojiet rezistoru Arduino 7. tapai.

8. darbība: pievienojiet gala gaismas diodes

Pievienojiet gala gaismas diodes
Pievienojiet gala gaismas diodes

Pievienojiet atlikušās gaismas diodes:

Īsāks vads - pievienojiet zemes sliedei Garāks vads - pievienojiet 220 omu rezistoru gaismas diodēm un šādām Arduino tapām: 6, 5, 4, 3

9. solis: Vadības LED displejs

Pēdējais solis ir atjaunināt kodu, lai kontrolētu gaismas diodes. Tam būs jārīkojas šādi:

  • Augšējā rinda sakritīs ar servo "labo roku". Kad roka slaucās uz augšu/uz leju, gaismas diodēm jāieslēdzas/jāizslēdzas.
  • Apakšējā rinda sakrīt ar servo "kreiso roku". Kad roka slaucās uz augšu/uz leju, gaismas diodēm jāieslēdzas/jāizslēdzas.

Ieteicams: