Данный репозиторий содержит исходные коды для программной части проекта 19206 "Система дистанционного управления роботом".
В программе ax_2.py производится получение данных с гироскопа и акселерометра датчика MPU6050 и их объединение с помощью комплементарного фильтра. Программа производит 1000 считываний, сохраняет данные в .csv файл и выводит график, созданный в matplotlib.
В программе mpudata2.py данные получаются уже с двух датчиков. Программа производит 1000 считываний, сохраняет данные в .csv файл и выводит график, созданный в matplotlib.
В программе 3mpu.py данные получаются с двух датчиков и происходит расчет относительного поворота датчиков. Программа производит 1000 считываний, сохраняет данные в .csv файл и выводит график, созданный в matplotlib.
В программе mpu_mux.py производится считывание данных с 4-х датчиков MPU6050, подключенных на I2C шину через I2C-мультиплексор Troyka Hub (чип PCA9547). Программа производит 1000 считываний и выводит график, созданный в matplotlib. Возможен динамический вывод графика во время работы программы. Файлы .csv больше не создаются.
В программе mpu_mux1.py исправлено управление мультиплексором Troyka Hub. Программа производит считывание данных в бесконечном цикле и выводит 4 графика для данных с датчиков MPU6050.
В программе mpu_xyz_cout.py вывод данных о повороте одного датчика MPU6050 по осям XYZ, полученных с помощью комплементарного фильтра, выводится в терминал.
В программе 4mpu_1mux_precalc.py корректно выводятся 4 графика, отображающие повороты 4 датчиков MPU6050 по осям XYZ. Датчики подключены через мультиплексор Troyka Hub.
Программа RightArmCalc.py выводит в терминал углы изгиба по осям XYZ для плеча, локтя и кисти. Данные получаются в бесконечном цикле с 4 датчиков MPU6050 через мультиплексор Troyka Hub и обрабатываются комплементарным фильтром.
В папке DMP расположены модули программы, необходимые для использования встроенного производителем в датчик MPU6050/MPU9250 процессора для обработки данных.
В программе mpu_dmp.py осуществляется получение и вывод данных о повороте датчика. Данные представлены в кватернионах. Есть возможность выводить данные, представленные в углах Эйлера. Это облегчает их восприятие.
В программе mpu_dmp_2.py реализован расчет относительного кватерниона вращения между двумя датчиками. Данные выводятся в бесконечном цикле.
В программе mpu_9250_madgwick.py реализован фильтр Маджвика для обработки данных, получаемых с датчика MPU9250. На данный момент фильтр не настроен.
Программа sketch_feb07a_flex_sensor, написанная для Arduino, представляет собой тест для одного датчика изгиба. Данные выводятся на 16x2 LCD монитор.
Программа sketch_feb22a_flex_glove_1, написанная для Arduino, считывает данные с 5 датчиков изгиба и преобразует их в углы. Данные выводятся на 16x2 LCD монитор.
Программа ads1115_test.py является тестом для АЦП ADS1115, выводит значение с нулевого канала и время его считывания.
Программа ads1115_off_simptest_4_val.py является тестом для АЦП ADS1115, выводит значения с 4-х каналов АЦП.
Программа mux_cd.py реализует управление аналоговым мультиплексором CD74HC4067.
В программе soc_with_nao.py реализован сокет для передачи данных на робота NAO.
В программе almotion_poseInit.py заданы движения для тестирования управления роботом NAO.
