Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Как использовать библиотеку ServoTimer2 (простое объяснение) Servo Sweep

Компоненты и расходные материалы

Сервоприводы (Tower Pro MG996R)
× 1
Arduino UNO
× 1
Перемычки (общие)
× 1
Электронные детали UTSOURCE
× 1

Об этом проекте

Введение

Недавно я пытался создать робота-гуманоида, а это значит иметь дело с серводвигателями. Все работало так же хорошо, как раз перед тем, как я попытался заставить робота ГОВОРИТЬ. Когда мне нужно было использовать библиотеку TMRpcm. Но есть такие библиотеки, как

  # TMRpcm.h # VirtualWire.h  

- это библиотеки, использующие Timer1 Arduino. Похоже, вы не можете использовать два устройства одновременно, когда оба используют один и тот же таймер ... Итак, если мой робот разговаривает - сервоприводы не работают. Поскольку Servo.h и TMRpcm работают на Arduino TImer1. Это беспорядок. Если вы хотите, чтобы они оба работали, вам нужно использовать другую библиотеку для сервоприводов. Что такое библиотека ServoTimer2? Здесь используется Timer2 на Arduino ... К сожалению, в Интернете я не нашел никаких руководств, чтобы понять, как на самом деле работает эта библиотека ServoTimer2 и как использовать ее в коде. Итак, я решил сделать учебник, чтобы такие люди, как я, могли лучше понять. Мы будем использовать один серводвигатель с этой библиотекой и создадим простой код развертки сервопривода

Вы можете посмотреть видео, чтобы лучше понять.

Шаг 1. Детали и сборка:

Основная часть - серводвигатель.

Я использую сервопривод Micro SG90, подойдет любая модель.

Затем возьмите сервопривод, как на рис. 2, и приклейте его на жесткий картон (это просто для хорошей видимости), а затем добавьте рычаг к серводвигателю, как на рис. 4.

Шаг 2. Загрузите и добавьте библиотеку ServoTimer2 в Arduino

Прежде всего, вам нужно скачать библиотеку отсюда https://github.com/nabontra/ServoTimer2 и вставить ее в папку библиотеки Arduino.

Затем перейдите к эскизу> включить библиотеку> добавьте zip.file из папки библиотеки.

Теперь все готово.

Шаг 3. Создайте простую схему

Это самая легкая часть

  • Красный провод сервопривода к VCC Arduino (5 В)
  • серый - Gnd
  • Orange-digital 6

Шаг 4. Кодекс.

Прежде чем мы познакомимся с кодом ServoTimer2, давайте вернемся к развертке библиотеки Servo.h.

(двигатель будет вращаться от 0 до 90 градусов - подождите 1 секунду - затем до 180 градусов - подождите 1 секунду)

  #include  Серво servo1; void setup () {servo1.attach (6); // поместите сюда свой установочный код для однократного запуска} void loop () {// поместите сюда ваш основной код для повторного запуска:servo1.write (0); delay (1000); servo1.write (90); delay ( 1000); servo1.write (180); delay (1000);}  

Как вы можете видеть в этой библиотеке, если мы хотим повернуть сервопривод в определенное положение, нам нужно было просто записать градус, и сервопривод справился бы нормально. Но в библиотеке ServoTimer2 мы должны записать ширину импульса сервопривода, и сервопривод перемещается в это положение, используя это. Чаще всего 1500 означает 90 градусов. Максимальная ширина импульса составляет 2250, а минимальная - 750. Это означает, что 750 соответствует 0 градусам, а 2250 - 180 градусам. Но позвольте мне сказать вам, что это варьируется от сервопривода к сервоприводу. Просто отправьте свои ценности и посмотрите, что произойдет. Не волнуйтесь, это не повредит ваш серводвигатель.

Теперь я напишу тот же код для ServoTimer 2, и, таким образом, вы поймете, в чем на самом деле различия.

  #include "ServoTimer2.h" ServoTimer2 servo1; void setup () {servo1.attach (6); } void loop () {// поместите сюда ваш основной код для повторного запуска:servo1.write (750); // минимальная ширина импульса для 0 градусов задержки (1000); servo1.write (1500); // ширина импульса для задержки 90 градусов (1000); servo1.write (2250); // максимальная ширина импульса примерно на 180 градусов (1000);}  

Теперь просто включите Arduino и посмотрите по шкале градусов, для какого значения, насколько вращается сервопривод. И таким образом вы сможете реализовать свой проект. Happy Making.o 2700, чтобы сделать это.

Шаг 5. Последний раз включите Arduino и поэкспериментируйте

Теперь просто включите Arduino и посмотрите по шкале градусов, для какого значения, насколько вращается сервопривод. И купите, сделав это, вы можете запустить свой проект. Happy Making.

Код

  • Servo seep.code
  • ServoTimer2.sweep.code
Servo seep.code C / C ++
 #include  Servo servo1; void setup () {servo1.attach (6); // поместите сюда свой установочный код для однократного запуска} void loop () {// поместите сюда ваш основной код для повторного запуска:servo1.write (0); delay (1000); servo1.write (90); delay ( 1000); servo1.write (180); delay (1000);} 
ServoTimer2.sweep.code C / C ++
 #include "ServoTimer2.h" ServoTimer2 servo1; void setup () {servo1.attach (6); } void loop () {// поместите сюда ваш основной код для повторного запуска:servo1.write (750); // минимальная ширина импульса для 0 градусов задержки (1000); servo1.write (1500); // ширина импульса для задержки 90 градусов (1000); servo1.write (2250); // максимальная ширина импульса около 180 градусов, задержка (1000);} 

Схема

ServoTimer2.sweep.code
https://github.com/ashraf-minhaj/Arduino-ServoTimer2-basic-sweep-/tree/code-sweep

Производственный процесс

  1. Как мы используем молибден?
  2. Как создать платформу для роботов Arduino + Raspberry Pi
  3. Простой робот Pi
  4. Как сделать стекловолокно
  5. Функция realloc() в библиотеке C:как использовать? Синтаксис и пример
  6. Функция free() в библиотеке C:как использовать? Учитесь на примере
  7. Насколько легко использовать термистор ?!
  8. Как сделать анимацию в разрезе в Solidworks
  9. Как сделать прототип
  10. Как использовать шлифовальный станок