1 (2025-11-16 19:13:40 отредактировано Okruru)

Тема: Дистанция для лодки ПВХ

Возможно вы удивитесь подобному.
Всем доброго.
Идея такова,
Сам придумал отлиный привод для лодки ПВХ , возможно есть некие неточности, с поднятием мотора при стоянке, думаю и это можно подправить, при подходе к берегу привод одцеплать от мотора.
Это второй вопрос, главное пока управление.
   Задача в несколько пунктов.
1) Подобные устройства стоят достаточно дорого, больше подходят лодкам больших размеров, однако на малых осуществимы. Достаточно к тросу управления прикрутить Ардуино, скажем через реде включения подачи напуги на мотор(движение в одну и обратную сторону) и управлять поворотом мотора. Питание или раздельно или общее, от батареи, скажем 12 в.
2) Так же при помощи серво-приводов управлять режимом работы самого мотора, увеличения и уменьшения подачи топлива.
3) Режим включения передачь( в моем случае их два) нейтоаль и ход в перед.
4) Дистанция: для начала вполне и проводная, для теста. Дальше прикурутить к Ардуине wifi модуль и при помощи связи через браузер(написать старничку для управления:(она небольшая и вполне возможная) и предевать по определенному АйПи адресу.

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

С тахометром вопросов больше чем ответов. Например:

]#include <DueTimer.h>

const int RPM_PIN=3;
volatile int rpm                = 0;    // Тахометр
volatile int rpm_tik            = 0;    // Импуслы тахометра

void rpm_count(){
  rpm_tik++;
}

void SensorData(){
  rpm = rpm_tik;
  rpm_tik = 0;
}

void setup(){
   Serial.begin(9600);
   pinMode(RPM_PIN,INPUT);
   attachInterrupt(RPM_PIN,  rpm_count,  RISING);
   Timer3.attachInterrupt(SensorData);
   Timer3.start(1000000);
}

void loop(){
    Serial.println(rpm/2*60);
    delay(500);
}
на малых оборотах двигателя все соответствует истине. 
Но при увеличении оборотов показания начинают завышаться.
 Так при оборотах 5000-5500 (примерное значение, ибо прибор аналоговый) - 
 получаю значение 6600 и выше. В чем может быть проблема?

Заменил вызов прерывания на:

attachInterrupt(digitalPinToInterrupt(RPM_PIN), rpm_count,  RISING);
вместо

attachInterrupt(RPM_PIN, rpm_count,  RISING);
Все заработало правильно.

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

Все свои пробы выкладяваю на https://github.com/OKRUgit/MOI_chemi там есть несколько примеров, И вполне можно их дополнять или исправлять он-лайн,
Если непонятно здесь так-же ничто меня не ограничит. Только правила форума, как на это посмотрит администрация форума, удобный вариан за админом..

Любой приму..

2 (2025-11-16 13:22:57 отредактировано Okruru)

Re: Дистанция для лодки ПВХ

что на сегодня. Пока изучаю этот.
Сделаю отдельно место на GitHub (отредактирую и прикреплю к этому посту) Пытаюсь пока только старт
Начать работать с ESP8266
дальше по wifi Передать управление Ардуине
Ещё короче только начало; ...
Все компоненты есть, каждый в трех экземплярах , жги нехачу));

Папка будет зваться 11Для-ESP8266

отличненько, все сработало.