AIK84 Mathematical functions — это бесплатное программное обеспечение с открытым исходным кодом, предназначенное для очень быстрых математических расчётов. Может быть встроено в другие программные продукты (включая СУБД и языки программирования). Код написан на чистом C без внешних библиотек, что позволяет его запускать на микроконтроллерах вообще без операционной системы.
Часто задаваемые вопросы: https://aik84from.github.io/faq.html
Данный проект создавался мной в свободное время в качестве полезного хобби. История забавная. Всё началось с ремонта стиральной машины (у неё была проблема в микросхеме управления). Вместе с заменой схемы я установил дополнительный модуль, который по bluetooth выводил на смартфон отладочную (диагностическую) информацию: температура воды (терморезистор), обороты (индуктивный датчик на главном валу), ручка регулировки оборотов (потенциометр для контроллера ШИМ) и так далее. Это напоминает диагностику автомобиля с помощью OBD2. Теперь к сути. Именно в тот момент я написал набор функций для расчёта параметров питания схемы. Позднее были добавлены другие функции и наборы данных.
Оперативная память 1 Кб. Тактовая частота процессора 16 МГц. Можно запускать без операционной системы на микроконтроллерах.
Не требует установки, так как поставляется в виде исходного кода.
Хобби (увлечение в свободное время).
Бесплатно как для коммерческого использования, так и для личных домашних проектов.
Поставляется КАК ЕСТЬ без предоставления любых гарантий, даже подразумеваемых.
Нет. Только общеизвестные формулы и предварительно рассчитанные справочники.
В состав входит простой шаблон (HTML и CSS) для публикации результатов расчётов.
Точные измерения с помощью сканера OBD2 и внешних лазерных датчиков, подключённых к осциллографу. Разгон легкового автомобиля в нормальных условиях (не экстремальное, сухой асфальт, без помех). В этом наборе данных есть: время в миллисекундах от момента начала разгона (milliseconds), соответствующая скорость в км/ч (speed) и соответствующий пройденный путь от момента начала разгона (distance).
Для вычислений достаточно подставить в формулу (функцию) известные вам значения. Например, на автомобильном аккумуляторе у вас 12.7 вольта (нормальный уровень заряда). Вы подключили резистор в 250 ом. Хотите знать силу тока в амперах:
// amperes = 0.051
printf("amperes = %.3f", amperes(12.7, 250.0));
Список уже реализованных функций:
double volts(double amperes, double ohms);
double volts_wa(double watts, double amps);
double amperes_wv(double watts, double volts);
double amperes(double volts, double ohms);
double ohms(double volts, double amperes);
double watts(double volts, double amperes);
double voltage_divider(double volts, double r1, double r2);
double kinetic_energy(double mass, double velocity);
double mps_to_kmph(double mps);
double mps_to_kmpm(double mps);
double euclidean_distance_2Dmap(double ax, double ay, double bx, double by);
double manhattan_distance_2Dmap(double ax, double ay, double bx, double by);
double cylinder_volume(double radius, double height);
double sphere_volume(double radius);
double error(double x, double t);
Пожалуйста, соблюдайте бдительность, так как любая учётная запись может быть взломана. Всегда включайте здравый смысл: я не буду просить у вас пароли или переводы денег.