Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Re: Рыбаки, ау!

Вс фев 05, 2023 20:21:46

Если прошивка зальётся в МК нормально, то красный светодиод начнёт переодически мигать… двараза мигнёт, потом небольшая пвуза, затем опять помигает, потом опять пвуза и тд… таким образом даже неотключая программатор от МК вы увидите прошилась программа или нет……

Сегодня случайно наткнулся на вот такуюпрограмку - XLoader, и с перврго раза залил файл НЕХ в адруину, диодик заморгал два раза, как вы и говорили!
https://3direct.ru/file/soft-i-drayvera/xloader.html

Re: Рыбаки, ау!

Вс фев 05, 2023 23:48:45

Это хорошо... можно попробовать и эту программу для загрузки hex файла в ардуину... может когда и пригодится...
http://www.getchip.net/posts/136-gc-upl ... a-arduino/

Re: Рыбаки, ау!

Чт фев 09, 2023 01:29:42

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


#include <Servo.h>
Servo a;
void setup()
{
a.attach(A1);
pinMode (4,INPUT);
pinMode (3,INPUT);
pinMode (2,INPUT);
}
void loop()
{
a. write(0);
delay(1000);
if(digitalRead (3) == 1)
{
a. write(5);
delay(200);
a.write(90);
delay(200);
a. write(10);
delay(200);
a.write(90);
delay(200);
a. write(20);
delay(200);
a. write(90);
delay(200);
a. write(30);
delay(200);
a.write(90);
delay(200);
a. write(40);
delay(200);
a. write(90);
delay(200);
a. write(50);
delay(200);
a.write(90);
delay(200);
a. write(60);
delay(200);
a. write(0);
delay(1000);
}
{

if(digitalRead (2) == 1)
{
a. write(40);
delay(800);
a. write(90);
delay(800);
a. write(60);
delay(500);

}
{

if(digitalRead (4) == 1)
{
a. write(90);
delay(500);
a. write(0);
delay(1000);
}
}
}
}

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

Re: Рыбаки, ау!

Чт фев 09, 2023 02:58:58

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

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

Re: Рыбаки, ау!

Ср фев 15, 2023 23:06:10

Программа, что я выше представил, расчитана на поворот сервопривода 90 градусов, это хорошо, если хлыстик приделать прям к сервоприводу, а если делать подставку для удочки, как у меня, то нужно 180 градусов. И чтобы хлыстик лучше играл, разбивать шаг нужно не 5,90,10,90,... а через десятку, как внизу. 5,15,10,25,20,35,... Вот скетч.
#include <Servo.h>
Servo a;
void setup()
{
a.attach(A1);
pinMode (A4,INPUT);
pinMode (A3,INPUT);
pinMode (A2,INPUT);
}
void loop()
{
a. write(0);
delay(1000);
if(digitalRead (A4) == 1)
{
a. write(5);
delay(200);
a.write(15);
delay(200);
a. write(10);
delay(200);
a.write(25);
delay(200);
a. write(20);
delay(200);
a. write(35);
delay(200);
a. write(30);
delay(200);
a.write(45);
delay(200);
a. write(40);
delay(200);
a. write(55);
delay(200);
a. write(50);
delay(200);
a.write(65);
delay(200);
a. write(60);
delay(200);
a. write(75);
delay(200);
a.write(70);
delay(200);
a. write(85);
delay(200);
a. write(80);
delay(200);
a. write(95);
delay(200);
a.write(90);
delay(200);
a.write(105);
delay(200);
a.write(100);
delay(200);
a. write(115);
delay(200);
a. write(110);
delay(200);
a. write(125);
delay(200);
a.write(120);
delay(200);
a. write(135);
delay(200);
a. write(130);
delay(200);
a. write(145);
delay(200);
a.write(140);
delay(200);
a. write(155);
delay(200);
a. write(150);
delay(200);
a.write(165);
delay(200);
a. write(160);
delay(200);
a. write(170);
delay(2000);
a. write(0);
delay(1000);

}
{

if(digitalRead (A3) == 1)
{
a. write(40);
delay(800);
a. write(90);
delay(800);
a. write(120);
delay(800);
a. write(170);
delay(800);
a. write(170);
delay(2000);
a. write(0);
delay(1000);

}
{

if(digitalRead (A2) == 1)
{
a. write(180);
delay(500);
a. write(180);
delay(2000);
a. write(0);
delay(1000);
}
}
}
}

Удочка отпущена 0 градусов

Изображение

Удочка поднята 170 градусов, 180 не целесообраззно, уже почти нет хода.

Изображение

вот так закрепил сервопривод

Изображение Изображение

Re: Рыбаки, ау!

Вс фев 19, 2023 01:49:28

скетч на 6 программ
Я взял двойной переключатель 4 положения, первое положение пауза, три программы через переключатель
#include <Servo.h>
Servo a;
void setup()
{
a.attach(A1);
pinMode (A5,INPUT);
pinMode (A4,INPUT);
pinMode (A3,INPUT);
pinMode (A2,INPUT);
pinMode (4,INPUT);
pinMode (3,INPUT);
}
void loop()
{
a. write(0);
delay(1000);
if(digitalRead (A2) == 1)
{
a. write(5);
delay(200);
a. write(10);
delay(200);
a. write(15);
delay(200);
a. write(20);
delay(200);
a. write(25);
delay(200);
a. write(30);
delay(200);
a. write(35);
delay(200);
a. write(40);
delay(200);
a. write(45);
delay(200);
a. write(50);
delay(200);
a. write(55);
delay(200);
a. write(60);
delay(200);
a. write(65);
delay(200);
a. write(70);
delay(200);
a. write(75);
delay(200);
a. write(80);
delay(200);
a. write(85);
delay(200);
a. write(90);
delay(200);
a. write(95);
delay(200);
a. write(100);
delay(200);
a. write(105);
delay(200);
a. write(110);
delay(200);
a. write(115);
delay(200);
a. write(120);
delay(200);
a. write(125);
delay(200);
a. write(130);
delay(200);
a. write(135);
delay(200);
a. write(140);
delay(200);
a. write(145);
delay(200);
a. write(150);
delay(200);
a.write(155);
delay(200);
a. write(160);
delay(200);
a. write(165);
delay(2000);

}
{

if(digitalRead (A3) == 1)
{
a. write(5);
delay(400);
a. write(10);
delay(400);
a. write(15);
delay(400);
a. write(20);
delay(400);
a. write(25);
delay(400);
a. write(30);
delay(400);
a. write(35);
delay(400);
a. write(40);
delay(400);
a. write(45);
delay(400);
a. write(50);
delay(400);
a. write(55);
delay(400);
a. write(60);
delay(400);
a. write(65);
delay(400);
a. write(70);
delay(400);
a. write(75);
delay(400);
a. write(80);
delay(400);
a. write(85);
delay(400);
a. write(90);
delay(400);
a. write(95);
delay(400);
a. write(100);
delay(400);
a. write(105);
delay(400);
a. write(110);
delay(400);
a. write(115);
delay(400);
a. write(120);
delay(400);
a. write(125);
delay(400);
a. write(130);
delay(400);
a. write(135);
delay(400);
a. write(140);
delay(400);
a. write(145);
delay(400);
a. write(150);
delay(400);
a.write(155);
delay(400);
a. write(160);
delay(400);
a. write(165);
delay(2000);

}
{

if(digitalRead (A5) == 1)
{
a. write(40);
delay(800);
a. write(90);
delay(800);
a. write(120);
delay(800);
a. write(170);
delay(800);
a. write(170);
delay(2000);
a. write(0);
delay(1000);
}

{

if(digitalRead (3) == 1)
{
a. write(170);
delay(500);
a. write(170);
delay(2000);
a. write(-0);
delay(1000);
}
{

if(digitalRead (4) == 1)
{
a. write(40);
delay(400);
a. write(10);
delay(800);
a. write(90);
delay(400);
a. write(40);
delay(800);
a. write(120);
delay(400);
a. write(60);
delay(800);
a. write(160);
delay(400);
a. write(90);
delay(800);
a. write(170);
delay(1000);
a. write(0);
delay(1000);
}
{

if(digitalRead (A4) == 1)
{
a. write(5);
delay(200);
a.write(15);
delay(200);
a. write(10);
delay(200);
a.write(25);
delay(200);
a. write(20);
delay(200);
a. write(35);
delay(200);
a. write(30);
delay(200);
a.write(45);
delay(200);
a. write(40);
delay(200);
a. write(55);
delay(200);
a. write(50);
delay(200);
a.write(65);
delay(200);
a. write(60);
delay(200);
a. write(75);
delay(200);
a.write(70);
delay(200);
a. write(85);
delay(200);
a. write(80);
delay(200);
a. write(95);
delay(200);
a.write(90);
delay(200);
a.write(105);
delay(200);
a.write(100);
delay(200);
a. write(115);
delay(200);
a. write(110);
delay(200);
a. write(125);
delay(200);
a.write(120);
delay(200);
a. write(135);
delay(200);
a. write(130);
delay(200);
a. write(145);
delay(200);
a.write(140);
delay(200);
a. write(155);
delay(200);
a. write(150);
delay(200);
a.write(165);
delay(200);
a. write(160);
delay(200);
a. write(170);
delay(2000);
a. write(0);
delay(1000);

}
}
}
}
}
}
}

Изображение Изображение

Re: Рыбаки, ау!

Вс фев 19, 2023 14:59:15

осталось добавить радио пульт... чтоб не бегать и нажимать кнопки вручную))
пульт для удочки.jpg
(22.44 KiB) Скачиваний: 48

ну а если делать самодельную удочку... то сразу и индикатор поклёвки к ней))
датчик поклёвки.jpg
(42.73 KiB) Скачиваний: 52

а если делать индикатор поклёвки... то сразу и пульт к нему ))
пульт.jpg
(26.77 KiB) Скачиваний: 46

ну не бегать же каждый раз... смотреть... клюёт - не клюёт ))
пульт нам сам сообщит когда будет клевать))
:))

Re: Рыбаки, ау!

Сб мар 04, 2023 12:02:08

Вот такую штуку хочу сделать

Могу попробовать написать тестовую прошивку для такого движка… правда не на языке ардуины… прошивка будет в виде файла HEX…

что за язык такой?
если вам платят деньги то надо предоставить исходник
а хекс это скомпилированный исходник

Добавлено after 2 minutes 24 seconds:
лениво видосы смотреть
в чём суть этой удочки?
какой алгоритм и на чём основан?

Re: Рыбаки, ау!

Пн мар 06, 2023 19:18:43

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

Re: Рыбаки, ау!

Вс янв 07, 2024 22:44:26

Граждане адруиншики, подскажите как сдклать так, чтобы скорость отпусувния блесны стала меньше? Не нашёл я в скетче где регулировать скорость привода. Посмотрите как быстро отпускается.

Re: Рыбаки, ау!

Пн янв 08, 2024 16:40:07

java писал(а):Не нашёл я в скетче где регулировать скорость привода.

java писал(а):зачем мне исходник?Что мне с ним делать, если программа уже написана и полностью соответствует моим задачам?

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

для заливки в микроконтроллер используется файл уже скомпилированный - это машинные инструкции для микроконтроллера.

а сидеть разбираться в машинных инструкциях для микроконтроллера... никто не будет))
:tea:

Re: Рыбаки, ау!

Ср янв 10, 2024 00:25:43

Причём здесь машинные инструкции? Скетч для адруины это и есть исходник, вы как с луны свалились, ей богу! Это для микроконтроллера приходилось писать исходник, затем компелировать, потом через програматор заливать в микроконтроллер, в адруино даже програматор не нужен, чего я вобще расказываю вам прописные истины, смешно просто!

Re: Рыбаки, ау!

Чт янв 18, 2024 20:03:29

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

