kharlashkin Posted December 4, 2016 Author Share Posted December 4, 2016 Потому что в большинстве БП есть защита от КЗ, а 1,45 Ампер не так далеко от тока КЗ, и паяльник может просто не заработать. USB имеет максимальный ток 500 мА, версия 3.0 до 900 мА. Я собираюсь использовать его с помощью имеющейся зарядки для планшета/телефонов с током 2 А. Передача туда-сюда координат может тормозить. Максимальная скорость UART'а 921600 бод. Это 900 кбит/сек. Тут два выхода - оптимизировать передачу, понизив точность, или воспользоваться чем-то посложнее и побыстрее UART. Ethernet'ом, к примеру. Оу, ещё можно удвоить скорость с помощью ещё одной пары RX/TX. Програмно реализованый UART... Извращения-с, сэр. Подумал немного о реализации... Наверное лучше будет по одному порту отдавать данные а другим забирать. Вопрос в том что нужен преобразователь в usb из второй пары RX/TX, не посоветуете ничего? 2 датчика положения имеют по 2 аналоговых выхода, после перепайки каждый из сервоприводов будет иметь дополнительно аналоговый выход - итого 10, на плате 6, если я не ошибаюсь нужен мультиплексор аналоговый. Смотрю в сторону cd74hc4067. @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted December 7, 2016 Share Posted December 7, 2016 Вопрос в том что нужен преобразователь в usb из второй пары RX/TX, не посоветуете ничего? Целую кучу USB-UART преобразователей на PL2303 и подобных микросхемах. Драйверов для них достаточно. У меня заработало без установки каких-либо драйверов или пакетов (Archlinux). если я не ошибаюсь нужен мультиплексор аналоговый Да, тут нужен мультиплексор. Я никогда с ними не работал, а значит ничего подсказать не могу. Наверное лучше будет по одному порту отдавать данные а другим забирать. У Arduino есть второй UART? Помните, что самописные реализации будут медленнее. Выгода от второго порта в таком случае сомнительна. Потому что в большинстве БП есть защита от КЗ, а 1,45 Ампер не так далеко от тока КЗ, и паяльник может просто не заработать. Купить БП большей мощности - не такая большая проблема. @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 9, 2016 Author Share Posted December 9, 2016 Целую кучу USB-UART преобразователей на PL2303 и подобных микросхемах. Драйверов для них достаточно. У меня заработало без установки каких-либо драйверов или пакетов (Archlinux). У Arduino есть второй UART? Помните, что самописные реализации будут медленнее. Выгода от второго порта в таком случае сомнительна. Да ну это так - мысли вслух. Пока паяльник жду ;) Хочу поделиться ещё одним своим проектом, который точно буду делать - все к реализации идет уже. Некоторое время назад делал расчет относительно увлажнения и очистки воздуха с помощью внутреннего блока канального кондиционера. Вот тут моя статья. Для полномасштабных испытаний был заказан вот такой комплект туманообразования в Китае, дабы проверить каким образом будет распространятся водно-воздушная смесь внутри канального блока кондера. Пока думаю над реализацией всей автоматики и покупки нужных дополнительных устройств для автоматизации. Видится что-то подобное: Датчик температуры и влажности DHT22 AM2302 - 1 шт., устанавливается в кондиционер с обратной стороны, будет мониторить температуру и влажность воздуха который забирается из комнат. По идее было бы неплохо второй установить с передней части кондиционера - мониторить температуру и влажность воздуха на выходе из кондиционера (т.е. после смешивания наружного воздуха с внутренним) Датчик уровня углекислого газа CO2 MG811 - 1 шт., устанавливается в кондиционер с обратной стороны с целью проверки текущего уровня CO2 в комнатах. Реле включения/выключения исполнительных устройств - 2 шт., включение/выключение приточного вентилятора по уровню CO2, открытие/закрытие клапана электромагнитного подачи воды на систему увлажнения/очистки. Скорее всего буду добавлять ещё одно реле - для канального нагревателя, существуют конечно нагреватели со встроенной системой управления, но разница в цене на них более чем в 2,5 раза (1131 грн без автоматики, 3048 грн с автоматикой). Есть ещё проблема одна но пока не знаю как решить, может подскажет кто реализацию. Вентилятор подмеса свежего воздуха может управляться тиристорным регулятором скоростей, т.е. 3 скорости (низкая, средняя, высокая) и позиция выкл. Вот думаю купить именно такой регулятор и прикрутить к нему сервопривод :) или же можно реализовать подобный регулятор с помощью средств ардуинки. @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted December 9, 2016 Share Posted December 9, 2016 (edited) Вентилятор подмеса свежего воздуха может управляться тиристорным регулятором скоростей, т.е. 3 скорости (низкая, средняя, высокая) и позиция выкл. Вот думаю купить именно такой регулятор и прикрутить к нему сервопривод Механические элементы ненадежны. Если есть возможность избавиться от движущихся частей, эту возможность нужно использовать. Тиристором можно управлять средствами самой Arduino. Edited December 9, 2016 by Azbuka @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted December 9, 2016 Share Posted December 9, 2016 Я кстати научился спустя пару дней робототехники делать все средствами Ардуино. Годная вещь! Пока что собрал аналог мультивибратора, измеритель емкости и напряжения. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 10, 2016 Author Share Posted December 10, 2016 Механические элементы ненадежны. Если есть возможность избавиться от движущихся частей, эту возможность нужно использовать. Тиристором можно управлять средствами самой Arduino. В том то и дело что сходу не нагуглил правильное решения. Пока есть возможность и время более глубоко изучить вопрос, буду копать.Я кстати научился спустя пару дней робототехники делать все средствами Ардуино. Годная вещь! Пока что собрал аналог мультивибратора, измеритель емкости и напряжения. Ардуинка чем хороша - низким порогом вхождения в мир микроконтроллера и большим сообществом с огромными наработками. @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 10, 2016 Author Share Posted December 10, 2016 Датчик уровня углекислого газа CO2 MG811 - 1 шт., устанавливается в кондиционер с обратной стороны с целью проверки текущего уровня CO2 в комнатах. Гм... Начал читать кто и как делал подобные проекты, народ пишет про не совсем корректное поведение сенсора MG811, к тому для корректной работы сенсору требуется 6 В, что несколько проблематично (как-то думал обойтись 5 В постоянки и 220 В переменки в проекте), наверное буду использовать MH-Z19, к тому же он немного дешевле ;) @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 3, 2017 Author Share Posted January 3, 2017 Для полномасштабных испытаний был заказан вот такой комплект туманообразования в Китае, дабы проверить каким образом будет распространятся водно-воздушная смесь внутри канального блока кондера. Приехал и протестирован в ванной комнате, один наконечник формирует как бы облако мелкого-мелкого дождика, под водопроводным напором начиная с самой тоненькой струйки (подключал вместо лейки душа) и до максимум открытого крана может расход и меняется, но образуемое облако остается в прежних пределах от одного распылителя (примерно на расстояние в 800 мм телесный угол в 30 градусов). Был произведен замер расхода по таймеру- за 30 минут в ведро собралось примерно 2,5 литра (3-х литровой банкой измерял). Теперь на очереди нужно разобрать один внутренний блок кондиционера, временно подключить к водопроводу одно/два сопла и посмотреть как будет облако тумана распостраняться внутри канальника. Процесс думаю снять на видео ;) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted January 3, 2017 Share Posted January 3, 2017 Процесс думаю снять на видео ;) Поддерживаю! @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 8, 2017 Author Share Posted January 8, 2017 Сегодня выделил несколько часов провести первое пробное испытания системы увлажнения в канальнике. Видео пробовал сделать - не видно на нем ничего. Подопытный Со снятой нижней панелью Со снятым поддоном сбора конденсата Грязный поддон Поддон обычно мою после сезона работы на охлаждение, т.е. раз в год осенью октябрь-ноябрь. В этом году так как ещё с начала осени собирался проводить эксперименты с увлажнением, сделал мойку сейчас. Можно понять сколько грязи уносит водичка с теплообменника летом за год. Внутрь, через убранную заглушку в поддоне слева (правильно - по ходу воздуха, на фото - справа) завел трубку на которую надел распылители. За счет того что блок установлен с небольшим наклоном в правую сторону (где установлен конденсатный насос), некоторое время вода не должна была выливаться. Прилепленые на скотч распылители ;) Обе форсунки прилепил над выходными патрубками вентиляторов, расстояние от форсунки до теплообменника где-то 300-400 мм. Открыл водичку сначала просто так - оба распылителя функционировали как нужно, посторонних подтеков не заметил. Установил на место поддон сбора конденсата. Запустил внутренний блок на режим вентиляции (работа только вентиляторов) на минимальной скорости и опять открыл воду. Визуально ничего не видно, так как все закрыто - но по звуку было понятно что распылители водичку подают. Кстати шум от них даже больший чем от работы кондиционера на минимальной скорости. Кран был открыт 15 минут, т.е. в кондиционер было подано около 2,5 литра холодной воды. Внутренний блок работал 5 минут на минимальной, 5 минут на средней и 5 на максимальной скоростях вентиляторов. Все это время "махал руками" за теплообменником на выходном патрубке внутреннего блока, держал бумажную салфетку и т.п. Где-то на 10-й минуте (перед переключением на макимальную скорость) нижняя половина теплообменника стала влажной, за это время в поддоне справа уровень воды поднялся где-то до 7 мм (пальцем проверял). На 15-й минуте из партубка с отсутствующей заглушкой начала капать вода, т.е. уровень воды в поддоне уже был довольно высок (пальцем померял - около 10 мм в правом углу). Сходил перекрыл кран с подачей, услышал как начал работу конденсатный насос - сработал поплавок. Насос проработал 10 минут, режим вентиляции выключил вместе с водой, так как время поджимало - нужно было ещё все собрать обратно успеть. В принципе эксперимент считаю удачным, так как основные опасения не подтвердились и вода за пределы кондиционера не уходит. Боялся брызг за теплообменником на выходном патрубке кондиционера. Теперь думаю смонтировать распылители на постоянной основе и погонять уже более основательно с замерами анемометром влажности и температуры на выходном патрубке кондиционера, на приточных и вытяжных решетках в комнатах. Параллельно заказывать буду датчики и реле для ардуинки. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 11, 2017 Author Share Posted January 11, 2017 (edited) Паяльника у меня тоже нет, посмотрев вчера пару уроков и обзор usb-паяльника решил себе тоже купить подобный девайс. Приехал паяльничек, опробован на пайке ножек для сенсора положения в пространстве. паяльник как паяльник. Первым делом припаял ножки к платке с сенсором, сразу завелся код для mpu-9250. Пришло время перепаивать сервоприводы и доставать с полки платформу ;) Edited January 11, 2017 by kharlashkin 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted January 11, 2017 Share Posted January 11, 2017 Поздравляю! А я наигрался вдоволь, в субботу разберу геймпад и примусь к переносу в SL. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 15, 2017 Author Share Posted January 15, 2017 (edited) Теперь думаю смонтировать распылители на постоянной основе и погонять уже более основательно с замерами анемометром влажности и температуры на выходном патрубке кондиционера, на приточных и вытяжных решетках в комнатах. Сегодня потратил половину выходного для более масштабных испытаний. У коллег взял приборчик - анемометр Testo 410-2, просверлил боковину канальника и на площадки/стяжки прикрутил внутри распылители. Сфотографировать честно забыл как внутри оно выглядит, но не особо отличается от фотографии со скотчем. Замеры проводил на 2-х приточных и вытяжной решетке (притоки в детскую и спальню, вытяжка из спальни), до 2-й вытяжной решетки было трудно добраться - она над шкафом и перед ней пакеты с игрушками, а в комнате в это время младший спал. Решетки предварительно снял. Методика замеров по ГОСТу, 5 замеров на отверстия размерами 100х450мм и 100х500мм, по 10 секунд на точку, все замеры занес в таблицу (во вложении). Воду подавал холодную из системы, старался подавать/отключать воду циклами по 10 мин примерно. Ячейки красного цвета - подачи воды нет, ячейки синего цвета - подача воды, ячейки зеленого цвета - работа дренажного насоса. Если что будет непонятно - спрашивайте. P.S. Прикинул необходимое оборудование для автоматизации и добавления обезараживания в систему: 1/2" BSPP 220, Клапан электромагнитный нормально-закрытый - 1 шт. DHT22/AM2302, Датчик температуры и влажности - 3 шт. MH-Z19, Датчик инфракрасный уровня углекислого газа - 1 шт. ACS712, Датчик тока 5А - 1 шт. AC-DC 220V/5V 700mA, Блок питания Arduino - 1 шт. ARM PIC AVR DSP, Модуль реле 4-х канальный Arduino - 1 шт. ОБН-35м, Облучатель бактерицидный (кварцевый) настенный - 1 шт. Контроллер Arduino Nano 3.0 - 1 шт. Стоимость всего примерно 72$. Первым делом припаял ножки к платке с сенсором, сразу завелся код для mpu-9250. Вчера допоздна сидел с датчиком положения в пространстве, корректно завелся у меня вот этот код: /* MPU9250 Basic Example Code by: Kris Winer date: April 1, 2014 license: Beerware - Use this code however you'd like. If you find it useful you can buy me a beer some time. Modified by Brent Wilkins July 19, 2016 Demonstrate basic MPU-9250 functionality including parameterizing the register addresses, initializing the sensor, getting properly scaled accelerometer, gyroscope, and magnetometer data out. Added display functions to allow display to on breadboard monitor. Addition of 9 DoF sensor fusion using open source Madgwick and Mahony filter algorithms. Sketch runs on the 3.3 V 8 MHz Pro Mini and the Teensy 3.1. SDA and SCL should have external pull-up resistors (to 3.3V). 10k resistors are on the EMSENSR-9250 breakout board. Hardware setup: MPU9250 Breakout --------- Arduino VDD ---------------------- 3.3V VDDI --------------------- 3.3V SDA ----------------------- A4 SCL ----------------------- A5 GND ---------------------- GND */ #include "quaternionFilters.h" #include "MPU9250.h" #define AHRS true // Set to false for basic data read #define SerialDebug true // Set to true to get Serial output for debugging // Pin definitions int intPin = 12; // These can be changed, 2 and 3 are the Arduinos ext int pins int myLed = 13; // Set up pin 13 led for toggling MPU9250 myIMU; void setup() { Wire.begin(); // TWBR = 12; // 400 kbit/sec I2C speed Serial.begin(38400); // Set up the interrupt pin, its set as active high, push-pull pinMode(intPin, INPUT); digitalWrite(intPin, LOW); pinMode(myLed, OUTPUT); digitalWrite(myLed, HIGH); // Read the WHO_AM_I register, this is a good test of communication byte c = myIMU.readByte(MPU9250_ADDRESS, WHO_AM_I_MPU9250); if (c == 0x71) // WHO_AM_I should always be 0x68 { // Start by performing self test and reporting values myIMU.MPU9250SelfTest(myIMU.SelfTest); // Calibrate gyro and accelerometers, load biases in bias registers myIMU.calibrateMPU9250(myIMU.gyroBias, myIMU.accelBias); myIMU.initMPU9250(); // Initialize device for active mode read of acclerometer, gyroscope, and // temperature // Read the WHO_AM_I register of the magnetometer, this is a good test of // communication byte d = myIMU.readByte(AK8963_ADDRESS, WHO_AM_I_AK8963); // Get magnetometer calibration from AK8963 ROM myIMU.initAK8963(myIMU.magCalibration); } // if (c == 0x71) } void loop() { // If intPin goes high, all data registers have new data // On interrupt, check if data ready interrupt if (myIMU.readByte(MPU9250_ADDRESS, INT_STATUS) & 0x01) { myIMU.readAccelData(myIMU.accelCount); // Read the x/y/z adc values myIMU.getAres(); // Now we'll calculate the accleration value into actual g's // This depends on scale being set myIMU.ax = (float)myIMU.accelCount[0]*myIMU.aRes; // - accelBias[0]; myIMU.ay = (float)myIMU.accelCount[1]*myIMU.aRes; // - accelBias[1]; myIMU.az = (float)myIMU.accelCount[2]*myIMU.aRes; // - accelBias[2]; myIMU.readGyroData(myIMU.gyroCount); // Read the x/y/z adc values myIMU.getGres(); // Calculate the gyro value into actual degrees per second // This depends on scale being set myIMU.gx = (float)myIMU.gyroCount[0]*myIMU.gRes; myIMU.gy = (float)myIMU.gyroCount[1]*myIMU.gRes; myIMU.gz = (float)myIMU.gyroCount[2]*myIMU.gRes; myIMU.readMagData(myIMU.magCount); // Read the x/y/z adc values myIMU.getMres(); // User environmental x-axis correction in milliGauss, should be // automatically calculated myIMU.magbias[0] = +470.; // User environmental x-axis correction in milliGauss TODO axis?? myIMU.magbias[1] = +120.; // User environmental x-axis correction in milliGauss myIMU.magbias[2] = +125.; // Calculate the magnetometer values in milliGauss // Include factory calibration per data sheet and user environmental // corrections // Get actual magnetometer value, this depends on scale being set myIMU.mx = (float)myIMU.magCount[0]*myIMU.mRes*myIMU.magCalibration[0] - myIMU.magbias[0]; myIMU.my = (float)myIMU.magCount[1]*myIMU.mRes*myIMU.magCalibration[1] - myIMU.magbias[1]; myIMU.mz = (float)myIMU.magCount[2]*myIMU.mRes*myIMU.magCalibration[2] - myIMU.magbias[2]; } // if (readByte(MPU9250_ADDRESS, INT_STATUS) & 0x01) // Must be called before updating quaternions! myIMU.updateTime(); // Sensors x (y)-axis of the accelerometer is aligned with the y (x)-axis of // the magnetometer; the magnetometer z-axis (+ down) is opposite to z-axis // (+ up) of accelerometer and gyro! We have to make some allowance for this // orientationmismatch in feeding the output to the quaternion filter. For the // MPU-9250, we have chosen a magnetic rotation that keeps the sensor forward // along the x-axis just like in the LSM9DS0 sensor. This rotation can be // modified to allow any convenient orientation convention. This is ok by // aircraft orientation standards! Pass gyro rate as rad/s // MadgwickQuaternionUpdate(ax, ay, az, gx*PI/180.0f, gy*PI/180.0f, gz*PI/180.0f, my, mx, mz); MahonyQuaternionUpdate(myIMU.ax, myIMU.ay, myIMU.az, myIMU.gx*DEG_TO_RAD, myIMU.gy*DEG_TO_RAD, myIMU.gz*DEG_TO_RAD, myIMU.my, myIMU.mx, myIMU.mz, myIMU.deltat); if (!AHRS) { myIMU.delt_t = millis() - myIMU.count; if (myIMU.delt_t > 500) { myIMU.count = millis(); digitalWrite(myLed, !digitalRead(myLed)); // toggle led } // if (myIMU.delt_t > 500) } // if (!AHRS) else { // Serial print and/or display at 0.5 s rate independent of data rates myIMU.delt_t = millis() - myIMU.count; // update LCD once per half-second independent of read rate if (myIMU.delt_t > 500) { if(SerialDebug) { Serial.print(*getQ()); Serial.print(", "); Serial.print(*(getQ() + 1)); Serial.print(", "); Serial.print(*(getQ() + 2)); Serial.print(", "); Serial.println(*(getQ() + 3)); } myIMU.count = millis(); myIMU.sumCount = 0; myIMU.sum = 0; } // if (myIMU.delt_t > 500) } // if (AHRS) } Пытался подключить через pySerial ардуинку к Blender, а там python3: import serial usbport = '/dev/ttyUSB0' ser = serial.Serial(usbport, 38400) while True: data = ser.readline() print(data) выводит b'0.12, 0.00, 0.84, 0.24\r\n' (данные рандомные как пример) каким образом их передать в строку bpy.context.active_object.rotation_quaternion = (qw, qx, qy, qz), чего-то не получилось. Тупил перед документацией несколько часов, но так и не смог решить проблему, чувствую ответ где-то очень простой и близко. Может подскажет кто решение? HVAC.ods.tar.gz Edited January 15, 2017 by kharlashkin 1 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 16, 2017 Author Share Posted January 16, 2017 Может подскажет кто решение? Вроде так: qw = float(data[0:4]) qx = float(data[6:10]) qy = float(data[12:16]) qz = float(data[18:22]) bpy.context.active_object.rotation_quaternion = (qw, qx, qy, qz) Вечером проверю. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 17, 2017 Author Share Posted January 17, 2017 (edited) Вечером проверю. В общем код вроде рабочий, вопрос в том что необходимо в реальном времени передавать/отображать положение "кубика". Буду смотреть в сторону Blender Game Engine, вот даже нашел понятно видео по процессу. Edited January 17, 2017 by kharlashkin 3 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted January 19, 2017 Share Posted January 19, 2017 (edited) . Edited January 9, 2021 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 19, 2017 Author Share Posted January 19, 2017 (edited) Вот сейчас реально интересно стало. Надо будет тоже зафигачить подобное. Хорошо, что в инсте этого добра полно) Я вчера вам даже хотел в личку написать просьбу о помощи, но уже два дня пока не могу до ардуинки добраться ;) Идея в приниципе какова - через bge отдавать команды платформе, считывать данные от датчиков (положение в пространстве основы и платформы и углы с серв) и визуализировать картинку в Blender не из математики а из реального мира. Edited January 19, 2017 by kharlashkin @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 24, 2017 Author Share Posted January 24, 2017 Вроде закрутил кубик, и в то же время и нет. Или я чего-то не понимаю, но кубик не крутится вокруг оси Z, проверил - кватернионы не меняются при вращении по Z. Вот интересно - так и должно быть? Код крупным планом: import bge import serial import mathutils ser = serial.Serial('/dev/ttyUSB1', 38400) def Cube(): data = ser.readline() qw = float(data[0:4]) qx = float(data[6:9]) qy = float(data[11:14]) qz = float(data[16:19]) quat_ard = mathutils.Quaternion((qw, qx, qy, qz)) scene = bge.logic.getCurrentScene() cont = bge.logic.getCurrentController() obj = cont.owner obj.localOrientation = quat_ard.to_matrix() @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted January 28, 2017 Share Posted January 28, 2017 (edited) . Edited January 9, 2021 by SkepticalFox 2 @ Quote Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted January 30, 2017 Author Share Posted January 30, 2017 (edited) Накидал демку. test.zip Удобно через дебагер в верхнем левом углу смотреть значения w/x/y/z P.S. в качестве ардуинки буду использовать свои старые телефоны) Но это будет не скоро. Блин не заметил сразу в сообщении вложение. Поэтому повторил демку методом "ручного переноса". Блин как включить отображение дебагера в верхнем углу проигрывателя? Блин как включить отображение дебагера в верхнем углу проигрывателя? А все - нашел :) Гм... Чего-то вспомнилась вот эта темка уважаемого @Pavel3333, и приведенная мною в одном из сообщении ссылка на создание костюма отслеживания движений. В принципе теперь не составит особого труда повторить этот проект в Blender - а учитывая что датчики 9250 могут при расчетах кватернионов, так же учитывать показания магнитометра - получится более точная версия. Пока последнее время все проводил эксперименты с системой увлажнения дома и откладывал платформу с датчиками "на потом". После публикации с помощью сообщества основные волновавшие меня вопросы решены и остается только реализация, после приезда оборудования. Так что теперь более плотно вернусь к платформе в свободное время. ссылка на создание костюма отслеживания движений. Прошел перечитал статью, осталось какое-то чувство непонятное от прочитанного. Возможно "первопроходцам" всегда труднее, и повторять уже проторенный путь легче, тем более в голове после того как перечитал, уже есть понимание того, что же там описано. Мое имхо: Распределение массы в теле человека: темные кружки, обозначенные буквами, показывают центры суставов, светлые квадраты, отмеченные номерами показывают центры масс различных частей тела; темные квадраты показывают положение центра масс всего тела. Итого 15 точек замеров относительно положения в пространстве (центры масс частей тела), для центра масс тела - два датчика расположенных перпендикулярно - итого 16 датчиков + два 16-ти канальных мультиплексора + arduino nano + голубозубый модуль. Цена вопроса 30 + 2 + 7 + 3 = 42$. Ну провода ещё, припой и т.п. И остается вопрос куда это применять - запись движений человека. Очень дополнительным подспорьем будет забирать с акселерометров ускорения каждой части тела. И обсчет прямой и инверсной кинематик человеческого тела, думаю сложный и интересный процесс в реальном времени. Интересно, а в Blender можно записывать движения человека в *.bvh. cube_quat.zip Edited January 30, 2017 by kharlashkin @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.