Код для машинки на пульту

hubll
Offline
Зарегистрирован: 08.03.2015

Всем привет. ЕСть вот такое устройство http://www.bajdi.com/arduino-rc-car-part-2-controlling-the-servo/ код работает, но мне нужно чтобы это работало без проводов. Посредством nRF24L01. Дублирую код:

/*
 http://www.bajdi.com
 RC car controlled by analog joystick
 Micro SG90 servo to turn front wheels
 DC motor controlled by L298n 
 */

#include <Servo.h>

Servo myservo;                // create servo object to control a servo
int Y;                        // Y axis = forward/backward
int X;                        // X axis = left/right
int fspeed;           // forward speed 
int bspeed;           // backward speed
int iOldPos, iNewPos = 0;    // servo position
const int in1 = 2;    // direction pin 1
const int in2 = 4;    // direction pin 2
const int ena = 3;    // PWM pin to change speed

long previousMillis = 0;      // timer for servo
const int interval = 30;      // interval to update servo position

void setup()
{
  pinMode(in1, OUTPUT);      // connection to L298n
  pinMode(in2, OUTPUT);      // connection to L298n
  pinMode(ena, OUTPUT);      // connection to L298n
  myservo.attach(9);    // attaches the servo on pin 9 to the servo object
  myservo.write(87);    // center servo 
  delay(50);           // give servo time to change position
}


void loop()
{

  int X = analogRead(A1);  // joystick X axis
  int Y = analogRead(A0);  // joystick Y axis

  if (Y < 500)              // joystick forward
  {
    fspeed = (map(Y, 501, 0, 70, 250));
    forward(fspeed);
  }

  if (Y > 540)              // joystick backward
  {
    bspeed = (map(Y, 541, 1023, 70, 250));
    backward(bspeed);
  }
  if (Y >= 500 && Y <= 540)    // joystick is centered
  {
    stop();
  }

  if (X > 490 && X < 530 )    // joystick is centered
  {
    iNewPos = 87;     // 87 = servo in center position
  }

  if (X < 490)              
  {
    iNewPos = (map(X, 491, 0, 88, 130));
  }

  if (X > 530)
  {
    iNewPos = (map(X, 531, 1023, 86, 35));
  }

  unsigned long currentMillis = millis();

  if(iOldPos != iNewPos && currentMillis - previousMillis > interval) {	    // Issue command only if desired position changes and interval is over
    previousMillis = currentMillis;
    iOldPos = iNewPos;
    myservo.write(iNewPos);     // tell servo to go to position in variable 'pos' 
  }
}

void stop()
{
  analogWrite(ena, 0);
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
}

void forward(int fspeed)
{
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(ena, fspeed);
}

void backward(int bspeed)
{
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ena, bspeed);
}

 

hubll
Offline
Зарегистрирован: 08.03.2015

Подскажите, что нужно изменить.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

программировать немного умеешь?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

программировать немного умеешь?

Надежда умирает последней?

hubll
Offline
Зарегистрирован: 08.03.2015

не умею но хочу научится, чтобы это сделать. Но хоть с чего начать писать программу для этого?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну тогда начинай сначала

http://wiki.amperka.ru/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%83%D1%80%D0%BE%...

как пройдешь уроки пиши))

да пухлявый))

hubll
Offline
Зарегистрирован: 08.03.2015

А можешь за деньги сделать?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

hubll пишет:

А можешь за деньги сделать?

какую именно сумму вы называете деньгами?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так ты же хотел научиться

hubll
Offline
Зарегистрирован: 08.03.2015

Puhlyaviy пишет:

hubll пишет:

А можешь за деньги сделать?

какую именно сумму вы называете деньгами?

10$

hubll
Offline
Зарегистрирован: 08.03.2015

jeka_tm пишет:

так ты же хотел научиться

Я и хочу. Но время жалко. Думаю пару недель уйдет.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

изучай

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

изучай

Евгений, вы таки отказываетесь от 10 баксов? Стали наедаться?

гыыыы

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ага)