рекламный робот

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Алесей, 3 дек 2012.

  1. Алесей

    Алесей Нуб

    всем привет. подскажите кто -нить возможноcnb Ardino.
    программировать не умею купил книжку) arduino uno, плату motor shild , датчик ультразвуковой .... что то понятно, но мало
    идея сделать робота есть представление какой будет
    не хватает мозгов по программированию (можно обсудить вопрос палатного написания скейтча) , так вопрос может ли плата управлять 4 моторами, смешано. ориентируясь от 4-6 датчиков .(движения, ик,герконы,звук ну и т.п.), возможно ли впихнуть в ардуино функцию распознавания лица как на фотоаппаратах ? кто подскажет буду благодарен.!
    вот первый робот без программы только на датчиках и таймерах без контроллера .

     
  2. nailxx

    nailxx Официальный Нерд Администратор

    С распознаванием лица автономно Arduino не справится: производительности не хватит. А всё остальное более чем возможно.
     
  3. Алесей

    Алесей Нуб

    Если сам не справится, возможно работать вместе с фотиком и снять с него показания.?
    не подскажете кто может написать скетч платно, все комплектующие какие надо я приобрету?
     
  4. hibiki

    hibiki Гик

    производительности не хватит не для оцифровки видеосигнала, а именно для распознавания лиц.
    хотя народ OpenCV вкручивает...
     
  5. Алесей

    Алесей Нуб

    так лицо распознает фотик , а Durik возьмет с него сигнал, так может получится?!
     
  6. Алесей

    Алесей Нуб

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

    // Моторы подключаются к клеммам M1+,M1-,M2+,M2-
    // Motor shield использует четыре контакта 6,5,7,4 для управления моторами
    #define DIR_RIGHT_SIDE 4
    #define SPEED_RIGHT_SIDE 5
    #define SPEED_LEFT_SIDE 6
    #define DIR_LEFT_SIDE 7
    void go(int speed, bool reverseLeft,int duration)
    {
    // Для регулировки скорости `speed` может принимать значения от 0 до 255,
    // чем болше, тем быстрее.
    analogWrite(SPEED_LEFT_SIDE, speed);
    digitalWrite(DIR_LEFT_SIDE, reverseLeft ? LOW : HIGH);
    delay(duration);
    }

    void setup()
    {
    // Настраивает выводы платы 4,5,6,7 на вывод сигналов
    for(int i = 4; i <= 7; i++)
    pinMode(i, OUTPUT);
    }
    void loop()
    {
    // 10с вперед
    go(255, false, 10000);
    // обратно
    go(100, true, 0);
    // Всё, приехали
    while (true);
    }
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Первым делом необходимо избавиться от всех вызовов delay и выполнять действия , просто следя за временем (например, раз в n мс устанавливать параметры вращения моторов). Иначе у Вас всегда моторы будут вращаться по очереди.
     
  8. Алесей

    Алесей Нуб

    да благодарю разобрался..