Делаем робота-рыбу на Arduino

— вы продаете рыбов?— нет, просто имитируем.

В природе часто встречаются самоорганизующиеся коллективы, где большое количество простых особей используют локальные взаимодействия для создания впечатляющего глобального поведения, при котором система в целом больше, чем сумма её частей. Хорошо известные примеры включают колонии социальных насекомых, стаи птиц и косяки рыб.

Огромные косяки рыб являются одними из самых потрясающих зрелищ дикой природы: тысячи и тысячи рыб синхронизируют своё поведение, чтобы найти пищу, мигрировать и спастись от хищников. В косяке нет лидера: каждая отдельная рыба принимает решения на основе того, что делают её соседи, посредством естественного процесса, называемого неявной координацией.

До этого математики и инженеры стремились понять влияние локальных взаимодействий на глобальное поведение, чтобы исследовать естественный коллективный разум и создать аналогичные коллективы искусственных роботов. Недавние достижения продемонстрировали успешные реализации самоорганизующихся роботов размером до 1000 единиц, хотя и ограниченными двумерными локальными взаимодействиями. Например, проект

Достоинства и недостатки

Рыбы-роботы могут плавать в любой емкости с водой. Их можно запустить в обыкновенную банку, в ванну, в мини-аквариум, в детский бассейн.

  • Основное преимущество состоит в том, что в данном случае совсем не требуется приобретать и использовать вспомогательное техническое оборудование — фильтры, аэраторы, компрессоры.
  • Не нужна и аквариумная химия для борьбы с водорослями, так как достаточно просто вылить старую воду и залить свежую.
  • Нет необходимости приобретать корм для рыбок и, соответственно, чистить аквариум от мусора.
Смотрите про коптеры:  KUKA cell4_uswelding: Ультразвуковая сварочная ячейка | KUKA AG

Кроме того, настоящие декоративные рыбки могут заболеть, а единственная «болезнь» RoboFish связана с падением напряжения автономных элементов питания.

Кстати, приобретая подобную игрушку, следует убедиться в наличии двух запасных батареек.

Как и в настоящем «живом» аквариуме, аквамир, населенный рыбками-роботами, можно украсить подводными гротами и замками, расставить и закрепить искусственные растения (и совсем не обязательно водными!), красиво уложить разноцветный грунт и даже подкрасить воду неагрессивными красителями. Короче говоря, использование RoboFish дома или в офисе позволяет включить личную фантазию на полную мощность.

Разумеется, роботы (в том числе и похожие на рыб) никогда полностью не заменят живых существ. Искусственные двигающиеся рыбки не подойдут любителям настоящей, естественной природы. Однако в качестве игрушки или яркой декорации аквариум с RoboFish способен украсить любое помещение и доставить радость вашим детям!

Как ведут себя рыбки-роботы в аквариуме

Эти технические устройства сделаны таким образом, что вне воды они не работают. На «суше» они могут храниться длительное время.

Однако как только искусственные рыбы попадают в воду, они включаются и начинают имитировать движения настоящих декоративных аквариумных животных:

  • расправляются синтетические плавники,
  • включаются светодиоды,
  • микромоторы заставляют роботов двигаться с различной скоростью вверх и вниз, вперед и назад, поворачиваться вокруг своей оси и даже переворачиваться спинкой вниз.

Они двигают силиконовыми плавниками и хвостом совсем как живые!

Эксплуатировать высокотехнологичные устройства очень легко, так как они самостоятельно включаются, попадая в водную среду. Нужно лишь периодически менять маленькие элементы питания, так как пары батареек хватает на 5–6 часов активной работы. Когда требуется временно отключить RoboFish, то достаточно их просто достать из воды, а повторная активация возможна через любой промежуток времени.

Если в аквариуме разместить декорации, установить искусственные пластиковые водные растения, опустить в него роботов-рыбок, то можно создать отличный уголок, имитирующий прекрасный подводный мир!

Купить robofish (робо рыбки) можно прямо здесь на сайте

С технической точки зрения данное устройство можно назвать электронным прибором, который включается при соприкосновении с водой.

Эту «игрушку» для детей и взрослых несколько лет назад изобрели японские инженеры и конструкторы. В принципе, ученые и инженеры Страны восходящего солнца давно уже являются передовиками в процессе создания разнообразных технических новинок, которые потом становятся популярными во всем мире. Именно это произошло и с рыбками-роботами, спрос на которых с каждым годом только растет.

Электронное устройство, находящееся внутри непромокаемого пластикового корпуса, состоит из электронной микросхемы (управляющий элемент) и микромотора. Разумеется, должен еще быть блок питания. Его роль обычно выполняют маленькие батарейки (например, алкалиновые батареи RL44, А76 или подобные). Размеры искусственных рыбок могут быть различными, и наиболее распространенными являются «игрушки» длиной около 7–8 см.

Цветовая гамма аквариумных роботов многообразна: красные, синие, зеленые, черные, серые, пятнистые, полосатые. Невозможно перечислить все виды окраски этих «игрушек».

Следует отметить, что искусственные электронные рыбки чаще всего имитируют вполне определенные виды живых аквариумных рыб.

Светодиоды, вмонтированные в корпус устройства, включаются при уменьшении внешней освещенности. В вечернее и ночное время аквариум освещается самими рыбками, он представляет собой весьма оригинальный ночник, где источником света является стайка плавающих роботов, очень похожих на настоящих обитателей водной стихии.

Изобретенные относительно недавно, маленькие водные роботы получили интернациональное наименование RoboFish, что означает буквально «робот-рыба». Точно и без излишней фантазии.

Механическая часть

Для тела рыбы используем обычный полистирол, который используется в качестве изоляционного материала для стен. Недорогой, очень прочный и легкий: он легко держится на воде и легко поддается формовке.

Чтобы сделать движения рыбы более реалистичным, нам нужны три сустава между туловищем и хвостовым плавником. В качестве исполнительных механизмов мы выбрали обычные моделирующие сервоприводы: небольшие, достаточно мощные и легко управляемые микроконтроллером.

Сервоприводы идеальны тем, что с их помощью можно управлять движением небольшого вала, соединяющего все сегменты рыбы, изменяя, по желанию, положение даже на несколько градусов.

Тело рыбы разделено на несколько частей: центральную и три дополнительные части, каждая из которых перемещается с помощью сервопривода. Хвостовой плавник сделан из пластмассы.

Гибкость плавника позволяет придать больше реалистичности движению. Для гармоничного движения каждая деталь присоединяется к следующей с помощью сервопривода: корпус сервопривода должен быть приклеен к сегменту корпуса, а рычаг сервопривода (соединенный с валом) должен быть приклеен к следующему.

Очевидно, что робот-рыба нуждается в системе для обнаружения препятствий, таких как края резервуара или др. Для этого можно использовать два инфракрасных датчика Sharp GP2Y0D805PCB с цифровым выходом, которые могут обнаруживать объекты размером до 5 см и довольно просты в управлении.

Расположите датчики впереди под углом 45°, один слева, другой справа. Затем подготовьте нишу для блока управления, батареек и датчиков.

Профиль и форму рыбы выбирайте сами, фантазия не ограничена. Не нужно беспокоиться о весе робота, например в нашем прототипе мы добавили 460 гр. дополнительного веса, чтобы обеспечить правильный уровень погружения в воду.

Немного истории

Примерно 10 лет назад японские ученые и конструкторы приступили к созданию роботов, имитирующих поведение и движение рыб. Эксперимент задумывался как способ изучения образа жизни настоящих, живых морских и речных обитателей.

Первые управляемые модели выпустила компания Sedensha Co LTD, но они управлялись сигналами, идущими по проводу. Вскоре появились радиоуправляемые прототипы.

Плавание рыбофишей. как плавают robofish крупным планом

Для теста взяты рыбки из нашего магазина — 4 китайских аналога “Happy fish” в цветах: розовый, синий, зеленый и оранжевый, вид рыб – клоун.

Плавники vs гребные винты

Ни один из известных морских существ не обладает гребными винтами. Возможно, это потому, что животным их слишком сложно развить из существующих частей тела. Или, возможно, это потому, что они не очень эффективны в качестве движителя. На плавучих средствах, чем больше гребной винт, тем сложнее его прикрепить к корпусу и тем больше он рискует увеличить осадку судна и, таким образом, зацепиться за морское дно. Поэтому даже гребные винты самых больших кораблей имеют диаметр не больше десяти метров.

Самый большой на данный момент гребной винт у контейнеровоза «Emma Maersk»

Плавники и ласты не страдают от таких геометрических ограничений. Они могут быть достаточно большими, в отличие от винтов, и необязательно такими жесткими. Ведь жесткий плавник — это уже практически весло. Поэтому их нелегко повредить при контакте с морским дном или другими объектами.

В свете этого эволюционного преимущества плавников, гребные винты кораблей выглядят как технология, созревшая для небольшой модификации биомиметики. Бенджамин Филардо, морской биолог и конструктор, и его компания Pliant Energy Systems разработали Velox, прототип, внешне напоминающий каракатицу, и приводимый в движение гибкими плавниками.

По словам Филардо, Velox производит в три раза больше тяги на единицу затраченной энергии. Продемонстрировав свое устройство

, он вызвал у них интерес. В результате появился следующий прототип,

c-Ray

, который легче и быстрее. В отличие от Velox, который управляется по кабелю, c-Ray автономный. Конечная цель — разработать группу подобных роботов для обнаружения и удаления мин, разведки и противолодочного патрулирования. Однако волнообразный движитель имеет ещё одно важное преимущество.

Подводные лодки часто обнаруживаются по производимому ими шуму, большая часть которого исходит от гребного винта и вала, приводящего его в движение. Волнообразный движитель, перемещающий больше воды на более низкой скорости, должен быть тише любого гребного винта. Также такой движитель не производит шум, называемый

, вызванный кратковременными пузырьками газа, которые образуются в ответ на давление лопастей гребного винта.

Плавники, как у Velox, могут оказаться технологией, которая может быть применена для приведения в движение полноразмерных подводных лодок. Как отмечает Филардо, даже у самых крупных морских животных, больших китов, есть плавники, хоть и расположены иначе, чем у Велокса. Например, синий кит, может развивать скорость более 20

, и может потягаться с

Даже если они не найдут применение в военно-морских операциях, Велоксы могут быть задействованы для выполнения различных задач: добыча моллюсков и ракообразных без разрушительного траления морского дна; посадка морских водорослей в больших масштабах; изучения фауны морских глубин.

Требуется гораздо больше исследований влияния таких машин на морское дно, но в любом случае автономный подводный робот от Pliant Energy System является новым впечатляющим примером потенциальной «мягкой» робототехники, помогающей людям добраться до уголков с суровыми условиями при минимальном воздействии на окружающую среду.

Иллюстрация роботов C-Ray, собирающих глубоководные полиметаллические конкреции

Програмный код

// ROBOFISH
// di Segatello Mirco
#include <Servo.h>
Servo Servo1, Servo2, Servo3; // create servo object to control a servo
int i, time, obstacle;
int pos1, pos2, pos3;
int pos1R, pos2R, pos3R;
int phase=45;
int velocity=2000;
int maxDeflexion=20;
int maxDefobs=20;
int actualTime;
float shift;
const int center1=98;
const int center2=90;
const int center3=105;
const int sens_SX=5;
const int sens_DX=6;
const int lostTime=3000;
void setup()
{
Servo1.attach(4);
Servo2.attach(3);
Servo3.attach(2);
pinMode(sens_SX, INPUT);
pinMode(sens_DX, INPUT);
pinMode(13, OUTPUT);
time=velocity/360;
shift=0;
}
void loop()
{
for (i=0; i<360; i ) {
pos1 = i 2*phase;
pos2 = i phase;
pos3 = i;
if (pos1>359) pos1-=360;
if (pos2>359) pos2-=360;
if (pos3>359) pos3-=360;
if (pos1>179) pos1=360-pos1;
if (pos2>179) pos2=360-pos2;
if (pos3>179) pos3=360-pos3;
pos1R=map(pos1,0,180,center1-maxDeflexion-obstacle,center1 maxDeflexion-obstacle);
pos2R=map(pos2,0,180,center2-maxDeflexion-obstacle,center2 maxDeflexion-obstacle);
pos3R=map(pos3,0,180,center3-maxDeflexion-obstacle,center3 maxDeflexion-obstacle);
Servo1.write(pos1R);
Servo2.write(pos2R);
Servo3.write(pos3R);
delay(time);
obstacle=int(shift);
if (digitalRead(sens_DX)==0) {
if (obstacle<maxDefobs) shift=shift 0.05;
actualTime=millis();
}
if (digitalRead(sens_SX)==0) {
if (obstacle > (-maxDefobs)) shift=shift-0.05;
actualTime=millis();
}
if (digitalRead(sens_SX)==1 && digitalRead(sens_SX)==1 && obstacle!=0)
if (millis()>actualTime lostTime) {
if (shift>0) shift=shift-0.05;
if (shift<0) shift=shift 0.05;
}
}
}

С помощью Arduino реализовать робота очень просто.

Движение сервопривода повторяется и следует точной схеме. Есть возможность персонализировать несколько переменных, так что вы можете проверить различные виды движения рыбы. Плавание происходит путем синхронного перемещения трех сервоприводов в соответствии с рисунком, напоминающим буквы S, каждый сегмент слегка отклоняется от фазы по отношению к предыдущему.

Для движения сервопривода можно использовать библиотеку servo.h, которая доступна на Arduino IDE. Просто объявляете servo.detach() соответствующий выход с помощью servo.attach (pin). Servo.detach() позволяет освободить выход от сервопривода, чтобы использовать его в конечном итоге в качестве выхода PWM. Команд, управляющих движением сервоприводов, две.

Первый, Servo WriteMicroseconds, позволяет установить положение команды servo, указав длину в микросекундах. Значение в этом случае должно составлять от 1000 до 2000 мс. Средняя точка 1500 соответствует нейтральному положению линии вала.

Второе, Write, позволяет позиционировать, задав угол в градусах: значение угла должно быть между 0 и 180 градусами, промежуточное значение 90 градусов, соответствующее нейтральному положению сервопривода.

Два сенсорных датчика sens_SX и sens_DX подключены соответственно к контактам 5 и 6. В основном цикле есть цикл for, который увеличивает переменную i с регулярными интервалами от 0 до 360 циклически, в общее время, определяемое переменной скоростью.

Значение переменной i вместе с значением фазы определяет положение серводвигателей. Это значение относится к полному циклу 360 градусов, а затем должно быть смещено, имея в виду нейтральное положение сервопривода, потенциального сдвига и максимального отклонения, которое вы хотите придать движению.

Последний определяется переменной maxDeflexion (десятичные Градусы) и определяет максимальное отклонение каждого хода: чем выше это значение, тем шире будет движение трех частей рыбы.

С фазой, установленной на 0, все сервоприводы будут двигаться вперед; увеличение этого значения вводит фазовый сдвиг между положением сервопривода. В результате вы получите движение, похожее на Букву S, более выраженное, когда больше значение фазы.

При обнаружении препятствий нейтральное положение сервопривода постепенно перемещается на противоположную сторону препятствия. Таким образом, рыба будет описывать дугу круга в сторону от препятствия.

Дугой можно управлять с помощью переменной maxDefobs: чем выше это значение, тем больше будет кривизна линии плавания. Когда препятствий нет, движение сервопривода возобновляется, чтобы плыть прямо. Каждый контактный серво диапазон между – maxDeflexion и maxDeflexion, а если препятствие обнаружено, он колеблется между ценностями – maxDeflexion maxDefobs и maxDeflexion maxDefobs.

Робот: истории из жизни, советы, новости, юмор и картинки — лучшее | пикабу

Роборыба может погружаться на глубину до 18 метров, двигаясь естественно и не пугая находящихся поблизости животных. Передвигается робот за счет гидравлического хвоста, который сделан из двух камер. Как говорится на сайте Science Robotics, насос подает воду в каждую из камер по очереди, так что вся конструкция изгибается и движется вперед.

Кроме хвоста рыба имеет два горизонтальных плавника с каждой стороны, плюс модули контроля плавучести, так что она может двигаться в любом направлении. Управление основано на акустических сигналах, которые передаются дистанционно с пульта управления и принимаются через гидрофон.

При тестировании рыба-робот с легкостью подплывает к коралловому рифу на менее чем метровое расстояние и снимает видео. Окружающие обитатели не обращают на нее внимания и ведут свою обычную жизнь. Аквалангистам, которые делают подобную работу, приходится сложнее: морские животные пугаются странно выглядящих существ.

Источник: https://hi-tech.mail.ru/news/riba-ribot/?frommail=1

§

Робот-рыба с использованием 3d-печати и arduino – robocraft

Робот-рыба

«Роборыба гниёт с Arduino»

В то время, когда на улице широкой поступью гуляет весна, а наш весенний конкурс КиберВесна 2023, наоборот, что-то притих — возникло желание сделать чего-нибудь эдакое. Чисто Just for Fun 🙂
Думать долго не пришлось и на свет появился проект биоинспирированнго робота, а именно — робо-рыба.

Идея простая — берём первый попавшийся контроллер Arduino Nano, маленькую сервомашинку типа SG-90 и загружаем тестовый скетч библиотеки Servo — Sweep.
Удивительным образом — сервомашинка машет качалкой из стороны в сторону.
Собственно, это и стало основой из которой за 3 дня, при помощи технологии 3D-печати и «выросла» робо-рыба.

Взяв в руки OpenSCAD, я, первым делом, начертил держатель сервомашинки:
Делаем робота-рыбу на Arduino

Распечатываем и любуемся:
Делаем робота-рыбу на Arduino
Делаем робота-рыбу на Arduino

Теперь, переходим к самому интересному — хвосту нашего робота-рыбы.
К этому важному делу я подошёл обстоятельно 🙂 Залез в поиск яндекса по картинкам и стал вбивать все названия рыб, которые приходили в голову.
Поначалу, мне очень понравился хвост тунца:
Делаем робота-рыбу на Arduino
Такие хищные обводы хвоста никого бы не оставили равнодушным 🙂
Делаем робота-рыбу на Arduino
Загрузив хвост в Gimp и выполнив пороговое преобразование, я получил прекрасный шаблон хвоста:
Делаем робота-рыбу на Arduino
Далее, нагуглилась технология, позволяющая загружать шаблон в OpenSCAD:
подробнее можно почитать здесь: OpenSCAD Tip: Scan into SCAD
Суть простая: сначала картинку нужно импортировать в Inkscape, там векторизовать, далее упростить, потом привести кривые к последовательности прямых, а потом сохранить в *.dxf -файл, который можно загрузить в OpenSCAD командой:

linear_extrude(file = "tuna_tail_threshold.dxf", height = 2.5, center = false, convexity = 10, twist = 0);

Хвост получился так себе, поэтому я вспомнил про более привычную рыбу — обычного карася:
Делаем робота-рыбу на Arduino
И быстренько освоив команду hull() начертил хвост самостоятельно:
Делаем робота-рыбу на Arduino
Результат (сверху и снизу — хвосты тунца):
Делаем робота-рыбу на Arduino

Теперь, чтобы прикрепить хвост к сервомашинке, нам нужна этакая качалка:
Делаем робота-рыбу на Arduino

Печатаем:
Делаем робота-рыбу на Arduino

Вклеиваем хвост в качалку, которую прикручиваем к родной качалке сервомашинки:
Делаем робота-рыбу на Arduino

Остаётся нарисовать голову/туловище рыбы. У меня получилась вот такая лопата:
Делаем робота-рыбу на Arduino

Долго печатаем и получаем:
Делаем робота-рыбу на Arduino

А если накрыть крышкой:
Делаем робота-рыбу на Arduino
Вот такой большой робот-карасик получился:
Делаем робота-рыбу на Arduino

Как я уже говорил, программировать роботов — очень здорово и весело. Согласитесь, что программировать что-нибудь жужжащее и шевелящееся — это, как минимум, очень забавно 🙂
Вот, какой код у меня получился для робота-рыбы; он позвояет рыбе плыть прямо и периодически пытаться повернуть вправо или влево:

/* * fish_sweep v 0.2 * роборыба: плаваем прямо и переиодически пытаемся поворачивать * * https://robocraft.ru */
// отладка
#define MY_DEBUG 1
// задерка по-умолчанию (определяет скорость)
#define DEFAULT_DELAY 10
#include <Servo.h>
// типа класс робота
struct RoboFish
{ // у робота есть серва, которая машет хвостом Servo tail; // переменная для хранения положения сервомашинки int pos; // положения сервомашинки между которыми нужно "махать хвостом" int pos_0; int pos_1; int speed; void setup(int servo_pin) { pos = 0; speed = 100; pos_0 = 1; pos_1 = 180; tail.attach(servo_pin); } int set_speed(int _speed=0) { int res = DEFAULT_DELAY; if(_speed > 0) { res = 1000/_speed; } return res; } void swim(int _speed=0) { int del = set_speed(_speed);
// переделываем пример Sweep for(pos = pos_0; pos < pos_1; pos ) { tail.write(pos); delay(del); }
#if MY_DEBUG Serial.println("<");
#endif for(pos = pos_1; pos >= pos_0; pos--) { tail.write(pos); delay(del); }
#if MY_DEBUG Serial.println(">");
#endif } void forward(int _speed=0) {
#if MY_DEBUG Serial.println("forward");
#endif pos_0 = 45; pos_1 = 125; swim(_speed); } void left(int _speed=0) {
#if MY_DEBUG Serial.println("left");
#endif pos_0 = 20; pos_1 = 60; swim(_speed); } void right(int _speed=0) {
#if MY_DEBUG Serial.println("right");
#endif pos_0 = 120; pos_1 = 160; swim(_speed); }
};
RoboFish robot; // наш робот
int randnum = 0;
bool leftflag = false;
bool rightflag = false;
void setup()
{
#if MY_DEBUG Serial.begin(9600);
#endif robot.setup(9); robot.speed = 100; // инициализация ГПСЧ randomSeed(analogRead(0));
}
void loop()
{
#if 0
// тестирование robot.left(50); delay(1000); robot.forward(100); delay(1000); robot.right(50); delay(1000);
#endif
#if 0
// плаваем только прямо (подбор оптимальных углов) robot.pos_0 = 55;//65 robot.pos_1 = 115;//105 robot.swim( robot.speed 40 );
#endif
#if 1
// плаваем прямо и периодически пытаемся поворачивать randnum = random(400); if(randnum > 380) { randnum = random(400); if(randnum > 200 && !rightflag) { leftflag=true; robot.left(robot.speed); } else { rightflag=true; robot.right(robot.speed); } } else { leftflag = false; rightflag = false; //robot.forward( robot.speed ); robot.pos_0 = 70; robot.pos_1 = 100; robot.swim( robot.speed 100 ); }
#endif
}

Запрограммировав робота-рыбу, его нужно вывесить.

Как помним из школьного курса физики, на погруженное тело в жидкости действует сила Архимеда, которая вычисляется по формуле:

Fa = ro*g*V;

Запустим, например, SciLab и очень приблизительно прикинем силу, действующую на нашего робо-карасика:
Fa = 1000 * 9.8 * (90e-3 * 90e-3 * 28e-3) = 2.2 (H)
Чтобы получить массу в кг, силу нужно, соответственно, разделить на g (ускорение свободного падения), равное 9.8.
Получаем, что для того чтобы получить нейтральную плавучесть нам понадобится около 220 грамм груза.
Разумеется, из этой массы нужно вычесть массу самого робота (корпус электроника батарейка).
Но, всё равно, становится приблизительно понятно — сколько свинцовых грузиков придётся покупать в ближайшем рыболовном магазине 🙂

Следующей задачей является герметизация нашего робота.

Самым простым является дополнительная кожа, которую, например, можно соорудить из обычного целлофанового пакета.

Фото с испытаний робота-рыбы (она же рыба-пакет) в корыте:
Делаем робота-рыбу на Arduino
Делаем робота-рыбу на Arduino

Итак, за три дня, наша биоинспирированная робот-рыба научилась плавать 🙂
Получен опыт работы с OpenSCAD и возникла куча идей и мыслей, которые нужно будет учесть при постройке следующих биоинспирированных роботов.

Видео с испытаний:

продолжение следует…

Ссылки
Этот проект на Thingiverse
Скачать STL-файлы.
http://www.openscad.org
OpenSCAD User Manual/The OpenSCAD Language
OpenSCAD Tip: Scan into SCAD
http://www.scilab.org

По теме
Будущее за бионическими роботами?
Такие разные робо-рыбы
Роборыба на базе Arduino
Плавник для робота-рыбы
Робот-рыбка на топливных элементах
Робот-рыба
Обнаружен общий принцип движения плавников у рыб
Изучение движения рыб

Сравнение китайских и оригинальных рыб

Тест

