
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Этот проект вообще не имеет практического применения, но был инициирован как упражнение по реализации физических формул, связанных с гравитацией, в C-коде на Arduino. Для наглядности использовалась неопиксельная светодиодная лента с 74 светодиодами. Воздействие ускорения свободного падения на объект демонстрируется с помощью микросхемы акселерометра и гироскопа MPU-6050. Этот чип физически прикреплен к светодиодной ленте, поэтому, когда светодиодная лента удерживается под определенным углом, чип измеряет угол светодиодной ленты, и Arduino использует эту информацию для обновления положения виртуального объекта, как если бы он был шаром, который балансирует на балке и катится из стороны в сторону, если балку держать под углом. Положение виртуального объекта отображается на светодиодной ленте в виде одного светящегося светодиода.
Чтобы обновить положение виртуального объекта, который падает на землю под действием силы тяжести, мы используем формулу:
y = y0 + (V0 * t) + (0,5 * a * t ^ 2)
С участием:
y = пройденное расстояние в метрах y0 = начальное расстояние в метрах v0 = начальная скорость в метрах / секунду a = ускорение (сила тяжести) в метрах / секунду ^ 2 t = время в секундах
Шаг 1: Схема

Arduino Pro Mini питается от источника питания + 5V непосредственно на вывод + 5V, который является выходом встроенного регулятора 5V. Это может показаться немного ортодоксальным, но когда Vin остается открытым, это не создает проблем, пока вы не меняете полярность, потому что это, безусловно, приведет к поджариванию вашего Arduino.
Микросхема акселерометра и гироскопа MPU6050 питается от маломощного модуля преобразователя 5 В в 3 В 3 и взаимодействует с Arduino через интерфейс I2C (SDA, SCL). В Arduino Pro Mini SDA подключается к A4, а SCL подключается к A5, которые расположены на плате Arduino Pro Mini. В версии Pro Mini, которую я использую, A4 и A5 были расположены внутри печатной платы (2 отверстия) и не были доступны через контактные разъемы по бокам печатной платы. MPU6050 также имеет выход прерывания (INT), который используется для сообщения Arduino о появлении новых данных. Неопиксельная светодиодная лента WS2812B с 74 светодиодами питается напрямую от источника питания 5 В и имеет 1 линию передачи данных (DIN), которая подключена к выходу Arduino.
Шаг 2: Программное обеспечение
Я помещаю все драйверы, которые используются в скетче (.ino), в ту же папку, что и скетч, вместо использования библиотек. Причина этого в том, что я не хочу, чтобы драйверы обновлялись, чтобы предотвратить появление ошибок и предотвратить перезапись изменений, внесенных мной в драйверы обновлениями.
Вот список файлов проекта:
- Balancing_LED_using_MPU6050gyro.ino: файл эскиза
- MPU6050.cpp / MPU6050.h: драйвер акселерометра и гироскопа MPU6050
- MPU6050_6Axis_MotionApps20.h: MPU6050 DMP (цифровой процессор движения) определения и функции
- helper_3dmath.h: определения классов для кватернионов и целочисленных векторов или векторов с плавающей запятой.
- I2Cdev.cpp / I2Cdev.h: драйвер I2C, использующий библиотеку проводов Arduino
- LEDMotion.cpp / LEDMotion.h: реализация гравитационного светодиодного баланса с использованием светодиодной ленты и угла, измеренного MPU6050.
Шаг 3: изображения
Рекомендуемые:
Мигающие светодиоды в такт !: 4 шага

Мигающие светодиоды в такт!: ВНИМАНИЕ! СВЕТОДИОДЫ, МИГАЮЩИЕ С МУЗЫКОЙ, МОГУТ СДЕЛАТЬ ВАШЕ БЕЗУМНОЕ! Эта инструкция посвящена миганию некоторых светодиодов в соответствии с ритмом любой музыки! Идея этого процесса действительно проста, а схема очень мала. Основная концепция: 1-Low pa
Радужные светодиоды для ваших проектов: 4 шага (с изображениями)

Радужные светодиоды для ваших проектов: Всем привет! Я использую эти светодиоды для многих декоративных проектов, и результат всегда потрясающий, поэтому я хочу поделиться с вами своим опытом. Я видел, как много людей покупали контроллеры светодиодных лент RGB и использовали 3 или 5 ламп. режим изменения цвета только для
Большой звуковой датчик Arduino - светодиоды, реагирующие на музыку (прототип): 3 шага

Большой звуковой датчик Arduino - Музыкальные реактивные светодиоды (прототип): это прототип одного из моих будущих проектов. Я буду использовать большой модуль звукового датчика (KY-038). Чувствительность датчика можно отрегулировать, поворачивая маленький винт с плоской головкой. Датчик в верхней части модуля выполняет измерения, которые
Как сделать светодиоды WS2812B активными для музыки с помощью мульти-шаблона: 4 шага

Как сделать музыкально реактивным светодиоды WS2812B с несколькими узорами: WS2812, WS2812B - это интеллектуальный управляемый светодиодный источник света. он имеет встроенный управляющий чип и 4 контакта. V +, V-, Din & Dout. Для управления этими светодиодами мы хотим использовать MCU, например, Arduino, PIC или Rasberry pie. Я использовал Arduino UNO для этого проекта
Микроконтроллер AVR. Переключайте светодиоды с помощью кнопочного переключателя. Отключение кнопки: 4 шага

Микроконтроллер AVR. Переключайте светодиоды с помощью кнопочного переключателя. Отключение кнопки: В этом разделе мы узнаем, как создать программный код C для ATMega328PU, чтобы переключать состояние трех светодиодов в соответствии с входом от кнопочного переключателя. Кроме того, мы изучили решение проблемы «Switch Bounce». Как обычно, мы