Модификации для "Пульт дистанционного управления, совмест..
Следуйте инструкциям исходного поста. Изменения описаны здесь:
Для крепления верхней пластины, держателя кнопки и держателя ручки газа рекомендуется использовать вставки M2 диаметром 3,5 мм. 3,2 мм — это слишком потеряно.
Я использовал вставки M2,5 диаметром 3,5 мм для монтажа печатной платы и вставки M3 диаметром 5 мм для петель для подвешивания.
Разъем USB-панели припаян к GND (черный провод) и 5 В (красный провод), который подключен к 5 В исходного USB-разъема и контакту 5 микросхемы зарядного устройства TP5400 на печатной плате. Куплено на Amazon: https://www.amazon.de/RUNCCI-YUN-wasserdichte-Typ-C-Buchse%EF%BC%8CUSB-C-Buchse-Panelmontage-mit-Muttern-Sicherungsplatte/dp/B0CDC1X4BY/ref=sr_1_5
Я заказал ESP32 с держателем батареи 18650 (ESP-Wroom-ESP32) на AliExpress.
Из соображений безопасности использовался литий-ионный аккумулятор ANSMANN 18650 с 4-кратной защитой (1307-0001), который легко помещается в держатель.
У меня уже был пакетик (без этикетки) с кнопками 12x12x7,3 мм с двумя булавками внизу, поэтому я соответствующим образом модифицировал держатель пуговицы. В конце концов мне все же понадобились шайбы, чтобы расположить держатель подальше, чтобы кнопки работали. Чтобы закрыть зазор между колпачками кнопок и верхней пластиной, я напечатал 4 кольца для кнопок (см. STL).
Размер отверстия в панели для выключателя питания по-прежнему составляет 18x11,5 мм, как и в исходном файле.
Мне нужно было изменить необработанные значения АЦП для ручки газа в коде. Активируйте вывод последовательного монитора в коде (Serial.println(ptiSpeed);), чтобы получить новые значения. Значения выводятся только при подключенном поезде. И помните, что поезд останавливается через секунду, если датчик цвета направлен в воздух. Это обмануло меня несколько раз во время тестирования.
Советы по программному обеспечению:
Создайте проект из файла Platform.ini.
платформа.ini
с этими версиями либ всё работало (особенно NimBLE V1.4.2 (V1.4.3 не работал))
адаптировать COM-порт под свой
--------------
[env:nodemcu-32s]
платформа = эспрессиф32
плата = nodemcu-32s
фреймворк = ардуино
Monitor_speed= 115200
lib_extra_dirs= ${workspacedir}/lib/legoino-master
lib_deps=
h2zero/NimBLE-Arduino@^1.4.2
Томас Фредерикс/Bounce2@^2.72
lib_ldf_mode= цепочка+
upload_port= com7
========================================
main.cpp (только измененные части)
Я изменил порт AIN на 12, чтобы использовать контакт рядом с кнопками.
Я использовал последовательный вывод дл�� адаптации необработанных значений потенциометра.
раскомментируйте Serial.println(ptiSpeed);//только для первоначальной настройки
последовательный вывод и программирование не работают через открытый USB-порт для зарядки в моей конструкции
-----------
#define PTI_SPEED 12 //15
//...
voidhandlePoti()
{
intptiSpeed=analogRead(PTI_SPEED);
gLastStatePtiSpeed=ptiSpeed;
Serial.println(ptiSpeed);//только для первоначальной настройки
интспид = 0;
// мои исходные настройки
если (ptiSpeed>2400) скорость = 64;
//Перемотка вперед
elseif(ptiSpeed>2100) скорость = 32; //обычное перемотка вперед
elseif(ptiSpeed>1900) скорость = 16; //медленно вперед (может не работать при низком заряде батареи)
elseif(ptiSpeed>1550) скорость = 0; // стоп
elseif(ptiSpeed>1300) скорость=-32;//медленно назад
ещескорость=-64; //��ыстро назад
/*
// Оригинал
если (ptiSpeed > 1100) скорость = 64; //Перемотка вперед
иначе, если (ptiSpeed > 800) скорость = 32; //обычное перемотка вперед
иначе, если (ptiSpeed > 600) скорость = 16; //медленная перемотка вперед (может не работать при низком заряде батареи)
иначе, если (ptiSpeed > 400) скорость = 0; // стоп
иначе, если (ptiSpeed > 200) скорость = -32; //медленно назад
иначе скорость = -64; //быстро назад
*/
//...





























