Innholdsfortegnelse:

Micro Servo Lab: 9 trinn
Micro Servo Lab: 9 trinn

Video: Micro Servo Lab: 9 trinn

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

I denne laben vil vi jobbe med å kontrollere en mikroservos posisjon med et potensiometer. Basert på posisjonen til mikroservoens "armer" vil vi lyse opp tilsvarende rader med lysdioder. For denne laben trenger du:

  • 1 mikroservo (den medfølgende er en 9 gram mikroservo)
  • 1 potensiometer
  • 10 lysdioder (bruker to forskjellige farger)
  • 10 220 Ohm motstander

Trinn 1: Koble til en mikroservo

Koble til en Micro Servo
Koble til en Micro Servo

Mikroservoen har tre ledninger for strøm, bakken og en signalpuls. Mikroservoen godtar en PWM -puls for å bestemme hvilken posisjon den skal være i (0 - 180 grader). Teknisk kan du bruke hvilken som helst av PWM -pinnene på Arduino Uno, men vi starter vanligvis med Pin 9 eller 10*.

Oppsett:

  1. Koble brødbrettet til kraftskinnen (+5V) og bakken (GND)
  2. Koble servoen til kraftskinnen, bakken og pin 9.

** Dette er fordi Servobiblioteket bruker Timer2 på Arduino som vil blokkere oss fra å bruke PWM -signaler, analogWrite (), på disse to pinnene til andre formål enn å kontrollere en servo. Selv om vi fortsatt kan bruke disse pinnene til digital i/o, vil vi vanligvis bruke disse utelukkende til servokontroll **

Trinn 2: Test Micro Servo

Koden her er eksempelkoden fra Servobiblioteket. Det vil ganske enkelt få servoen til å feie frem og tilbake fra 0 til 180 grader

/* Sveip

av BARRAGAN Denne eksempelkoden er i det offentlige domene. endret 8. nov 2013 av Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // lage servoobjekt for å kontrollere en servo // tolv servoobjekter kan opprettes på de fleste tavler int pos = 0; // variabel for å lagre servoposisjonen tom oppsett () {myservo.attach (9); // fester servoen på pinne 9 til servoobjektet} void loop () {for (pos = 0; pos = 0; pos -= 1) {// går fra 180 grader til 0 grader myservo.write (pos); // be servoen om å gå til posisjon i variabelen 'pos' forsinkelse (15); // venter 15 ms på at servoen når posisjonen}}

Trinn 3: Koble til et potensiometer

Koble til et potensiometer
Koble til et potensiometer

Vi vil nå jobbe med å kontrollere posisjonen til servoen manuelt med et potensiometer. Koble potensiometeret som følger:

  • Venstre side - Jordskinne
  • Høyre side - Power rail
  • Topp/midt tilkobling - Pin A0 (analog 0 pin)

Trinn 4: Potensiometer startkode

Nedenfor er noen startkoder for styring av servoen med et potensiometer. Fullfør koden slik at når du flytter potensiometeret, vil servoen bevege seg i kor.

/* Sweep by BARRAGAN Denne eksempelkoden er i allmennheten. endret 8. nov 2013 av Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // lage servoobjekt for å kontrollere en servo // tolv servoobjekter kan opprettes på de fleste tavler int pos = 0; // variabel for å lagre servoposisjonen int potPin = 0; // Velg pinnen for tilkobling av potensiometeret int potVal = 0; // Gjeldende potensiometerverdi ugyldig oppsett () {myservo.attach (9); // fester servoen på pinne 9 til servoobjektet pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // be servoen om å gå til posisjon i variabelen 'pos' forsinkelse (15); // venter 15 ms på at servoen når posisjonen}

Trinn 5: Koble til First LED

Koble til First LED
Koble til First LED

Etter at vi har servoen styrt via potensiometeret, skal vi legge til noen tilbakemeldinger via noen lysdioder. Vi skal lage to rader med lysdioder. Den ene vil representere den "venstre" armen på servoen og den andre vil representere den "høyre" armen på servoen. Når servoen endrer posisjon, vil den ene armen stige og den andre falle. Lysdiodene lyser for å vise:

  • full arm er hevet
  • halvarmene er like.
  • av - armen senkes

Diagrammet viser radene med lysdioder i motsatte ender av brødbrettet. Dette ble gjort for å gjøre det lettere å se, LED -lampene dine bør stilles opp/til og med med hverandre.

Koble til første LED:

  • Koble den korte ledningen til LED -en til jordskinnen
  • Koble LED -lampens lengre ledning til en 220 Ohm motstand. Koble motstanden til pinne 13 på Arduino.

Trinn 6: Koble til gjenværende rad med lysdioder

Koble til gjenværende rad med lysdioder
Koble til gjenværende rad med lysdioder

Etter at den første lysdioden er lagt til, kobler du til de resterende lysdiodene:

  • Kortere bly - koble til bakken
  • Lengre ledning - koble en 220 Ohm motstand til lysdiodene og følgende Arduino Pins: 12, 11, 10, 9, 8

Trinn 7: Legg til første LED, andre rad

Legg til første LED, andre rad
Legg til første LED, andre rad

Den andre raden med lysdioder vil bli lagt til på samme måte som den første:

  • Koble den korte ledningen til LED -en til jordskinnen
  • Koble LED -lampens lengre ledning til en 220 Ohm motstand. Koble motstanden til pinne 7 på Arduino.

Trinn 8: Koble til siste lysdioder

Koble til siste lysdioder
Koble til siste lysdioder

Koble til de resterende lysdiodene:

Kortere ledning - koble til jordskinnen Lengre ledning - koble en 220 Ohm motstand til lysdiodene og følgende Arduino Pins: 6, 5, 4, 3

Trinn 9: Kontroll LED -skjerm

Det siste trinnet er å oppdatere koden din for å kontrollere lysdiodene dine. Det må håndtere følgende:

  • Den øverste raden vil matche "høyre arm" på servoen. Når armen feier opp/ned må LEDene slås på/av.
  • Den nederste raden vil passe til "venstre arm" på servoen. Når armen feier opp/ned må LEDene slås på/av.

Anbefalt: