помогите со скетчем

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем lekha777, 27 май 2016.

  1. lekha777

    lekha777 Нуб

    Друзья такая ситуация, я совсем недавно занялся ардуиной, накупил много чего для машинки. Вот возникла проблема со скетчем до меня не может дойти как сделать чтоб один мотор управлялся от одного джойстика, а второй от другого. Схемы подключений и скетчи для пульта и машинки предоставлю очень прошу помочь в написании скетча. Заранее спасибо. [​IMG][​IMG] Если можно то на почту lekha777@bk.ru
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    сюда выкладывай скетчи.
     
  3. lekha777

    lekha777 Нуб

    #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, 63),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);

    }
    это пульт, сервоприводов у меня нету только два мотора.
     
  4. lekha777

    lekha777 Нуб

    #include <Servo.h>
    #include <SPI.h>
    #include "RF24.h"
    Servo servo1;
    Servo servo2;

    RF24 radio(9,10);
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int msg[1];
    int data;
    int pos;
    int fspeed; // движение в перед
    int bspeed; // движение назад
    const int in1 = 2; // управление двигателем 1
    const int in2 = 4; // управление двигателем 1
    const int ena = 3; // ШИМ для пропорциональной скорости машинки
    const int in3 = 7; // управление двигателем 1
    const int in4 = 6; // управление двигателем 1
    const int enb = 5;
    void setup()
    {
    pinMode(in1, OUTPUT); // подключаем к L298n
    pinMode(in2, OUTPUT); // подключаем к L298n
    pinMode(ena, OUTPUT); // подключаем к L298n
    pinMode(in3, OUTPUT); // подключаем к L298n
    pinMode(in4, OUTPUT); // подключаем к L298n
    pinMode(enb, OUTPUT);


    delay(50);
    radio.begin();
    radio.openReadingPipe(1,pipe);
    radio.startListening();

    }

    void loop()
    {
    if (radio.available())radio.read(msg, 1);
    if (msg[0] <63 && msg[0] >-1)data = msg[0], pos = map(data, 0, 62, 10, 50),servo1.write(pos);
    if (msg[0] <=127 && msg[0] >=64)data = msg[0], pos = map(data, 64, 127, 0, 80),servo2.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);
    }

    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);
    }
    нужно чтоб каждый мотор был привязан к своему джойстику