Ответить
  • xa4ajiypkuh Senior Member
    офлайн
    xa4ajiypkuh Senior Member

    1537

    13 лет на сайте
    пользователь #345911

    Профиль
    Написать сообщение

    1537
    # 5 апреля 2013 22:03

    вообщем, ультразвуковой дальномер - при приближении к объекту должен остановить моторы, либо развернуть, 2 датчика должны работать как 1-н, но эффективнее. 2 датчика будут установлены с переди бота, и движениями шаговиков крутить оба датчика "влево - вправо" на 30 либо 60 градусов, увеличив обзор.

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 5 апреля 2013 22:29

    в общем могут.

  • xa4ajiypkuh Senior Member
    офлайн
    xa4ajiypkuh Senior Member

    1537

    13 лет на сайте
    пользователь #345911

    Профиль
    Написать сообщение

    1537
    # 5 апреля 2013 23:38

    завтра выложу фото что я хочу сделать

  • maz_egor Junior Member
    офлайн
    maz_egor Junior Member

    52

    11 лет на сайте
    пользователь #711191

    Профиль
    Написать сообщение

    52
    # 6 апреля 2013 23:49 Редактировалось maz_egor, 1 раз.

    Protez1999, через какой драйвер двигателей (h мост) моторы к arduine подключены? И можно ваш скетч посмотреть, просто делаю тоже самое только от ИК пульта. На данный момент столкнулся с проблемой чтобы при нажатии кнопки мотор крутился, а при отпускании переставал.

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 7 апреля 2013 16:32 Редактировалось Protez1999, 2 раз(а).

    Я сервоприводы использовал там в него встроен регулятор. А так какая разница какой принцип тотже.

    код выделить все
    #include <Servo.h>
    Servo servaProverka;
    Servo servaProverka2;

    int dur =0;

    int val=0;
    int val2=0;
    int val3=0;

    int PPMin = 3; // Сигнал с пульта газ 1490-1510 нетрал
    int RCval; // длительность импульса
    int adj_val; // назначает что значение должно быть 0-255

    int PPMin2 = 2; // Сигнал с пульта газ 1490-1510 нетрал
    int RCval2; // длительность импульса
    int adj_val2; // назначает что значение должно быть 0-255

    int servoPin = 4;
    int servoPin2 = 5;

    void setup()
    {

    Serial.begin(9600);
    pinMode(PPMin, INPUT); //газ
    pinMode(PPMin2, INPUT); //газ
    servaProverka.attach(servoPin);
    servaProverka2.attach(servoPin2);
    }

    void loop()
    {
    {
    RCval = pulseIn(PPMin, HIGH, 20000); //руль
    adj_val = map(RCval, 1080, 1880, 11, 255); //
    val=map(adj_val,140,0,0,24);
    val2=map(adj_val,140,0,0,24);

    RCval2 = pulseIn(PPMin2, HIGH, 20000); //руль
    adj_val2 = map(RCval2, 1080, 1880, 0, 255); //
    val3=map(adj_val2,134,6,0,24);
    }
    //if(val>0&val<2) val=0;
    /////////////////////////
    //servaProverka.write(95);// левая 4 пин назад
    //servaProverka2.write(94); // правая 5 пин вперед
    //delay(50); //непосредственно, вызов функции измерения длинны импульса
    // Serial.print("val = " ); // запись значения в serial (просмотр в Tools->Serial Monitor)
    // Serial.print(duration);
    // Serial.println(val);

    Serial.println(adj_val2 );
    Serial.println(val3);

    if(val<-200) val=0 ,val2 =0;
    if(val>43) val=0 ,val2 =0;

    servaProverka.write(95-val+(val3*3/4));// левая 4 пин назад
    servaProverka2.write(94+val2+(val3*3/4)); // правая 5 пин вперед
    //delay(500);

    }

  • DoSBoy Dogs Team
    офлайн
    DoSBoy Dogs Team

    1794

    18 лет на сайте
    пользователь #32053

    Профиль
    Написать сообщение

    1794
    # 9 апреля 2013 17:22

    Protez1999, выкладывайте код на Pastebin и давайте ссылку. Удобнее же и подсветка есть. http://pastebin.com/76wWTwdp

    Nintendo Boy
  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 9 апреля 2013 20:20

    И тут нормально

  • xa4ajiypkuh Senior Member
    офлайн
    xa4ajiypkuh Senior Member

    1537

    13 лет на сайте
    пользователь #345911

    Профиль
    Написать сообщение

    1537
    # 11 апреля 2013 10:52
    код выделить все
    #include <Servo.h>

    const int pingPin= 7;
    const int danger= 10;
    int motorpin1= 3;
    int motorpin2= 4;
    int enablepin= 9;
    int motorpin3= 5;
    int motorpin4= 6;
    int enablepin2= 10;
    Servo myservo;
    int leftdist, rightdist;
    long duration;

    void setup()
    {
    pinMode(motorpin1, OUTPUT);
    pinMode(motorpin2, OUTPUT);
    pinMode(enablepin, OUTPUT);
    pinMode(motorpin3, OUTPUT);
    pinMode(motorpin4, OUTPUT);
    pinMode(enablepin2, OUTPUT);
    digitalWrite(enablepin, HIGH);
    digitalWrite(enablepin2, HIGH);
    myservo.attach(8);
    myservo.attach(9);
    }

    void loop()
    {
    int distanceFwd= ping();
    if (distanceFwd>danger)
    {
    digitalWrite(motorpin1, LOW);
    digitalWrite(motorpin2, HIGH);
    digitalWrite(motorpin3, LOW);
    digitalWrite(motorpin4, HIGH);
    }
    else
    {
    digitalWrite(motorpin1, LOW);
    digitalWrite(motorpin2, LOW);
    digitalWrite(motorpin3, LOW);
    digitalWrite(motorpin4, LOW);
    myservo.write(0);
    delay(500);
    rightdist= ping();
    delay(500);
    myservo.write(180);
    delay(700);
    leftdist= ping();
    delay(500);
    myservo.write(90);
    delay(100);
    compareDistance();
    }
    }

    void compareDistance()
    {
    if (leftdist>rightdist)
    {
    digitalWrite(motorpin1, LOW);
    digitalWrite(motorpin2, HIGH);
    digitalWrite(motorpin3, HIGH);
    digitalWrite(motorpin4, LOW);
    delay(500);
    }
    else if (rightdist>leftdist)
    {
    digitalWrite(motorpin1, HIGH);
    digitalWrite(motorpin2, LOW);
    digitalWrite(motorpin3, LOW);
    digitalWrite(motorpin4, HIGH);
    delay(500);
    }
    else
    {
    digitalWrite(motorpin1, HIGH);
    digitalWrite(motorpin2, LOW);
    digitalWrite(motorpin3, LOW);
    digitalWrite(motorpin4, HIGH);
    delay(1000);
    }
    }

    long ping()
    {
    pinMode(pingPin, OUTPUT);
    digitalWrite(pingPin, LOW);
    delayMicroseconds(2);
    digitalWrite(pingPin, HIGH);
    delayMicroseconds(5);
    digitalWrite(pingPin, LOW);

    pinMode(pingPin, INPUT);
    duration= pulseIn(pingPin, HIGH);

    return duration / 29 / 2;

    }

    Так красивее

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 11 апреля 2013 12:59

    не спорю

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 12 апреля 2013 00:34 Редактировалось Protez1999, 1 раз.


    новая плюшка на заказ
    добавляем 5 режимов в авто

  • NeverCrus Senior Member
    офлайн
    NeverCrus Senior Member

    748

    15 лет на сайте
    пользователь #129661

    Профиль
    Написать сообщение

    748
    # 16 апреля 2013 01:00

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

    как я понимаю нужна сама ардуйно ( какую версию лучше взять??!) , нужно ли что то еще отдельно для управления двигателями? И какой модуль взять для удалённого управления (смотрел вай-фай шайлды - но они дороговаты) ...

    заранее спасибо!

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 16 апреля 2013 01:35

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

  • NeverCrus Senior Member
    офлайн
    NeverCrus Senior Member

    748

    15 лет на сайте
    пользователь #129661

    Профиль
    Написать сообщение

    748
    # 16 апреля 2013 09:35 Редактировалось NeverCrus, 1 раз.
    Protez1999:

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

    Для синезуба есть специальные готовые проги на андройде или нужно самому сразу писать? (для управления)

    Для обычных (не шаговых) движков вроде моторшилд не обязателен? Или я что то не понимаю? Расскажите подробнее плз.

  • xa4ajiypkuh Senior Member
    офлайн
    xa4ajiypkuh Senior Member

    1537

    13 лет на сайте
    пользователь #345911

    Профиль
    Написать сообщение

    1537
    # 16 апреля 2013 10:24
    NeverCrus:

    Protez1999:

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

    Для синезуба есть специальные готовые проги на андройде или нужно самому сразу писать? (для управления)

    Для обычных (не шаговых) движков вроде моторшилд не обязателен? Или я что то не понимаю? Расскажите подробнее плз.

    для шаговых нужны драйвера, для простых нужен моторшилд, там главную роль играет микрочип, на H-Bridge. Прогу на андроид не нужно писать, их куча есть даже в маркете

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 16 апреля 2013 10:52
    NeverCrus:

    Protez1999:

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

    Для синезуба есть специальные готовые проги на андройде или нужно самому сразу писать? (для управления)

    Для обычных (не шаговых) движков вроде моторшилд не обязателен? Или я что то не понимаю? Расскажите подробнее плз.

    вы не сможите запитать двигатель контактом arduino/ ! контакт дает 50 ма 5 вольт. нормальный моторный шилд позволяет подрубать и шаговые и обычные двигатели. например такой - L293D. Я синезубом через комп управляю андройда у меня нет.

  • DoSBoy Dogs Team
    офлайн
    DoSBoy Dogs Team

    1794

    18 лет на сайте
    пользователь #32053

    Профиль
    Написать сообщение

    1794
    # 16 апреля 2013 13:11

    Чем моторшилд лучше драйвера L298N? L298N дешевле раза в 2.

    Добавлено спустя 10 минут 1 секунда

    NeverCrus:

    как я понимаю нужна сама ардуйно ( какую версию лучше взять??!) , нужно ли что то еще отдельно для управления двигателями? И какой модуль взять для удалённого управления (смотрел вай-фай шайлды - но они дороговаты) ...

    Я так понял, что для прототипирования удобно UNO. Для конечного устройства лучше будет Nano, Pro Mini, Micro.
    Про удаленное управление:
    1. Bluetooth - Передача данных по Bluetooth между Android и Arduino
    2. 2.4 MHz радио - NRF24L01 (на стороне получателя тоже понадобится ардуина)
    3. Управление по сети - EthernetShiled или его компактная версия ENC28J60.

    Добавлено спустя 1 минута 30 секунд

    Protez1999:

    NeverCrus:

    Protez1999:

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

    Для синезуба есть специальные готовые проги на андройде или нужно самому сразу писать? (для управления)

    Для обычных (не шаговых) движков вроде моторшилд не обязателен? Или я что то не понимаю? Расскажите подробнее плз.

    вы не сможите запитать двигатель контактом arduino/ ! контакт дает 50 ма 5 вольт. нормальный моторный шилд позволяет подрубать и шаговые и обычные двигатели. например такой - L293D. Я синезубом через комп управляю андройда у меня нет.

    Расскажите, как вы организовываете питание? Т.е. нужно питать ардуину и моторшилд. Т.е. два источника тока... Оба по 9V.

    Nintendo Boy
  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 16 апреля 2013 15:11

    все питается от головной платы. там есть разьем под конектор питания.или через vcc gnb кому как удобнее. У меня на балконе стоит с БП 220 вольт датчик температуры на меге

  • xa4ajiypkuh Senior Member
    офлайн
    xa4ajiypkuh Senior Member

    1537

    13 лет на сайте
    пользователь #345911

    Профиль
    Написать сообщение

    1537
    # 17 апреля 2013 07:15

    а у меня моторшилд отдельное питание. Что позволяет моему роботу кататся оч долго. На ардуино достаточно 9кроны, на моторы 4-6 батареек

  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9976

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9976
    # 17 апреля 2013 08:31
    xa4ajiypkuh:

    а у меня моторшилд отдельное питание. Что позволяет моему роботу кататся оч долго. На ардуино достаточно 9кроны, на моторы 4-6 батареек

    странное питание. получвается скорее всего паралельное.

  • maz_egor Junior Member
    офлайн
    maz_egor Junior Member

    52

    11 лет на сайте
    пользователь #711191

    Профиль
    Написать сообщение

    52
    # 17 апреля 2013 22:20

    Может моторы кому-нибудь нужны, заказал 2 штуки, а там парами оказалось - 2 лишних http://baraholka.onliner.by/viewtopic.php?t=6120570