#include <Servo.h>
Servo a;
void setup()
{
a.attach(A1);
pinMode (A5,INPUT);
pinMode (A4,INPUT);
pinMode (A3,INPUT);
pinMode (A2,INPUT);
pinMode (4,INPUT);
pinMode (3,INPUT);
}
void loop()
{
a. write(0); // Чтобы выстовить привод горизонтально
delay(1000);
if(digitalRead (A2) == 1) //работает первая кнопка
{
a. write(5);
delay(200);
a. write(10);
delay(200);
a. write(15);
delay(200);
a. write(20);
delay(200);
a. write(25);
delay(200);
a. write(30);
delay(200);
a. write(35);
delay(200);
a. write(40);
delay(200);
a. write(45);
delay(200);
a. write(50);
delay(200);
a. write(55);
delay(200);
a. write(60);
delay(200);
a. write(65);
delay(200);
a. write(70);
delay(200);
a. write(75);
delay(200);
a. write(80);
delay(200);
a. write(85);
delay(200);
a. write(90);
delay(200);
a. write(95);
delay(200);
a. write(100);
delay(200);
a. write(105);
delay(200);
a. write(110);
delay(200);
a. write(115);
delay(200);
a. write(120);
delay(200);
a. write(125);
delay(200);
a. write(130);
delay(200);
a. write(135);
delay(200);
a. write(140);
delay(200);
a. write(145);
delay(200);
a. write(150);
delay(200);
a.write(155);
delay(200);
a. write(160);
delay(200);
a. write(165);
delay(2000);
a. write(160);
delay(200);

a. write(150);
delay(200);

a. write(140);
delay(200);

a. write(130);
delay(200);

a. write(120);
delay(200);

a. write(110);
delay(200);

a. write(100);
delay(200);
a. write(90);
delay(200);
a. write(80);
delay(200);

a. write(70);
delay(200);

a. write(60);
delay(200);

a. write(50);
delay(200);

a. write(40);
delay(200);

a. write(30);
delay(200);

a. write(20);
delay(200);

a. write(10);
delay(200);
a. write(0);
delay(1000);
}
{

if(digitalRead (A3) == 1)//Работает вторая кнопка
{
a. write(5);
delay(400);
a. write(10);
delay(400);
a. write(15);
delay(400);
a. write(20);
delay(400);
a. write(25);
delay(400);
a. write(30);
delay(400);
a. write(35);
delay(400);
a. write(40);
delay(400);
a. write(45);
delay(400);
a. write(50);
delay(400);
a. write(55);
delay(400);
a. write(60);
delay(400);
a. write(65);
delay(400);
a. write(70);
delay(400);
a. write(75);
delay(400);
a. write(80);
delay(400);
a. write(85);
delay(400);
a. write(90);
delay(400);
a. write(95);
delay(400);
a. write(100);
delay(400);
a. write(105);
delay(400);
a. write(110);
delay(400);
a. write(115);
delay(400);
a. write(120);
delay(400);
a. write(125);
delay(400);
a. write(130);
delay(400);
a. write(135);
delay(400);
a. write(140);
delay(400);
a. write(145);
delay(400);
a. write(150);
delay(400);
a.write(155);
delay(400);
a. write(160);
delay(400);
a. write(165);
delay(2000);
a. write(160);
delay(200);

a. write(150);
delay(200);

a. write(140);
delay(200);

a. write(130);
delay(200);

a. write(120);
delay(200);

a. write(110);
delay(200);

a. write(100);
delay(200);
a. write(90);
delay(200);
a. write(80);
delay(200);

a. write(70);
delay(200);

a. write(60);
delay(200);

a. write(50);
delay(200);

a. write(40);
delay(200);

a. write(30);
delay(200);

a. write(20);
delay(200);

a. write(10);
delay(200);
a. write(0);
delay(1000);
}
{

if(digitalRead (A5) == 1)
{
a. write(40);
delay(800);
a. write(90);
delay(800);
a. write(120);
delay(800);
a. write(170);
delay(800);
a. write(170);
delay(2000);
a. write(160);
delay(200);

a. write(150);
delay(200);

a. write(140);
delay(200);

a. write(130);
delay(200);

a. write(120);
delay(200);

a. write(110);
delay(200);

a. write(100);
delay(200);
a. write(90);
delay(200);
a. write(80);
delay(200);

a. write(70);
delay(200);

a. write(60);
delay(200);

a. write(50);
delay(200);

a. write(40);
delay(200);

a. write(30);
delay(200);

a. write(20);
delay(200);

a. write(10);
delay(200);
a. write(0);
delay(1000);


}

{

if(digitalRead (3) == 1)//Работает вторая кнопка
{
a. write(170); //Дёрнется на 180 градусов
delay(500);
a. write(170);
delay(2000);
a. write(-0);
delay(1000);
}
{

if(digitalRead (4) == 1)
{
a. write(40);
delay(400);
a. write(10);
delay(800);
a. write(90);
delay(400);
a. write(40);
delay(800);
a. write(120);
delay(400);
a. write(60);
delay(800);
a. write(160);
delay(400);
a. write(90);
delay(800);
a. write(170);
delay(1000);
a. write(160);
delay(200);

a. write(150);
delay(200);

a. write(140);
delay(200);

a. write(130);
delay(200);

a. write(120);
delay(200);

a. write(110);
delay(200);

a. write(100);
delay(200);
a. write(90);
delay(200);
a. write(80);
delay(200);

a. write(70);
delay(200);

a. write(60);
delay(200);

a. write(50);
delay(200);

a. write(40);
delay(200);

a. write(30);
delay(200);

a. write(20);
delay(200);

a. write(10);
delay(200);
a. write(0);
delay(1000);

}
{

if(digitalRead (A4) == 1)
{
a. write(5);
delay(200);
a.write(15);
delay(200);
a. write(10);
delay(200);
a.write(25);
delay(200);
a. write(20);
delay(200);
a. write(35);
delay(200);
a. write(30);
delay(200);
a.write(45);
delay(200);
a. write(40);
delay(200);
a. write(55);
delay(200);
a. write(50);
delay(200);
a.write(65);
delay(200);
a. write(60);
delay(200);
a. write(75);
delay(200);
a.write(70);
delay(200);
a. write(85);
delay(200);
a. write(80);
delay(200);
a. write(95);
delay(200);
a.write(90);
delay(200);
a.write(105);
delay(200);
a.write(100);
delay(200);
a. write(115);
delay(200);
a. write(110);
delay(200);
a. write(125);
delay(200);
a.write(120);
delay(200);
a. write(135);
delay(200);
a. write(130);
delay(200);
a. write(145);
delay(200);
a.write(140);
delay(200);
a. write(155);
delay(200);
a. write(150);
delay(200);
a.write(165);
delay(200);
a. write(160);
delay(200);
a. write(170);
delay(2000);
a. write(160);
delay(200);

a. write(150);
delay(200);

a. write(140);
delay(200);

a. write(130);
delay(200);

a. write(120);
delay(200);

a. write(110);
delay(200);

a. write(100);
delay(200);
a. write(90);
delay(200);
a. write(80);
delay(200);

a. write(70);
delay(200);

a. write(60);
delay(200);

a. write(50);
delay(200);

a. write(40);
delay(200);

a. write(30);
delay(200);

a. write(20);
delay(200);

a. write(10);
delay(200);
a. write(0);
delay(1000);


}
}
}
}
}
}
}

Re: Рыбаки, ау!

Пт янв 19, 2024 18:23:10

А вы чтонить уже на это устройство - поймали ?

На сколько оперативность установки(развёртывания) всего этого ?

Re: Рыбаки, ау!

Вт янв 23, 2024 20:38:26

буду на рыбалке, отсниму видео.

Re: Рыбаки, ау!

Вс янв 28, 2024 20:39:27

Re: Рыбаки, ау!

Вс янв 28, 2024 21:48:07


Спасибо!
Очень интересно, и с уловом.
Моя удочка улова не принесла, ибо совершил
Глупейший прокол. Не в электронике. :)))
Функционал у меня шире был:
Игра вверх и вниз с регулируемым шагом.
Реакция на поклевку - подсечка.
По результу во время контрольного ожидания
Либо продолжение игры, если не обнаружена рыба,
Либо вытаскивание на лед и отвод в сторону от лунки.
:)))
Ответить