KRM — це допоміжна бібліотека для Arduino, створена для спрощення програмування роботів, електронних пристроїв та навчальних проєктів.
Бібліотека об’єднує власні функції та логіку керування, які часто використовуються в робототехніці, зокрема для роботи з джойстиками, двигунами, драйверами моторів та керування рухом.
• Розширені аналоги map(): Fmap (float), Smap (safe/clamped для long), SFmap (float + clamp)
• Танкова логіка керування (tank drive mix) визначення потужності/напрямку/стопу для лівого та правого двигунів
• Планувальник задач на millis() (без delay)
• Інкрементальний енкодер A/B: KRMEncoder з підтримкою: - attachInterrupt (INT) - PCINT для AVR (ATmega328P / ATmega2560) - ESP32 interrupts
Коваль Роман
Ідея бібліотеки — зібрати власні зручні функції та логіку в одному місці, щоб:
- спростити написання коду
- зробити програми читабельнішими
- пришвидшити розробку навчальних та практичних Arduino-проєктів
KRM is a helper library for Arduino designed to simplify the programming of robots, electronic devices, and educational projects.
The library brings together custom utility functions and control logic that are commonly used in robotics, particularly for working with joysticks, motors, motor drivers, and motion control.
• Extended alternatives to map(): Fmap (float), Smap (safe / clamped for long), SFmap (float + clamp)
• Tank drive control logic (tank drive mix): calculation of power, direction, and stop state for the left and right motors
• millis()-based task scheduler (no delay())
• Incremental A/B encoder: KRMEncoder with support for:
attachInterrupt(INT)- PCINT for AVR (
ATmega328P/ATmega2560) - ESP32 interrupts
Roman Koval
The idea of the library is to collect convenient custom functions and control logic in one place in order to:
- simplify code writing
- improve code readability
- speed up the development of educational and practical Arduino projects
- improve code readability
- speed up the development of educational and practical Arduino projects