Оглавление:
- Шаг 1. Вещи, которые могут вам понадобиться…
- Шаг 2: Подключите оборудование
- Шаг 3: запрограммируйте Arduino
- Шаг 4: Установите программное обеспечение
- Шаг 5: Используйте интерфейсную программу
- Шаг 6: проявите творческий подход
![Последовательный сервоконтроллер на базе Arduino: 6 шагов Последовательный сервоконтроллер на базе Arduino: 6 шагов](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10967780-arduino-based-serial-servo-controller-6-steps-j.webp)
Видео: Последовательный сервоконтроллер на базе Arduino: 6 шагов
![Видео: Последовательный сервоконтроллер на базе Arduino: 6 шагов Видео: Последовательный сервоконтроллер на базе Arduino: 6 шагов](https://i.ytimg.com/vi/jHKObXcNn14/hqdefault.jpg)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
![Последовательный сервоконтроллер на базе Arduino Последовательный сервоконтроллер на базе Arduino](https://i.howwhatproduce.com/images/003/image-7549-41-j.webp)
![Последовательный сервоконтроллер на базе Arduino Последовательный сервоконтроллер на базе Arduino](https://i.howwhatproduce.com/images/003/image-7549-42-j.webp)
Это простой последовательный контроллер для нескольких сервоприводов на базе Arduino. (мой первый инструктаж тоже:))
Большая часть работы заключалась в том, чтобы заставить программное обеспечение взаимодействовать с Arduino и создать протокол для передачи данных. Что касается аппаратного обеспечения, все, что я использовал, это два сервопривода (здесь стандартный сервопривод Parallax.) Sparkfun Arduino ProtoShield и Arduino Duemilanove с ATMEGA328, но большинство этих частей можно заменить аналогичными элементами. Я придумал этот проект как часть системы дистанционного управления, но настройка коммуникации заняла много времени. Если у кого-то есть какие-либо улучшения, идеи или ошибки, не стесняйтесь комментировать. РЕДАКТИРОВАТЬ: Я написал это некоторое время назад, только что опубликовал его недавно.
Шаг 1. Вещи, которые могут вам понадобиться…
![Вещи, которые могут вам понадобиться… Вещи, которые могут вам понадобиться…](https://i.howwhatproduce.com/images/003/image-7549-43-j.webp)
![Вещи, которые могут вам понадобиться… Вещи, которые могут вам понадобиться…](https://i.howwhatproduce.com/images/003/image-7549-44-j.webp)
Некоторые вещи вам понадобятся, чтобы построить это. 1. Плата Arduino (на ваш выбор) 2. Два (или один) сервопривода 3. Перемычки 4. Visual Studio 2008 Express - ссылка (необязательно) 5. Arduino IDE - ссылка Извините, поклонники Linux и Apple, моя программа работает только на Windows на данный момент, но вы все равно можете вручную отправлять последовательные команды в Arduino, не меняя код.
Шаг 2: Подключите оборудование
![Подключите оборудование Подключите оборудование](https://i.howwhatproduce.com/images/003/image-7549-45-j.webp)
В этом шаге нет ничего сложного, просто подключите один сервопривод к контакту 9, а другой - к контакту 10.
Шаг 3: запрограммируйте Arduino
![Запрограммируйте Arduino Запрограммируйте Arduino](https://i.howwhatproduce.com/images/003/image-7549-46-j.webp)
теперь вы можете загрузить скетч на Arduino.
Вот простая разбивка кода: #include Servo myservo; // создание сервообъекта для управления сервоприводом Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // для входящих последовательных данных char data [10]; const char verify [8] = "ma11hew"; команда char [3]; пустая настройка () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // открывает последовательный порт, устанавливает скорость передачи данных Serial.println ("Hi Arduino Here!"); // добавлено, чтобы помочь идентифицировать последовательный порт. Это просто устанавливает последовательный порт и сервоприводы. int i; для (я = 0; я <180; я ++) {myservo.write (я); задержка (15); } myservo.write (5); для (я = 0; я <180; я ++) {myservo1.write (я); задержка (15); } myservo1.write (5); } Простое широкое движение для проверки правильности работы сервоприводов. void loop () {готово = 0; счетчик = 0; в то время как (1 == 1) {если (Serial.read ()! = проверить [счетчик]) {перерыв; } если (счетчик == 6) {задержка (20); команда [0] = Serial.read (); команда [1] = Serial.read (); // if (Serial.read () == ((command [1] * 12)% 8)) // {ready = 1; //} Serial.println ("сохраненная команда"); } counter ++; задержка (2); } это проверяет последовательный буфер на правильность строки авторизации, а затем получает два байта для команды. прокомментированный оператор if допускает временную контрольную сумму, но затрудняет ручной интерфейс. ready можно установить в 0, поэтому команды не будут анализироваться, например, в случае поврежденных данных. // поиск по командам if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print («управление дроссельной заслонкой на выводе 9 на:»); Serial.println (карта (команда [1], 32, 126, 2, 180), DEC); myservo.write (карта (команда [1], 32, 126, 2, 180)); } если (команда [0] == 'S') {команда [0] = 0; Serial.print («управление дроссельной заслонкой на контакте 10 к:»); Serial.println (карта (команда [1], 32, 126, 2, 180), DEC); myservo1.write (карта (команда [1], 32, 126, 2, 180)); }}} остальная часть кода предназначена для поиска в command допустимых команд (T или S.), если они совпадают, берет следующий байт и отправляет его сервоприводу. подробнее на карте (команда [1], 32, 126, 2, 180) позже … код здесь расширяется для всего, что вам может понадобиться (например, огни, двигатели, ИК и т. д.), этот код должен работать нормально без модификации.
Шаг 4: Установите программное обеспечение
![Установить программное обеспечение Установить программное обеспечение](https://i.howwhatproduce.com/images/003/image-7549-47-j.webp)
У меня есть два способа установить этот установщик… nsis: Загрузите самораспаковывающийся установщик ниже и запустите его. У вас будет возможность установить исходники во время установки. двоичный пакет установщика устанавливает основные dll c ++, поэтому его можно запускать на компьютере без установленного Visual C ++. После завершения установки вы можете запустить ее с рабочего стола или из меню «Пуск». zip way (непроверенный): скачайте и запустите, должно работать. может быть. (В zip-архиве та же структура папок, созданная установщиком, без исходных кодов. У меня нет машины без Visual Studio, чтобы протестировать ее, поэтому она может не работать.)
Шаг 5: Используйте интерфейсную программу
![Используйте интерфейсную программу Используйте интерфейсную программу](https://i.howwhatproduce.com/images/003/image-7549-48-j.webp)
![Используйте интерфейсную программу Используйте интерфейсную программу](https://i.howwhatproduce.com/images/003/image-7549-49-j.webp)
Чтобы использовать программу, сначала выберите скорость передачи, определенную в скетче Arduino. Немодифицированный эскиз по умолчанию составляет 38400 бод, но может быть изменен в соответствии с вашими потребностями, например, для более медленной радиосвязи. примечание: скорости передачи выше 38400 не были очень стабильными, я думаю, это потому, что uart заполняется до того, как данные могут быть обработаны. Затем выберите используемый COM-порт. программа по умолчанию использует COM4, обязательно измените его, иначе программа выйдет из строя. Наконец, нажмите "Открыть". Если все прошло успешно, программа откроет выбранный последовательный порт с выбранной скоростью передачи данных. В противном случае программа, вероятно, выйдет из строя из-за необработанного исключения. убедитесь, что порт правильный, и попробуйте еще раз. Используйте текстовые поля для отправки прямых команд на Arduino. «Карта (команда [1], 32, 126, 2, 180)» масштабирует все 94 возможных команды, от * пробела * до ~, читаемых Arduino в ASCII, от 2 до 180 для сервопривода. любой байт меньше 32 ASCII (пробел) или больше 126 (~) по умолчанию равен 63 (?) Полосы дорожек обеспечивают интерфейс для прямых команд. каждый шаг пошагово отправляет последовательную команду на Arduino.
Шаг 6: проявите творческий подход
![Проявите творческий подход! Проявите творческий подход!](https://i.howwhatproduce.com/images/003/image-7549-50-j.webp)
![Проявите творческий подход! Проявите творческий подход!](https://i.howwhatproduce.com/images/003/image-7549-51-j.webp)
Подумайте, что из этого можно сделать. Несколько идей: 1. Дроссельная заслонка для авто. 2. Крепление для 3D-камеры 3. Подводный вездеход Удачи!
Рекомендуемые:
Последовательный шлюз UDP / IP для Arduino на базе ESP8266 Shield: 8 шагов
![Последовательный шлюз UDP / IP для Arduino на базе ESP8266 Shield: 8 шагов Последовательный шлюз UDP / IP для Arduino на базе ESP8266 Shield: 8 шагов](https://i.howwhatproduce.com/images/009/image-24231-j.webp)
Последовательный шлюз UDP / IP для Arduino на основе ESP8266 Shield: в 2016 году я уже публиковал эту инструкцию «Как создать собственный шлюз Wi-Fi для подключения Arduino к IP-сети». Поскольку я внес некоторые улучшения в код и все еще использую это решение. Тем не менее, теперь есть некоторые экраны ESP8266 т
Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага
![Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага](https://i.howwhatproduce.com/images/010/image-29240-j.webp)
Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт! В настоящее время стандартным является использование USB-порта платы Arduino (или любой другой совместимой) в качестве эмулируемого последовательного порта. Это очень полезно для отладки, отправки и получения данных с наших любимых плат. Я работал над uChip, когда просматривал данные
Использование ОЗУ ПК для Arduino через последовательный порт: 7 шагов
![Использование ОЗУ ПК для Arduino через последовательный порт: 7 шагов Использование ОЗУ ПК для Arduino через последовательный порт: 7 шагов](https://i.howwhatproduce.com/images/001/image-1622-66-j.webp)
Использование ОЗУ ПК для Arduino через последовательный порт: мой друг вдохновил меня своим небольшим проектом Arduino. В этом небольшом проекте задействована Arduino UNO R3, которая считывает данные программой, созданной в среде Arduino IDE, и отправляет их в последовательный порт (USB-порт) программой C #, созданной в Visual Studio. Как это
Сервоконтроллер Maestro (Raspberry Pi): 4 шага (с изображениями)
![Сервоконтроллер Maestro (Raspberry Pi): 4 шага (с изображениями) Сервоконтроллер Maestro (Raspberry Pi): 4 шага (с изображениями)](https://i.howwhatproduce.com/images/002/image-4190-84-j.webp)
Сервоконтроллер Maestro (Raspberry Pi): базовое руководство по настройке сервоконтроллера Maestro с Raspberry Pi
Последовательный порт Android G1 для робота Arduino: 8 шагов
![Последовательный порт Android G1 для робота Arduino: 8 шагов Последовательный порт Android G1 для робота Arduino: 8 шагов](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11139724-android-g1-serial-to-arduino-robot-8-steps-j.webp)
Последовательный порт Android G1 для робота Arduino: узнайте, как ваш мобильный телефон Android может управлять роботом с помощью платы Arduino. Телефон принимает команды через Telnet с другого телефона или ПК, поэтому вы можете управлять роботом удаленно. В противном случае этот проект не изменит G1, так что вы можете продолжить нас