Съдържание:

Микро серво лаборатория: 9 стъпки
Микро серво лаборатория: 9 стъпки

Видео: Микро серво лаборатория: 9 стъпки

Видео: Микро серво лаборатория: 9 стъпки
Видео: #8/9 Основы программирования сервомотора. Регулятор скорости. Теория 2024, Ноември
Anonim
Лаборатория за микро серво
Лаборатория за микро серво

В тази лаборатория ще работим за контролиране на позицията на микро серво с потенциометър. Въз основа на позицията на "рамената" на микро серво, ще запалим съответните редове светодиоди. За тази лаборатория ще ви трябва:

  • 1 микро серво (предоставеното е 9 грама микро серво)
  • 1 потенциометър
  • 10 светодиода (използвайки два различни цвята)
  • 10 220 ома резистора

Стъпка 1: Свържете микро серво

Свържете микро серво
Свържете микро серво

Микро серво има три проводника за захранване, заземяване и сигнален импулс. Микросервото ще приеме ШИМ импулс, за да определи в каква позиция трябва да бъде (0 - 180 градуса). Технически можете да използвате някой от PWM щифтовете на Arduino Uno, но обикновено започваме с Pin 9 или 10*.

Настройвам:

  1. Свържете макета към захранващата шина (+5V) и заземителната шина (GND)
  2. Свържете серво към захранващата шина, заземителната релса и щифт 9.

** Това е така, защото библиотеката Servo използва Timer2 на Arduino, който ще ни попречи да използваме PWM сигнали, analogWrite (), на тези два пина за всякакви цели, различни от контрола на серво. Въпреки че все още можем да използваме тези щифтове за цифрови входове/изходи, обикновено ще ги използваме изключително за серво управление **

Стъпка 2: Тествайте Micro Servo

Кодът тук е примерният код, предоставен от Servo Library. Той просто ще има серво размахване напред и назад от 0 до 180 градуса

/* Почистване

от BARRAGAN Този примерен код е обществено достояние. променено на 8 ноември 2013 г. от Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // създаване на серво обект за управление на серво // дванадесет серво обекта могат да бъдат създадени на повечето платки int pos = 0; // променлива за съхраняване на позицията на серво void setup () {myservo.attach (9); // прикрепя серво на щифт 9 към серво обекта} void loop () {for (pos = 0; pos = 0; pos -= 1) {// отива от 180 градуса до 0 градуса myservo.write (pos); // кажете на серво да отиде на позиция в променлива 'pos' забавяне (15); // изчаква 15ms, докато сервоприемникът достигне позицията}}

Стъпка 3: Свържете потенциометър

Свържете потенциометър
Свържете потенциометър

Сега ще работим за ръчно управление на позицията на серво с потенциометър. Свържете потенциометъра, както следва:

  • Лява страна - наземна релса
  • Дясна страна - Електрическа шина
  • Горна/средна връзка - Pin A0 (аналогов 0 пин)

Стъпка 4: Код за стартиране на потенциометъра

По -долу е представен код на стартер за управление на серво с потенциометър. Завършете кода така, че когато преместите потенциометъра, сервото ще се движи в унисон.

/* Sweep от BARRAGAN Този примерен код е обществено достояние. променено на 8 ноември 2013 г. от Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // създаване на серво обект за управление на серво // дванадесет серво обекта могат да бъдат създадени на повечето платки int pos = 0; // променлива за съхраняване на позицията на серво int potPin = 0; // Изберете щифта за свързване на потенциометъра int potVal = 0; // Текуща стойност на потенциометъра void setup () {myservo.attach (9); // свързва серво на щифт 9 към серво обекта pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // кажете на серво да отиде на позиция в променлива 'pos' забавяне (15); // изчаква 15ms, докато сервоприемникът достигне позицията}

Стъпка 5: Свържете първия светодиод

Свържете първи светодиод
Свържете първи светодиод

След като управляваме сервото чрез потенциометъра, ще добавим обратна връзка чрез някои светодиоди. Ще създадем два реда светодиоди. Единият ще представлява "лявото" рамо на серво, а другото ще представлява "дясното" рамо на серво. С промяната на позицията на серво, едната ръка ще се издигне, а другата ще падне. Светодиодите ще светнат, за да покажат:

  • пълна - ръката е повдигната
  • половината ръце са равни.
  • изключено - ръката е спусната

Диаграмата ще показва редовете от светодиоди в противоположните краища на макета. Това беше направено за по -лесна видимост, вашите светодиоди трябва да бъдат подредени/дори един с друг.

Свържете първия светодиод:

  • Свържете късия проводник на светодиода към заземяващата шина
  • Свържете по -дългия проводник на светодиода към резистор 220 ома. Свържете резистора към щифт 13 на Arduino.

Стъпка 6: Свържете останалия ред от светодиоди

Свържете останалия ред от светодиоди
Свържете останалия ред от светодиоди

След като добавите първия светодиод, свържете останалите светодиоди:

  • По -къс проводник - свържете се към заземителната релса
  • По -дълъг проводник - свържете 220 омов резистор към светодиодите и следните щифтове Arduino: 12, 11, 10, 9, 8

Стъпка 7: Добавете първи светодиод, втори ред

Добавете първи светодиод, втори ред
Добавете първи светодиод, втори ред

Вторият ред светодиоди ще бъде добавен по същия начин като първия:

  • Свържете късия проводник на светодиода към заземяващата шина
  • Свържете по -дългия проводник на светодиода към резистор 220 ома. Свържете резистора към щифт 7 на Arduino.

Стъпка 8: Свържете крайните светодиоди

Свържете крайните светодиоди
Свържете крайните светодиоди

Свържете останалите светодиоди:

По -къс проводник - свържете се към заземителя По -дълъг проводник - свържете резистор 220 Ohm към светодиодите и следните щифтове Arduino: 6, 5, 4, 3

Стъпка 9: Контролирайте LED дисплея

Последната ви стъпка е да актуализирате кода си, за да контролирате светодиодите си. Той ще трябва да обработи следното:

  • Горният ред ще съответства на "дясната ръка" на серво. Докато ръката се движи нагоре/надолу, светодиодите трябва да се включват/изключват.
  • Долният ред ще съответства на "лявата ръка" на серво. Докато ръката се движи нагоре/надолу, светодиодите трябва да се включват/изключват.

Препоръчано: