Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом уроке мы узнаем, как управлять двигателем постоянного тока с помощью жестов рук с помощью Arduino и Visuino.
Смотреть видео!
Также ознакомьтесь с этим: Учебное пособие по жестам рукой
Шаг 1. Что вам понадобится
Arduino UNO (или любая другая плата)
- Датчик приближения APDS9960
- L298N Драйвер ДВИГАТЕЛЯ ПОСТОЯННОГО ТОКА
- OLED-дисплей
- Аккумуляторы
- Двигатель постоянного тока
- Макетная плата
- Провода перемычки
- Программа Visuino: Скачать Visuino
Шаг 2: Схема
- Подключите цифровой вывод (2) от Arduino к выводу драйвера двигателя (IN2).
- Подключите цифровой вывод (3) от Arduino к выводу драйвера двигателя (IN1).
- Подключите один двигатель постоянного тока к одной стороне драйвера двигателя.
- Подключите контакт источника питания (батареи) (gnd) к контакту контроллера двигателя (gnd).
- Подключите контакт источника питания (батареи) (+) к контакту контроллера мотора (+)
- Подключите GND от Arduino к контакту контроллера двигателя (gnd)
- Подключите вывод OLED-дисплея (GND) к выводу Arduino (GND).
- Подключите вывод OLED-дисплея (VCC) к выводу Arduino (5 В)
- Подключите вывод OLED-дисплея (SCL) к выводу Arduino (SCL)
- Подключите вывод OLED-дисплея (SDA) к выводу Arduino (SDA)
- Подключите контакт датчика [GND] к контакту платы Arduino [GND].
- Подключите контакт датчика [Vin] к контакту платы Arduino [3,3 В].
- Подключите контакт датчика [SDA] к контакту платы Arduino [SDA].
- Подключите контакт датчика [SCL] к контакту платы Arduino [SCL].
Шаг 3. Запустите Visuino и выберите тип платы Arduino UNO
Visuino: https://www.visuino.eu должен быть установлен. Запустите Visuino, как показано на первом рисунке. Нажмите кнопку «Инструменты» на компоненте Arduino (рисунок 1) в Visuino. Когда появится диалоговое окно, выберите «Arduino UNO», как показано на рисунке 2.
Шаг 4: Добавьте компоненты в Visuino
- Добавить компонент Gesture Color Proximity APDS9960 I2C
- Добавить компонент "Счетчик вверх / вниз"
- Добавить компонент "SR Flip-Flop"
- Добавить компонент "Разделить аналог по значению"
- Добавить компонент "Скорость и направление к скорости"
- Добавить компонент "Двойной цифровой драйвер двигателя постоянного тока и мост PWM PWM (L9110S, L298N)"
- Добавить компонент "Текстовое значение"
- Добавить компонент "Дисплей SSD1306 / SH1106 OLED (I2C)"
- Добавить компонент "Задержка"
Шаг 5: Компоненты набора Visuino
- Выберите компонент «UpDownCounter1» и в окне свойств установите значение Max> равным 10.
- Выберите компонент «UpDownCounter1» и в окне свойств установите для Min> значение 0.
- Выберите компонент «DivideByValue1» и в окне свойств установите значение 10.
- Выберите компонент «SpeedAndDirectionToSpeed1» и в окне свойств установите для Initial Reverse значение True, а для Initial Speed - 1.
- Выберите компонент «Delay1» и в окне свойств установите для Can Restart значение False и Interval (uS) на 1000000.
- Дважды щелкните компонент «TextValue1» и в окне «Элементы» перетащите 4X «Установить значение» влево.
- С левой стороны выберите «Установить значение1» и в окне свойств установите для параметра «Значение» значение «БЫСТРЕЕ».
- С левой стороны выберите «Установить значение2» и в окне свойств установите для параметра «Значение» значение «МЕДЛЕННЫЙ».
- С левой стороны выберите «Установить значение3» и в окне свойств установите значение «ЛЕВЫЙ».
- С левой стороны выберите «Установить значение4» и в окне свойств установите для параметра «Значение» значение «ПРАВО».
- Закройте окно "Элементы".
- Дважды щелкните компонент «DisplayOLED1» и в элементах перетащите «Текстовое поле» влево и «Заполнить экран» влево.
- Слева выберите «Текстовое поле1» и в окне свойств установите размер 3.
- Закройте окно "Элементы".
Шаг 6. В компонентах Visuino Connect
Подключите контакт "GestureColorProximity1" Жест> Вверх к контакту "UpDownCounter1" Вверх
Подключите контакт «GestureColorProximity1» Жест> Вверх к контакту «TextValue1> Set Value1».
- Подключите контакт GestureColorProximity1 "Жест> Вниз" к контакту "UpDownCounter1" вниз.
- Подключите контакт «GestureColorProximity1» «Жест> Вниз» к контакту «TextValue1> Set Value2».
- Подключите контакт "GestureColorProximity1" Gesture> Left к набору контактов "SRFlipFlop1"
- Подключите контакт «GestureColorProximity1» Жест> Влево к контакту «TextValue1> Set Value3».
- Подключите контакт "GestureColorProximity1" Gesture> Right к контакту "SRFlipFlop1" Сброс
- Подключите контакт «GestureColorProximity1» «Жест> вправо» к контакту «TextValue1> Set Value4».
- Подключите вывод «GestureColorProximity1» Control I2C к выводу I2C на плате Arduino.
- Подключите вывод «UpDownCounter1» к выводу «DivideByValue1».
- Подключите вывод "DivideByValue1" к выводу "SpeedAndDirectionToSpeed1". Скорость
- Подключите вывод "SRFlipFlop1" к выводу "SpeedAndDirectionToSpeed1" Reverse.
- Подключите вывод «SpeedAndDirectionToSpeed1» к «DualMotorDriver1» Motors [0]> In
- Подключите "DualMotorDriver1" Motors [0] направление вывода (B) к цифровому выводу 2 платы Arduino.
- Подключите "DualMotorDriver1" Motors [0] pin Speed (A) к цифровому выводу 3 платы Arduino.
- Подключите вывод «TextValue1» к «DisplayOLED1»> «Текстовое поле1»> «Часы».
- Подключите вывод «TextValue1» к «DisplayOLED1»> «Текстовое поле1»> «Вход».
- Подключите вывод «TextValue1» к выводу «Delay1» Start.
- Подключите вывод «Delay1» к «DisplayOLED1»> «Заполнить экран1»> «Часы».
- Подключите вывод I2C «DisplayOLED1» к выводу I2C на плате Arduino.
Шаг 7: сгенерируйте, скомпилируйте и загрузите код Arduino
В Visuino внизу щелкните вкладку «Сборка», убедитесь, что выбран правильный порт, затем нажмите кнопку «Скомпилировать / построить и загрузить».
Шаг 8: Играйте
Если вы включите модуль Arduino UNO и сделаете жест над датчиком жестов приближения, двигатель начнет двигаться, и OLED-дисплей начнет показывать направление, посмотрите видео для демонстрации деталей.
Поздравляю! Вы завершили свой проект с Visuino. Также прилагается проект Visuino, который я создал для этого Instructable, вы можете скачать его и открыть в Visuino: