Мини батискаф своими руками

DIY: Робот-подводная лодка для исследования акватории Москвы-реки. Часть 1

Это краткая история создания подводного автономного робота менеджером очень среднего звена. Текущей целью является создание актуальной карты фарватера Москвы-реки. При поиске нет проблем найти такую карту, но вызывает вопрос ее актуальность. Русло реки постоянно меняется. Происходит эрозия берегов реки и меняется карта фарватера. Эти процессы особенно заметны, учитывая питание Москвы-реки снеговое (61 %), грунтовое (27 %) и дождевое (12 %). Конечной целью является создание многофункционального подводного робота для исследование морских глубин. Мировой океан, покрывающий 2/3 поверхности Земли, изучен всего на 5%. Для создания автономного робота нужен простой «автопилот».

Как сделать доступный и простой автопилот для DIY-проектов и проплыть на нем по Москве-реке?

Москва-река это главная водная артерия города Москвы, длина в пределах города 80 км. Ширина реки внутри города меняется от 120 до 200 м, от самой узкой части возле Кремля до самой широкой вблизи Лужников. Принято считать, что скорость течения реки 0,5 м/с. Вполне благоприятные условия для испытания робота.
Возможно, было бы эффективнее и проще сделать лодку, но задача сделать подводного робота кажется много интереснее.

Конструкция

Робот-подводная лодка для исследования акватории Москвы-реки.

Примерное расположение элементов я видел таким.

Установка коллекторного двигателя

Серво-привод управления рулем

Серво-привод управления рулем глубины

В шутку можно сказать что я готовлюсь к конкурсу X-Prize.

The registration deadline is 30 June, 2016 (11:59 PM UTC/4:59 PM PST). The registration fee is $2,000.00 USD.

Целью является разработка автономного подводного робота, а не ROV’а. (Remotely operated underwater vehicle).

Электронная часть не отличается сложностью и качеством сборки
Arduino nano + L293D + Bluetooth + 3 серво + Power bank (Отдельное спасибо интернет-магазину, который продавал такие по 3 цента). Отдельно подключается к Power bank смартфон Samsung Galaxy S3 для поддержания заряда. Связь смартфона с Arduino осуществляется по Bluetooth.

Читайте также:  Крыша двухскатная своими руками чертежи для бани

Программная часть управления

«Мы встречаем свою судьбу на пути, который избрали, чтобы уйти от нее»
Жан де Лафонтен

Я всегда старался избегать программирования на Android. Когда появлялась возможность разработки даже легкого приложения с возможностью в действии познакомится с Android, я пасовал.
Но час настал! Действительно, хватит тратить деньги на шильды для Arduino. Все что нужно уже есть в отслуживших смартфонах. Под рукой оказался Samsung Galaxy S3 и немного магии.
Как порядочный ГИК я задал вопрос на тостере. Возможно я спрашивал сложно. Возможно плохо сформулировал вопрос. И похоже это было скорее не на вопрос. Но в ответ я получил совсем не то, что ожидал.
Яндекс мне в бухту! Все запросы «Android GPS», «Программирование Android GPS» и прочее давали ответы, которые решительно не работали на Android Studio.
Каким же облегчением для меня стала находка SL4A. Оказывается можно прототипировать и программировать на Android, используя Python. Управляют, ведь, даже ракетами.

SL4A Python

Если у Вас есть телефон Android, а он у Вас есть. Вы же ГИК, а не любитель приторных фруктов.
Устанавливаем на выбор программу для распознавания QR-кодов.
Для использования SL4A необходимо установить на телефон приложение.

Интерпретатор языка Python находится здесь.

Или QPython3

Писать программы на телефоне возможно, но занятием увлекательным это не назовешь.

Источник: http://habrahabr.ru/post/134184/
Перенаправим весь локальный трафик, поступающий на порт 9999 в Android-устройство (примем, что сервер слушает порт 46136):
$ adb forward tcp:9999 tcp:46136
Осталось создать переменную окружения и настройка закончена:
$ AP_PORT=9999
Осталось добавить файл android.py в папку с библиотеками Python’а, и все, теперь можно писать приложения на компьютере, запускать их, и результат можно буждет видеть сразу на телефоне. Для запуска helloWorld на Android-устройстве теперь достаточно ввести в интерпретаторе Python:
>>>import android
>>>droid = android.Android()
>>>droid.makeToast(«Hello, world!»)

В первой строчке импортируется библиотека android, затем создается объект droid, с помощью которого используются API Android’a. Крайняя строка выводит сообщение «Hello, World!» на экран устройства.
Теперь самое время, чтобы познакомиться поближе с API, которое предоставляет SL4A.

Читайте также:  Как сшить губы своими руками

Построение пути. Выбор точек


Используя Яндекс.карты или Google.maps выбираем точки по центру реки. Это примерный маршрут. Для тестов и наладки использую усеченную версию точек.
[55.671110, 37.686625],[55.668448, 37.675467],[55.660847, 37.671776],[55.654649, 37.671175]

Как сделать доступный и простой автопилот для DIY-проектов из andoid телефона и 70 строк кода?

Батарея:
droid.batteryStartMonitoring() — началo работы с батареей.
droid.batteryStopMonitoring()
droid.batteryGetHealth() — возвращает состояние батареи (1-неизвестно, 2-хорошее, 3 — перегрев, 4 — мёртвая, 5 — перегрузка, 6 — неизвестный сбой)
droid.batteryGetStatus() — возвращает статус батареи (1 — неизвестно, 2 — заряжается, 3 — разряжается, 4 — не заряжается, 5 — максимальный заряд)
droid.batteryGetTechnology()
droid.readBatteryData() — данные о батарее.
droid.batteryGetTemperature()
droid.batteryGetVoltage()
droid.batteryGetLevel()

Bluetooth:
droid.checkBluetoothState() — проверяет включён ли Bluetooth
droid.toggleBluetoothState() — включает если в скобках True и выключает, если False
droid.bluetoothAccept() — принимает соединение
droid.bluetoothActiveConnections() — проверяет, есть ли подключения
droid.bluetoothGetConnectedDeviceName()
droid.bluetoothMakeDiscoverable() — в скобках можно указать промежуток времени в секундах
droid.bluetoothStop()

Wi-Fi:
droid.checkWifiState() — проверяет включён ли Wi-Fi
droid.toggleWifiState() — включает если в скобках True и выключает, если False
droid.wifiStartScan()
droid.wifiGetScanResults()
droid.wifiGetConnectionInfo()

Другие настройки:
droid.checkAirplaneMode() — проверяет включён ли режим «В самолёте»
droid.checkRingerSilentMode() — проверяет включён ли беззвучный режим
droid.checkScreenOn() — включён ли экран
droid.toggleRingerSilentMode() — включает беззвучный режим
droid.toggleAirplaneMode()
droid.toggleVibrateMode()

Получение информации о настройках:
droid.getMaxMediaVolume()
droid.getMaxRingerVolume()
droid.getMediaVolume()
droid.getRingerVolume()
droid.getScreenBrightness()
droid.getScreenTimeout()
droid.getVibrateMode()

Установка параметров:
droid.setMediaVolume()
droid.setRingerVolume()
droid.setScreenBrightness()
droid.setScreenTimeOut()

В планах:

  • Настройка отправки данных по Bluetooth на arduino.
  • Получение с arduino данных о глубине. Глубину буду измерять ультразвуковым датчиком.
  • Отправка данных о текущем положении и измерений глубины на сервер.
  • Доработка конструкции. Лодка должна быть с нулевой плавучестью, чтобы глубину можно было изменять рулями глубины. Возможно от конструкции подводной лодки придется уйти к надводному аппарату.
  • Тест, тест, тест

P.S.: Почему я решил написать пост до запуска робота? Я хочу найти единомышленников. Если у Вас есть желание — делайте своего робота. Отличный повод собраться на майских праздниках на аквапробег по Москве-реке на роботах! По всем вопросам можете писать мне ВК. Просьба сделать репост, может быть кто-то из Ваших друзей захочет принять участие в аквамарафоне.

Читайте также:  Кровельная лестница для шифера своими руками

Напоминаю:
Конкурс роботов-газонокосилок пройдет в Сколково 3 июня. Все желающие могут попробовать себя в робототехнике. По итогам конкурса мы хотим отобрать команду для стартапа. Мы будем делать первый российский коммерческий робот-мульчатор. Ценные призы и подарки для всех участников.

Источник

Шестиместный батискаф для подводных прогулок

Компания Triton Submarines, создатель первой 24-местной туристической подводной лодки DeepView, разработала новый шестиместный батискаф. Название «3300/6» означает глубину погружения в 3300 футов (1000 метров), и количество мест, на которое он рассчитан.

В качестве кабины судна выступает самый большой в мире акриловый герметичный корпус сферической формы диаметром 2,5 м. Пять мест смотрят наружу, шестое же повернуто вовнутрь кабины, как ни странно, там сидит пилот. Сиденья съёмные, так что лишние за ненадобностью убираются. В кабине есть кондиционер – это обязательное условие для подводных лодок из-за нехватки свежего воздуха. Вход и выход происходит через люк за кабиной.

Погружение кажется продолжительным, хотя 1000 м – лишь треть глубины места крушения Титаника. И всё же это намного глубже, чем позволяют акваланги, рекорд для которых – 307,6 м. Тогда спортсмену потребовалось 12 минут, чтобы опуститься, и 15 часов, чтобы снова подняться для безопасной декомпрессии. В герметичном пузыре 3300/6 таких проблем не будет, в нём достаточно воздуха и заряда аккумулятора, чтобы более 10 часов изучать подводный мир.

Движение происходит за счёт двух основных и двух вспомогательных двигателей мощностью по 12,5 кВт, а пилотирование – с помощью интуитивно понятного джойстика и сенсорного экрана. Максимальная скорость батискафа – 3 узла или 5,5 км/ч. На глубоководье путь субмарины освещают шесть прожекторов мощностью 20 000 люменов.

Комплексно 3300/6 весит около 11 т при длине 4,55 м. Дополнительно к некоторым моделям идет роботизированная рука. Цена батискафа пока не разглашается.

Источник

Оцените статью
Своими руками