Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2014, 10:48   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Для обьединения скетчей нужно добавить функции управления моторами

PHP код:
void robot_go()
      {
       
motor1.run(FORWARD); //движемся вперед
       
motor2.run(FORWARD); //движемся вперед
       
motor3.run(FORWARD); //движемся вперед
       
motor4.run(FORWARD); //движемся вперед
     
}

void robot_back()
     {
       
motor1.run(BACKWARD); //движемся назад
       
motor2.run(BACKWARD); //движемся назад
       
motor3.run(BACKWARD); //движемся назад
       
motor4.run(BACKWARD); //движемся назад
     
}

void robot_left()
     {
       
motor2.run(FORWARD); //Повернем влево
       
motor3.run(FORWARD); //Повернем влево 
     
}

void robot_right()
     {
       
motor1.run(FORWARD); //Повернем вправо
       
motor4.run(FORWARD); //Повернем вправо    
     
}

void robot_stop()
{
       
motor1.run(RELEASE); //Останавливаем колеса
       
motor2.run(RELEASE); //Останавливаем колеса
       
motor3.run(RELEASE); //Останавливаем колеса
       
motor4.run(RELEASE); //Останавливаем колеса

Admin вне форума   Ответить с цитированием
Старый 06.08.2014, 10:58   #2
NeaWeaR
Senior Member
 
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0
NeaWeaR is an unknown quantity at this point
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Цитата:
Сообщение от Admin Посмотреть сообщение
Для обьединения скетчей нужно добавить функции управления моторами
а эти объявления функций в библиотеку добавить? я пробовал на типе этого, вот:

PHP код:
#include <AFMotor.h> // Подключаем библиотеку для управления двигателями 

AF_DCMotor motor1(1); //создаем мотор №1 
AF_DCMotor motor2(2); //создаем мотор №2 
AF_DCMotor motor3(3); //создаем мотор №1 
AF_DCMotor motor4(4); //создаем мотор №2 
int led 53//встроенный светодиод (Будет мигать как только Ардуино получит данные с роутера)
int incomingByte 0//в этой переменной храним поступившие данные
int speedgo 0//переменная для хранения скорости движения

void setup() 
{
  
Serial.begin(9600); //включаем передачу данных на скорости 9600 бит/c
  
pinMode(ledOUTPUT); //указываем выход на пин 13 (Светодиод, индикатор данных)
  
motor1.setSpeed(255); //Скорость движка №1
  
motor2.setSpeed(255); //Скорость движка №2
  
motor3.setSpeed(255); //Скорость движка №1
  
motor4.setSpeed(255); //Скорость движка №2
}

void loop() 

  if(
Serial.available() > 0
   { 
     
digitalWrite(ledHIGH); //Зажигаем встроенный светодиод
     
incomingByte Serial.read();
     switch(
incomingByte){
      case 
'w':{
       
motor1.run(FORWARD); //движемся вперед
       
motor2.run(FORWARD); //движемся вперед
       
motor3.run(FORWARD); //движемся вперед
       
motor4.run(FORWARD); //движемся вперед
       
break;
      } 
      case 
'a':{
       
motor2.run(FORWARD); //Повернем влево
       
motor3.run(FORWARD); //Повернем влево
       
       
motor1.run(BACKWARD); //Останавливаем колеса
       
motor4.run(BACKWARD); //Останавливаем колеса
       
delay(250); //Включаем на 250 милисек
       
break;
      }
      case 
's':{
       
motor1.run(BACKWARD); //движемся вперед
       
motor2.run(BACKWARD); //движемся вперед
       
motor3.run(BACKWARD); //движемся вперед
       
motor4.run(BACKWARD); //движемся вперед
       
break;
      }
      case 
'd':{
       
motor1.run(FORWARD); //Повернем вправо
       
motor4.run(FORWARD); //Повернем вправо
       
       
motor2.run(BACKWARD); //Останавливаем колеса
       
motor3.run(BACKWARD); //Останавливаем колеса
       
break;
      }
      case 
'x':{
       
motor1.run(RELEASE);
       
motor2.run(RELEASE);
       
motor3.run(RELEASE); 
       
motor4.run(RELEASE); 
       break;
      }
     }
     
digitalWrite(ledLOW); //Зажигаем встроенный светодиод
    
}             

по сути то же самое, что и в вашем коде, только вместо вызова функций сразу код выполнения) мне бы именно с Dx_high, Dx_low чтобы работал)

Последний раз редактировалось NeaWeaR; 06.08.2014 в 11:10.
NeaWeaR вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 6 (пользователей: 0 , гостей: 6)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:51. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика