Jump to content
Korean Random

kharlashkin

User
  • Content Count

    829
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by kharlashkin

  1. Нашел похожий проект платформы в blender на просторах - буду изучать. @Azbuka, Как-то давно не появлялся... Так уверенно писал о вводе/выводе в/из arduino, хотел спросить о примере реализации.
  2. Наконец-то заставил Blender корректно отображать все повороты датчика (не хочу снимать видео - поздно уже): Есть небольшая проблема с данными от магнитометра в кватернионах - при повороте датчика вокруг оси Z, в течении пары секунд параметр этот возвращается обратно. Если же считывать данные магнитометра напрямую - есть конечно плаванье (в пределах 3-10 тысячных Гаусса), но показывает на север стабильно. Блин не охота всю математику перебирать в Arduino коде...
  3. Не знаю к лучшему или не совсем так, но благодаря своему низкому порогу вхождения (системный python), открытости и поддержке сообщества - Blender, наверное, один из лучших и простых способов понять общую структурную модель своего проекта. Например в моем случае (платформа) это вообще единственный инструмент позволяющий "из коробки" получить полноценную реализацию общей концепции хотелок ;) Unity же предназначена в первую очередь для создания игр, даже наверное просто для рекламы своего движка - так как любой более профессиональный функционал сразу же потребует платных плагинов или проф версию за деньги. Зачем если можно брать и отдавать данные непосредственно из com-порта?
  4. Блин не заметил сразу в сообщении вложение. Поэтому повторил демку методом "ручного переноса". Блин как включить отображение дебагера в верхнем углу проигрывателя? А все - нашел :) Гм... Чего-то вспомнилась вот эта темка уважаемого @Pavel3333, и приведенная мною в одном из сообщении ссылка на создание костюма отслеживания движений. В принципе теперь не составит особого труда повторить этот проект в Blender - а учитывая что датчики 9250 могут при расчетах кватернионов, так же учитывать показания магнитометра - получится более точная версия. Пока последнее время все проводил эксперименты с системой увлажнения дома и откладывал платформу с датчиками "на потом". После публикации с помощью сообщества основные волновавшие меня вопросы решены и остается только реализация, после приезда оборудования. Так что теперь более плотно вернусь к платформе в свободное время. Прошел перечитал статью, осталось какое-то чувство непонятное от прочитанного. Возможно "первопроходцам" всегда труднее, и повторять уже проторенный путь легче, тем более в голове после того как перечитал, уже есть понимание того, что же там описано. Мое имхо: Распределение массы в теле человека: темные кружки, обозначенные буквами, показывают центры суставов, светлые квадраты, отмеченные номерами показывают центры масс различных частей тела; темные квадраты показывают положение центра масс всего тела. Итого 15 точек замеров относительно положения в пространстве (центры масс частей тела), для центра масс тела - два датчика расположенных перпендикулярно - итого 16 датчиков + два 16-ти канальных мультиплексора + arduino nano + голубозубый модуль. Цена вопроса 30 + 2 + 7 + 3 = 42$. Ну провода ещё, припой и т.п. И остается вопрос куда это применять - запись движений человека. Очень дополнительным подспорьем будет забирать с акселерометров ускорения каждой части тела. И обсчет прямой и инверсной кинематик человеческого тела, думаю сложный и интересный процесс в реальном времени. Интересно, а в Blender можно записывать движения человека в *.bvh. cube_quat.zip
  5. Вроде закрутил кубик, и в то же время и нет. Или я чего-то не понимаю, но кубик не крутится вокруг оси 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()
  6. Я вчера вам даже хотел в личку написать просьбу о помощи, но уже два дня пока не могу до ардуинки добраться ;) Идея в приниципе какова - через bge отдавать команды платформе, считывать данные от датчиков (положение в пространстве основы и платформы и углы с серв) и визуализировать картинку в Blender не из математики а из реального мира.
  7. Человек вроде в Москве живет, и можно потратить 100 рублей - съездить пощупать.
  8. Эм... Я правильно понял что бюджет 150$ на портативный ПК с возможностью запуска танков? Поделюсь своим опытом и мыслями. Если портативный, а с прицелом на будущую учебу в ВУЗе - однозначно нужен ноутбук. Некоторое время назад я работал в одной компьютерной организации со своим сервисным центром, инженер мне тогда рекомендовал смотреть только на модели HP ProBook, Lenovo ThinkPad и Acer, так как изнутри только модели этих производителей смотрятся как единое и с инженерной точки зрения законченное изделие - т.е. ремонтопригодное. В той же организации у меня был "рабочей лошадкой" HP ProBook 4545s, который без проблем тянул танчики на низких/минимальных около 40 fps. Да и вообще я приверженец APU от AMD, правда и геймером меня назвать можно с боольшой натяжкой. Хочу так же рекомендовать не смотреть в сторону дискретной графики для оборудования, которое планируется часто перемещать в пространстве. А в этом случае графика от Intel рядом с AMD не стоит. Таким образом подытожим - ноут для работы и время от времени поиграть, модель от HP/Lenovo/Acer с процессором APU от AMD и интегрированной графикой. Тадам! https://www.avito.ru/moskva/noutbuki/noutbuk_lenovo_e535_edge_a4_4gb_ram_radeon_hd_74_894504877
  9. В общем код вроде рабочий, вопрос в том что необходимо в реальном времени передавать/отображать положение "кубика". Буду смотреть в сторону Blender Game Engine, вот даже нашел понятно видео по процессу.
  10. Вроде так: 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) Вечером проверю.
  11. Сегодня потратил половину выходного для более масштабных испытаний. У коллег взял приборчик - анемометр 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$. Вчера допоздна сидел с датчиком положения в пространстве, корректно завелся у меня вот этот код: Пытался подключить через 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
  12. Подумалось что несколько кощунственно "дербанить" рабочий девайс. Просьба не перепаивать его как придет время, может у меня получиться найти сломанный где нибудь.
  13. Приехал паяльничек, опробован на пайке ножек для сенсора положения в пространстве. паяльник как паяльник. Первым делом припаял ножки к платке с сенсором, сразу завелся код для mpu-9250. Пришло время перепаивать сервоприводы и доставать с полки платформу ;)
  14. Сегодня выделил несколько часов провести первое пробное испытания системы увлажнения в канальнике. Видео пробовал сделать - не видно на нем ничего. Подопытный Со снятой нижней панелью Со снятым поддоном сбора конденсата Грязный поддон Поддон обычно мою после сезона работы на охлаждение, т.е. раз в год осенью октябрь-ноябрь. В этом году так как ещё с начала осени собирался проводить эксперименты с увлажнением, сделал мойку сейчас. Можно понять сколько грязи уносит водичка с теплообменника летом за год. Внутрь, через убранную заглушку в поддоне слева (правильно - по ходу воздуха, на фото - справа) завел трубку на которую надел распылители. За счет того что блок установлен с небольшим наклоном в правую сторону (где установлен конденсатный насос), некоторое время вода не должна была выливаться. Прилепленые на скотч распылители ;) Обе форсунки прилепил над выходными патрубками вентиляторов, расстояние от форсунки до теплообменника где-то 300-400 мм. Открыл водичку сначала просто так - оба распылителя функционировали как нужно, посторонних подтеков не заметил. Установил на место поддон сбора конденсата. Запустил внутренний блок на режим вентиляции (работа только вентиляторов) на минимальной скорости и опять открыл воду. Визуально ничего не видно, так как все закрыто - но по звуку было понятно что распылители водичку подают. Кстати шум от них даже больший чем от работы кондиционера на минимальной скорости. Кран был открыт 15 минут, т.е. в кондиционер было подано около 2,5 литра холодной воды. Внутренний блок работал 5 минут на минимальной, 5 минут на средней и 5 на максимальной скоростях вентиляторов. Все это время "махал руками" за теплообменником на выходном патрубке внутреннего блока, держал бумажную салфетку и т.п. Где-то на 10-й минуте (перед переключением на макимальную скорость) нижняя половина теплообменника стала влажной, за это время в поддоне справа уровень воды поднялся где-то до 7 мм (пальцем проверял). На 15-й минуте из партубка с отсутствующей заглушкой начала капать вода, т.е. уровень воды в поддоне уже был довольно высок (пальцем померял - около 10 мм в правом углу). Сходил перекрыл кран с подачей, услышал как начал работу конденсатный насос - сработал поплавок. Насос проработал 10 минут, режим вентиляции выключил вместе с водой, так как время поджимало - нужно было ещё все собрать обратно успеть. В принципе эксперимент считаю удачным, так как основные опасения не подтвердились и вода за пределы кондиционера не уходит. Боялся брызг за теплообменником на выходном патрубке кондиционера. Теперь думаю смонтировать распылители на постоянной основе и погонять уже более основательно с замерами анемометром влажности и температуры на выходном патрубке кондиционера, на приточных и вытяжных решетках в комнатах. Параллельно заказывать буду датчики и реле для ардуинки.
  15. Приехал и протестирован в ванной комнате, один наконечник формирует как бы облако мелкого-мелкого дождика, под водопроводным напором начиная с самой тоненькой струйки (подключал вместо лейки душа) и до максимум открытого крана может расход и меняется, но образуемое облако остается в прежних пределах от одного распылителя (примерно на расстояние в 800 мм телесный угол в 30 градусов). Был произведен замер расхода по таймеру- за 30 минут в ведро собралось примерно 2,5 литра (3-х литровой банкой измерял). Теперь на очереди нужно разобрать один внутренний блок кондиционера, временно подключить к водопроводу одно/два сопла и посмотреть как будет облако тумана распостраняться внутри канальника. Процесс думаю снять на видео ;)
  16. Вчера заходило два человека с просьбой организовать рассылку с поздравлениями для партнеров/заказчиков. При чем основным требованием было, чтобы в поле "кому" электронного письма был один адресат. Погуглив часик и почитав доки, был набросан скриптик на python, его и прилагаю, может пригодиться кому-то ;) Скрипт берет открытку "c:/temp/2017.jpg", считывает из текстового файла "c:/temp/test.txt", где в каждой новой строке один электронный адрес, нужный e-mail и поздравляет адресата письмом со стишочком и картинкой ;) Всех с наступающим 2017 годом!
  17. Варгеи, как я их ненавижу!!! Ан-нет, все очень просто решилось ;) res_mods.7z
  18. Отлично, жду реверс-инжиниринг железки ;) Ну после того как наиграешься во всякие Ассасины, Бэтмэны и прочее . P.S. Ссылка на форум где есть отрисовка соединений на данную платку.
  19. Ждем фотоотчет о препарировании устройства.
  20. Эм... После почти 600 сообщений и имея статус премиум участника на форуме, где непосредственно каждый второй умеет править конфигурации и питоновский код - увидеть подобный вопрос вызывает у меня полное недоумение;)
  21. Гм... Начал читать кто и как делал подобные проекты, народ пишет про не совсем корректное поведение сенсора MG811, к тому для корректной работы сенсору требуется 6 В, что несколько проблематично (как-то думал обойтись 5 В постоянки и 220 В переменки в проекте), наверное буду использовать MH-Z19, к тому же он немного дешевле ;)
  22. В том то и дело что сходу не нагуглил правильное решения. Пока есть возможность и время более глубоко изучить вопрос, буду копать. Ардуинка чем хороша - низким порогом вхождения в мир микроконтроллера и большим сообществом с огромными наработками.
  23. Домашняя группа Windows будет корректно работать только если у Вас включена поддержка на всех устройствах в сети протокола IPv6. Это первое условие, соответственно проверьте на маршрутизаторе, и своих ПК включена ли поддержка. Можно обойтись без поддержки этого протокола. Заводим все ПК в одну рабочую группу, на каждом ПК заводим одного пользователя с паролем, разрешаем этому пользователю использовать сетевые соединения и т.п. При сетевом подключении к открытым папкам и принтерам использовать имя и пароль этого пользователя. Называется данный "финт ушами" если правильно помню - сквозная авторизация.
  24. Да ну это так - мысли вслух. Пока паяльник жду ;) Хочу поделиться ещё одним своим проектом, который точно буду делать - все к реализации идет уже. Некоторое время назад делал расчет относительно увлажнения и очистки воздуха с помощью внутреннего блока канального кондиционера. Вот тут моя статья. Для полномасштабных испытаний был заказан вот такой комплект туманообразования в Китае, дабы проверить каким образом будет распространятся водно-воздушная смесь внутри канального блока кондера. Пока думаю над реализацией всей автоматики и покупки нужных дополнительных устройств для автоматизации. Видится что-то подобное: Датчик температуры и влажности DHT22 AM2302 - 1 шт., устанавливается в кондиционер с обратной стороны, будет мониторить температуру и влажность воздуха который забирается из комнат. По идее было бы неплохо второй установить с передней части кондиционера - мониторить температуру и влажность воздуха на выходе из кондиционера (т.е. после смешивания наружного воздуха с внутренним) Датчик уровня углекислого газа CO2 MG811 - 1 шт., устанавливается в кондиционер с обратной стороны с целью проверки текущего уровня CO2 в комнатах. Реле включения/выключения исполнительных устройств - 2 шт., включение/выключение приточного вентилятора по уровню CO2, открытие/закрытие клапана электромагнитного подачи воды на систему увлажнения/очистки. Скорее всего буду добавлять ещё одно реле - для канального нагревателя, существуют конечно нагреватели со встроенной системой управления, но разница в цене на них более чем в 2,5 раза (1131 грн без автоматики, 3048 грн с автоматикой). Есть ещё проблема одна но пока не знаю как решить, может подскажет кто реализацию. Вентилятор подмеса свежего воздуха может управляться тиристорным регулятором скоростей, т.е. 3 скорости (низкая, средняя, высокая) и позиция выкл. Вот думаю купить именно такой регулятор и прикрутить к нему сервопривод :) или же можно реализовать подобный регулятор с помощью средств ардуинки.
  25. USB имеет максимальный ток 500 мА, версия 3.0 до 900 мА. Я собираюсь использовать его с помощью имеющейся зарядки для планшета/телефонов с током 2 А. Подумал немного о реализации... Наверное лучше будет по одному порту отдавать данные а другим забирать. Вопрос в том что нужен преобразователь в usb из второй пары RX/TX, не посоветуете ничего? 2 датчика положения имеют по 2 аналоговых выхода, после перепайки каждый из сервоприводов будет иметь дополнительно аналоговый выход - итого 10, на плате 6, если я не ошибаюсь нужен мультиплексор аналоговый. Смотрю в сторону cd74hc4067.
×
×
  • Create New...