простой проект машинки на радио

ska_ska
Offline
Зарегистрирован: 02.12.2019

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

За основу взяли

1. польский фиат https://www.alexander.com.pl/produkty/maly-konstruktor-kaszlak/

2. Ардуино нано и уно (конечно, с Китая).

3. два движка и драйвер L298

4. простая серва для передних колес

5. радиомодуль NRF24L01

6. джойстик

7. схемы и скетчи из инета

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

Поэтому у меня несколько вопросов.

1. Может кто-нибудь проверить код и подсказать как настроить серву?

2. Как сделать чтобы джойстик плавно управлял сервой? Сейчас серва дергается очень резко

3. Сделать так, чтобы серва возвращалась за джойстиком

4. как подключить диоды, которые будут:

а. передные лампы постоянно гореть

б. задние включаться когда включается задняя передача

в. поворотники мигать в зависимости от положения сервы

 

кстати, на ардуино уже свободных пинов нет :)

код пульта

#include <SPI.h>
#include "RF24.h"
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int msg[1];
int potpin_1 = A0;
int val_1;
int potpin_2 = A1;
int val_2;

void setup(void) {
  radio.begin();
  radio.openWritingPipe(pipe);

}
void loop() {
  val_1 = analogRead(potpin_1), val_1 = map(val_1, 0, 1023, 0, 127), msg[0] = val_1, radio.write(msg, 1);
  val_2 = analogRead(potpin_2), val_2 = map(val_2, 0, 1023, 128, 255), msg[0] = val_2, radio.write(msg, 1);

код машинки

// Необходимо установить библиотеку для радиомодуля nRF24
#include <Servo.h>
#include <SPI.h>
#include <RF24.h>
Servo servo1;

RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int msg[1];
int data;
int pos;
int fspeed;           // forward speed
int bspeed;           // backward speed
const int in1 = 2;    // direction pin 1
const int in2 = 4;    // direction pin 2
const int ena = 5;    // PWM pin to change speed
const int in3 = 7;    // direction pin 3
const int in4 = 8;    // direction pin 4
const int enb = 3;    // PWM pin to change speed
void setup()
{

  pinMode(in1, OUTPUT);      // connection to L298n
  pinMode(in2, OUTPUT);      // connection to L298n
  pinMode(ena, OUTPUT);      // connection to L298n
  pinMode(in3, OUTPUT);      // connection to L298n
  pinMode(in4, OUTPUT);      // connection to L298n
  pinMode(enb, OUTPUT);      // connection to L298n
  servo1.attach(6);
  delay(10);
  radio.begin();
  radio.openReadingPipe(1, pipe);
  radio.startListening();
}

void loop()
{
  if (radio.available())radio.read(msg, 1);
  if (msg[0] < 127 && msg[0] > -1)data = msg[0], pos = map(data, 0, 127, 0, 180), servo1.write(pos);


  if (msg[0] >= 128 && msg[0] <= 189)data = msg[0], bspeed = map(data, 255, 201, 0, 255), backward(bspeed);
  if (msg[0] >= 201 && msg[0] <= 255)data = msg[0], fspeed = map(data, 189, 128, 0, 255), forward(fspeed);
  if (msg[0] > 190 && msg[0] < 200)data = msg[0], stop();
}

void stop()
{

  analogWrite(ena, 0);
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  analogWrite(enb, 0);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}

void forward(int fspeed)
{

  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(ena, fspeed);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enb, fspeed);
}

void backward(int bspeed)
{

  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ena, bspeed);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite(enb, bspeed);
}

спасибо!

ska_ska
Offline
Зарегистрирован: 02.12.2019

а коменты здесь стираются автоматом или это у модера есть специальные правила?

ребята, у меня еще не работает личка (или я настолько криворук, что ее не нашел), черканите на gitarist123@yandex.ru

спасибо!

bwn
Offline
Зарегистрирован: 25.08.2014

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

ska_ska
Offline
Зарегистрирован: 02.12.2019

было три отклика, но их потерли

хз почему

bwn
Offline
Зарегистрирован: 25.08.2014

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

ska_ska
Offline
Зарегистрирован: 02.12.2019

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

У ЕвгенийП тележка на джойстике, возможно он смог бы чем-то помочь

sadman41
Offline
Зарегистрирован: 19.10.2016

ska_ska пишет:

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

Ну, положим, я могу сколько-то времени потратить на вашу модель. Какая сумма для Вас будет непечальна?

ska_ska
Offline
Зарегистрирован: 02.12.2019

sadman41 пишет:

ska_ska пишет:

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

Ну, положим, я могу сколько-то времени потратить на вашу модель. Какая сумма для Вас будет непечальна?

500?

rst
Offline
Зарегистрирован: 25.06.2018

bwn пишет:
комменты если и труться, то только хамские и политота.

Не только.

PS: Проследите за этим моим откликом.  ;)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

rst пишет:

bwn пишет:
комменты если и труться, то только хамские и политота.

Не только.

PS: Проследите за этим моим откликом.  ;)

нет, тут только политота и хамство трётся )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

rst пишет:

bwn пишет:
комменты если и труться, то только хамские и политота.

Не только.

PS: Проследите за этим моим откликом.  ;)

нет, тут только политота и хамство трётся )))

И аллегир. 

bwn
Offline
Зарегистрирован: 25.08.2014

DetSimen пишет:

ua6em пишет:

rst пишет:

bwn пишет:
комменты если и труться, то только хамские и политота.

Не только.

PS: Проследите за этим моим откликом.  ;)

нет, тут только политота и хамство трётся )))

И аллегир. 

Но он не rst.

To rst, иногда еще бывает, когда Вы кого-то процитировали, а его потерли, тогда Ваш пост с цитатой тоже исчезнет. Вас, в потертых, не могу припомнить. Если где-то было такое, дайте ссылку на тему, посмотрю.

P/S Дида, и это, поаккуратнее имена произноси, я про него вообще ни слова не сказал, а он 21 пост набомбил в этой теме.))))

rst
Offline
Зарегистрирован: 25.06.2018

bwn пишет:
To rst, иногда еще бывает, когда Вы кого-то процитировали, а его потерли, тогда Ваш пост с цитатой тоже исчезнет.
Это возможно. Не обращал внимания. Замечал что исчезали сразу целые цепочки сообщений. От разных авторов.

bwn пишет:
Вас, в потертых, не могу припомнить. Если где-то было такое, дайте ссылку на тему, посмотрю.
Я не злопамятный. Журналов обиды не веду.  ;)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

У ЕвгенийП тележка на джойстике, возможно он смог бы чем-то помочь

С чего бы? Разве я есть в списке исполнителей? Я не беру здесь заказов от слова совсем (и, уж тем более, от питерских коней :-))). Так, могу помочь в обсуждении, но не более того. Вот, кстати, помогаю. 

ska_ska пишет:

500?

Вы пишите полностью, а то никто ведь не знает что Вы имели в виду, доллары, евро, или может фунты какие-нибудь.

rst
Offline
Зарегистрирован: 25.06.2018

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

ska_ska
Offline
Зарегистрирован: 02.12.2019

500 российских рублей тому господину, который осмелится прекратить флуд и пофиксить код.

 

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ska_ska пишет:

sadman41 пишет:

ska_ska пишет:

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

Ну, положим, я могу сколько-то времени потратить на вашу модель. Какая сумма для Вас будет непечальна?

500?

это если он встанет непонятно с какой ноги и по сути еще вам приплатит (своим временем) )))

только не говорите, что этот код компилируется:
 

void loop() {
  val_1 = analogRead(potpin_1), val_1 = map(val_1, 0, 1023, 0, 127), msg[0] = val_1, radio.write(msg, 1);
  val_2 = analogRead(potpin_2), val_2 = map(val_2, 0, 1023, 128, 255), msg[0] = val_2, radio.write(msg, 1);

 

bwn
Offline
Зарегистрирован: 25.08.2014

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

ska_ska
Offline
Зарегистрирован: 02.12.2019

ua6em пишет:

ska_ska пишет:

sadman41 пишет:

ska_ska пишет:

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

Ну, положим, я могу сколько-то времени потратить на вашу модель. Какая сумма для Вас будет непечальна?

500?

это если он встанет непонятно с какой ноги и по сути еще вам приплатит (своим временем) )))

только не говорите, что этот код компилируется:
 

void loop() {
  val_1 = analogRead(potpin_1), val_1 = map(val_1, 0, 1023, 0, 127), msg[0] = val_1, radio.write(msg, 1);
  val_2 = analogRead(potpin_2), val_2 = map(val_2, 0, 1023, 128, 255), msg[0] = val_2, radio.write(msg, 1);

 

компилируется на столько, на сколько я это понимаю. В конце концов моторчики реагируют на вперед-назад

sadman41
Offline
Зарегистрирован: 19.10.2016

ska_ska пишет:

500 российских рублей тому господину, который осмелится прекратить флуд и пофиксить код.

Приобретите за 500р готовый комплект с необходимой функциональностью.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ska_ska пишет:

ua6em пишет:

ska_ska пишет:

sadman41 пишет:

ska_ska пишет:

я так понимаю, я попал не по адресу и помощи мне надо искать на других форумах?

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

Ну, положим, я могу сколько-то времени потратить на вашу модель. Какая сумма для Вас будет непечальна?

500?

это если он встанет непонятно с какой ноги и по сути еще вам приплатит (своим временем) )))

только не говорите, что этот код компилируется:
 

void loop() {
  val_1 = analogRead(potpin_1), val_1 = map(val_1, 0, 1023, 0, 127), msg[0] = val_1, radio.write(msg, 1);
  val_2 = analogRead(potpin_2), val_2 = map(val_2, 0, 1023, 128, 255), msg[0] = val_2, radio.write(msg, 1);

 

компилируется на столько, на сколько я это понимаю. В конце концов моторчики реагируют на вперед-назад

можно поинтересоваться в какой версии IDE?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Да у него моторчики дрыгаются когда ресет проходит :), при неудачной прошивке :)