Кадавры профессора Новикова
416 subscribers
111 photos
11 videos
5 files
68 links
Процесс и результат конструирования всякого мусора
Гениальные идеи писать сюда: @nda2911
Download Telegram
​​Получил пару китайских зарядок, которые будут стоять в финальной версии игры с танчиками.
​​Работу над танчиками смогу продолжить только послезавтра, а пока вам филлер.
Какой другой картинкой можно проверить цветность и яркость дисплея?
​​Вынимайте батарейки, если кладёте какой-то прибор на хранение. Через несколько лет ему может быть плохо.
​​И вот долгожданное обновление:
Я получил новые аккумуляторы для танков нужного размера и максимальной для доступного объёма ёмкостью. Каждый из них должен обеспечивать около двух часов работы в режиме ожидания и не менее 15 минут непрерывной езды танка.
​​Тестовый макет игрового поля, размером 70 на 85 см из подручных материалов:
​​И демо работы алгоритма стабилизации направления по гироскопу с использованием PID-регулятора:
​​Кошка, очевидно, считает, что это для неё:
​​Вот ещё пример исправления косяка на готовой плате (шаг ноги микросхемы 0,5 мм):
​​Новые платы покинули таможню и со дня на день будут у меня. А пока вот:
https://coub.com/view/1xr4h9
​​Контролем положения танков на игровом поле и передачей видеотрансляции игры займётся raspberryPi с её CSI камерой. Такая связка даёт очень низкую задержку между попаданием света в камеру и появлением изображения в памяти компьютера.
Распознаванию танков в видео помогут небольшие наклейки с qr-кодами.
​​Корпус микросхем QFN32 может иметь шаг пинов 0.35, 0.4, 0.5 мм и т.д. Я выбрал из готовых в CAD, не проверил и обосрался.
Это не платы для танков, если что. С ними всё отлично.
​​Всё-таки я умудрился ошибиться на таких простых платах и пришлось поработать ножом и паяльником.
После детальной проверки выложу герберы плат для заказа.
​​Один танк полностью готов.
Датчик положения MPU6050 состоит из гироскопа, акселерометра и датчика температуры.
Датчик температуры позволяет контролировать нагрев внутренних компонентов при зарядке и не дать перегреваться аккумулятору. Литиевые батареи этого не любят и у них снижается ёмкость.
Интегрирование данных акселерометра даёт линейную реальную скорость танка с небольшой точностью, а пики ускорения помогут в будущем определять столкновения и их направление.
​​На данный момент я получаю от танка:
Напряжение аккумулятора (косвенно помогает оценить оставшийся заряд) и статус зарядки (заряжается или нет);
Время работы с последней зарядки или с момента включения;
Температуру внутри;
Вращение по вертикальной оси относительно начального положения;
Линейную скорость вперёд или назад;
Выходное значение ПИД-регулятора коррекции направления.
В моём репозитории теперь лежат герберы плат со всей документацией для сборки и последняя прошивка.
Если вы хотите заказать платы для сборки своих танков, то заполните форму.
​​Скетч использует библиотеку Adafruit NeoPixel для управления светодиодами и мой код работы с инкрементальным энкодером. Свой потому, что не устроили готовые библиотеки. Мне нужно было обновление положения энкодера при каждом щелчке и работа по прерыванию.
В коде я использовал функцию выделенных внешних прерываний INT0 и INT1, которые висят на пинах D2 и D3 МК ATMega328p. Механический энкодер от мыши коммутирует эти пины на землю, а в состояние 1 они возвращаются внутренним резистором подтяжки к напряжению питания. Подтяжка включается записью 1 в порт этих пинов, как если бы они были выходами (строки 49 и 50 в коде).
​​Оказывается я не могу писать в канал регулярно, поэтому буду писать нерегулярно.
Написал материал про то, как я пошатал API TJournal весной: https://tjournal.ru/flood/124066-shiryaev-byl-v-yarosti-kogda-uznal