Как починить свой бесщеточный мотор, а не наносящую вспять с помощью моего arduino esp-32 nano?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как починить свой бесщеточный мотор, а не наносящую вспять с помощью моего arduino esp-32 nano?

Сообщение Anonymous »

Я кодирую автомобиль RC в Arduino Ide. < /p>
Вот спецификации того, что я использую: < /p>

arduino nano esp-32 < /li>
wifi Protocol: eSp-now < /li>
atry> /> < /ul>
приемник и отправитель являются одинаковыми Arduino и правильно общаются. Рулевое управление и вперед работают нормально, это меняется, что вообще не работает. < /P>
Что мне нужно делать или я не вижу?#include
#include
#include
#include

typedef struct struct_message {
int steering_stick;
int accelerating_stick;
} struct_message;

struct_message myReceivedData;
Servo steeringServo;
Servo ESC;

// Keep original pin definitions
const int steeringPin = 4;
const int escPin = 6;

// Maintain original mapping constants for accelerating stick
const int deadzoneLow = 1920;
const int deadzoneHigh = 1940;
const int idlePulse = 850; // Confirmed neutral pulse is 1000μs
const int forwardMinPulse = 1100; // Forward begins at this value
const int forwardMaxPulse = 2000; // Full forward
const int reverseMinPulse = 500; // Modified: Less aggressive reverse
const int reverseMaxPulse = 950; // Approach neutral from below

// Keep original steering constants
const int steerMin = 60;
const int steerMax = 130;

// Variables for state tracking
int lastAccel = -1;
int lastSteer = -1;
bool motorBraked = false; // Track if motor is in braked state
unsigned long brakeStartTime = 0; // When braking began
const unsigned long brakeHoldTime = 2000; // Hold time in brake/neutral before reverse

// ESC initialization flags
bool escInitialized = false;
bool reverseModeEnabled = false;

void OnDataRecv(const uint8_t *mac, const uint8_t *incomingData, int len) {
memcpy(&myReceivedData, incomingData, sizeof(myReceivedData));

// Keep the original logging logic
if (myReceivedData.accelerating_stick != lastAccel || myReceivedData.steering_stick != lastSteer) {
Serial.println("Received data:");
Serial.print("Accelerating Stick: ");
Serial.println(myReceivedData.accelerating_stick);
Serial.print("Steering Stick: ");
Serial.println(myReceivedData.steering_stick);
lastAccel = myReceivedData.accelerating_stick;
lastSteer = myReceivedData.steering_stick;
}

// Make sure ESC is initialized
if (!escInitialized) {
return;
}

int escPulse;

// Deadzone handling - stick in neutral position
if (myReceivedData.accelerating_stick >= deadzoneLow && myReceivedData.accelerating_stick

Подробнее здесь: https://stackoverflow.com/questions/795 ... sp-32-nano
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как подключить поддержку Ledger Nano? [({Ledger Nano Support})]
    Anonymous » » в форуме CSS
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как я могу отображать высоту, измеренную BMP180, с помощью Arduino Nano и отправлять в GCS через телеметрию
    Anonymous » » в форуме C++
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Arduino Nano Every и RS-485 (включение передачи)
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Ошибка при загрузке .HEX Файл в Arduino Nano с использованием Arduinouploader в .net c#
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как сохранить активную среднюю связь между Arduino Nano 33 BLE (NRF52) и iPad
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»