Оригинал

Китай

время работы до первой разрядки батареек, идущих в комплекте 90-105 мин.60-75 мин.
время работы после “отдыха” на все тех же батарейках 20-45 мин.20-45 мин.
последующие 2 теста после “отдыха”10-30 мин.10-30 мин.
Циклы работы с заменой батареек (мы провели 7 циклов друг за другом, рыбы работают без нареканий)5 из 55 из 5
Качество, упаковка

хвост сделан более качественно, чем у китайской

слегка прозрачный пластик

красивая упаковка

в комплекте также идет подставка под рыбу

практически такая же, как и оригинал, только в нашем случае раскраска менее цветастая

пластик не прозрачный

выглядит более дешево, чем оригинал, но в воде сильного отличия нет

Инструкцияна русском языке буквально в 2-х предложенияхна английском, но особо ничего и не надо знать – открыл упаковку и поместил в воду
Стоимость600 руб.240 руб.

Роботы-рыбки (robofish) произвели фурор на рынке игрушек. Сейчас много подделок под оригинал, и вот мы решили разобраться чем же хуже китайские рыбы в отличие от оригинала (производства компании ZURU) и так ли это. В итоге скажем, что китайские рыбы плавают также, ни чуть не уступая оригинальным рыбам.

Тестирование

Перед испытаниями робота в воде необходимо тщательно проверить все механические и электрические соединения. Включите рыбу, убедитесь, что оба датчика обеспечивают сигнал на Arduino. Используйте мультиметр для измерения напряжения на их выходе: при отсутствии препятствий сигнал должен быть высоким. Проверьте напряжения питания, оно должно быть не менее 5,5 В.

Чтобы сделать робота водонепроницаемым: есть много решений, например поместить робота в полиэтиленовый герметичный пакет, запечатав пакет скотчем или клейкой лентой.

Если робот будет плавать на поверхности резервуара с водой, вам, скорее всего, придется утяжелить робота, чтобы держать его на глубине. Как уже говорили ранее, мы дополнительно нагрущили около 460 граммов. После того, как робот погрузился на нужную глубину, вы можете включить его.

УРА!!! Он плывет!

Электрическое соединение

В качестве контролера мы выбрали Arduino-совместимую плату, производимую Seeedstudio, но любая плата Arduino подойдет. Четыре простых батарейки типа АА обеспечат напряжение, совместимое с сервоподачей, в то время как плата Arduino получит напряжение благодаря своему внутреннему регулятору – 5 вольт.

Так как использовать обычный выключатель сложно (все покрыто пластиком), можно использовать небольшой магнитный контакт, например, для открывания окон. Он состоит из контакта, активируемого небольшим магнитом. Поместите контакт на внешнем краю робота так, чтобы, приблизившись к магниту, можно активировать цепь. Этим и объясняется та небольшая шишка на голове у роботов, которую видели на видео.

Итоги теста более подробно

1. Оригинал плавает около 90-105 минут, после он плавает ещё минут 20-30, но из-за нехватки питания батареек движения вялые и толку особого нет, после высыхания и “отдыха” плавала около 30-45 минут, потом ещё столько же, в итоге среднее время работы около 3-4 часов.

2. Китайские рыба плавают меньше 60-75 минут и прекращают двигаться практически сразу, после окончания питания батареек. После “отдыха” снова плавают, без замены батареек, около 30-60 минут, поэтому время работы китайских рыб и оригинальных примерно одинаково. Также ещё после “отдыха” рыба тоже плавала некоторое время, в общем около 3 часов.

3. После 3 циклов замены батареек (это около 10 часов работы) как оригинал, так и китайские рыбы работают без нареканий. 

В итоге мы считаем переплачивать в 2 раза за оригинал не имеет смысла, тем более, что через час плавание рыб уже поднадаедает и если запускать их в ванну при купании ребенка — вы тоже не будете купать его больше часа. В итоге все зависит от батареек, чем они лучше – тем больше будет рыба плавать, а время работы примерно одинаково.

РЕКОМЕНДАЦИИ: рыбы плавают лучше в квадратных емкостях, т.к. в круглых они практически всегда плывут по кругу. Меняйте батарейки хорошо вытерев рыбу от воды.

Оцените статью
Радиокоптер.ру
Добавить комментарий