Spisu treści:

Laboratorium mikroserwomechanizmów: 9 kroków
Laboratorium mikroserwomechanizmów: 9 kroków

Wideo: Laboratorium mikroserwomechanizmów: 9 kroków

Wideo: Laboratorium mikroserwomechanizmów: 9 kroków
Wideo: Podstawy programowania mikrokontrolerów 2024, Listopad
Anonim
Laboratorium mikroserwomechanizmów
Laboratorium mikroserwomechanizmów

W tym ćwiczeniu będziemy pracować nad kontrolowaniem pozycji mikro serwa za pomocą potencjometru. W zależności od położenia „ramion” mikroserwa zapalimy odpowiednie rzędy diod LED. Do tego laboratorium będziesz potrzebować:

  • 1 mikro serwo (dostarczony to 9 gram mikro serwo)
  • 1 potencjometr
  • 10 diod LED (przy użyciu dwóch różnych kolorów)
  • 10 rezystorów 220 Ohm

Krok 1: Podłącz Micro Servo

Podłącz Micro Servo
Podłącz Micro Servo

Mikro serwo ma trzy przewody do zasilania, masy i impulsu sygnałowego. Mikroserwo zaakceptuje impuls PWM, aby określić, w jakiej pozycji powinien się znajdować (0 - 180 stopni). Technicznie można użyć dowolnego z pinów PWM w Arduino Uno, ale zazwyczaj zaczynamy od pinu 9 lub 10 *.

Ustawiać:

  1. Podłącz płytkę stykową do szyny zasilającej (+5V) i szyny uziemiającej (GND)
  2. Podłącz serwo do szyny zasilającej, szyny uziemiającej i styku 9.

** Dzieje się tak, ponieważ biblioteka Servo wykorzystuje Timer2 na Arduino, który zablokuje nam używanie sygnałów PWM, analogWrite(), na tych dwóch pinach w dowolnym celu innym niż sterowanie serwomechanizmem. Chociaż nadal możemy używać tych pinów do cyfrowych wejść/wyjść, zazwyczaj używamy ich wyłącznie do sterowania serwo**

Krok 2: Przetestuj mikroserwo

Kod tutaj jest przykładowym kodem dostarczonym przez bibliotekę Servo. Będzie po prostu przesuwał serwo w przód i w tył od 0 do 180 stopni

/* Zamiatać

autor: BARRAGAN Ten przykładowy kod jest w domenie publicznej. zmodyfikowane 8 listopada 2013 r. przez Scotta Fitzgeralda https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // utwórz obiekt servo do sterowania serwo // na większości płyt można utworzyć dwanaście obiektów serwo int pos = 0; // zmienna do przechowywania pozycji serwa void setup() { myservo.attach(9); // dołącza serwo na pinie 9 do obiektu serwo } void loop() { for (pos = 0; pos = 0; pos -= 1) { // przechodzi ze 180 stopni do 0 stopni myservo.write(pos); // powiedz serwo, aby przeszło na pozycję w zmiennej 'pos' delay(15); // czeka 15ms, aż serwo osiągnie pozycję } }

Krok 3: Podłącz potencjometr

Podłącz potencjometr
Podłącz potencjometr

Teraz zajmiemy się ręcznym sterowaniem pozycją serwa potencjometrem. Podłącz potencjometr w następujący sposób:

  • Lewa strona - Szyna uziemiająca
  • Prawa strona - szyna zasilająca
  • Połączenie górne/środkowe - Pin A0 (pin analogowy 0)

Krok 4: Kod startowy potencjometru

Poniżej znajduje się kod startowy do sterowania serwo potencjometrem. Zakończ kod, aby po przesunięciu potencjometru serwo poruszało się zgodnie.

/* Sweep by BARRAGAN Ten przykładowy kod jest w domenie publicznej. zmodyfikowany 8 listopada 2013 przez Scotta Fitzgeralda https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // utwórz obiekt servo do sterowania serwo // na większości płyt można utworzyć dwanaście obiektów serwo int pos = 0; //zmienna do przechowywania pozycji serwa int potPin = 0;//Wybierz pin do podłączenia potencjometru int potVal = 0;//Aktualna wartość potencjometru void setup() { myservo.attach(9); // dołącza serwo na pinie 9 do obiektu serwa pinMode(potPin, INPUT); } void loop() { potVal = analogRead(potPin); myservo.write(pos); // powiedz serwo, aby przeszło na pozycję w zmiennej 'pos' delay(15); // czeka 15ms, aż serwo osiągnie pozycję }

Krok 5: Podłącz pierwszą diodę LED

Podłącz pierwszą diodę LED
Podłącz pierwszą diodę LED

Po tym, jak serwo będzie sterowane za pomocą potencjometru, dodamy sprzężenie zwrotne za pomocą kilku diod LED. Stworzymy dwa rzędy diod LED. Jedna będzie reprezentować „lewe” ramię serwa, a druga będzie reprezentować „prawe” ramię serwa. Gdy serwo zmienia pozycje, jedno ramię uniesie się, a drugie opadnie. Diody LED zaświecą się, aby wyświetlić:

  • pełna - ramię uniesione
  • połowa - ramiona są równe.
  • zgaszona - ramię jest opuszczone

Diagram wyświetli rzędy diod LED na przeciwległych końcach płytki stykowej. Zostało to zrobione dla ułatwienia widoczności, diody LED powinny być ustawione w jednej linii / nawet jedna obok drugiej.

Podłącz pierwszą diodę LED:

  • Podłącz krótki przewód diody LED do szyny uziemiającej
  • Podłącz dłuższy przewód diody LED do rezystora 220 Ohm. Podłącz rezystor do pinu 13 w Arduino.

Krok 6: Podłącz pozostały rząd diod LED

Podłącz pozostały rząd diod LED
Podłącz pozostały rząd diod LED

Po dodaniu pierwszej diody podłącz pozostałe diody:

  • Krótszy przewód - podłącz do szyny uziemiającej
  • Dłuższy przewód - podłącz rezystor 220 Ohm do diod LED i następujących pinów Arduino: 12, 11, 10, 9, 8

Krok 7: Dodaj pierwszą diodę LED, drugi rząd

Dodaj pierwszą diodę LED, drugi rząd
Dodaj pierwszą diodę LED, drugi rząd

Drugi rząd diod LED zostanie dodany w taki sam sposób jak pierwszy:

  • Podłącz krótki przewód diody LED do szyny uziemiającej
  • Podłącz dłuższy przewód diody LED do rezystora 220 Ohm. Podłącz rezystor do pinu 7 w Arduino.

Krok 8: Podłącz końcowe diody LED

Podłącz końcowe diody LED
Podłącz końcowe diody LED

Podłącz pozostałe diody LED:

Krótszy przewód - podłącz do szyny uziemienia Dłuższy przewód - podłącz rezystor 220 Ohm do diod LED oraz do następujących pinów Arduino: 6, 5, 4, 3

Krok 9: Kontrolny wyświetlacz LED

Ostatnim krokiem jest aktualizacja kodu, aby sterować diodami LED. Będzie musiał poradzić sobie z następującymi kwestiami:

  • Górny rząd będzie pasował do „prawego ramienia” serwa. Gdy ramię przesuwa się w górę/w dół, diody LED muszą się włączać/wyłączać.
  • Dolny rząd będzie pasował do „lewego ramienia” serwa. Gdy ramię przesuwa się w górę/w dół, diody LED muszą się włączać/wyłączać.

Zalecana: