Помощь по сборки 4wd робота

Sahalin92
Offline
Зарегистрирован: 19.11.2017

Здраствуйте! Нужна помощь, я только начинаю осваивать arduino. Купил коплект для сборки робота-машики. В комплекте - Arduino Uno, серво-привод, 4 двигателя, ультро-звуковой датчик и драйвер управления двигателями L298. Проблема в том, что сам не могу пока написать скеч ( из за отсутсвия знаний), а в интернете везде скетчи только для варианта с двумя драйверами управления двигателями L298N (они отличаются). Помогите пожалуйста как исправить скеч? Спасибо!

 

#define Trig 8

#define Echo 9
#include <Servo.h>
 
Servo servo;
 
int ugol = 90;
int smotrim_vlevo = 0;
int smotrim_vpravo = 0;
int smotrim_priamo = 0;
int vremia;
 
const int in11 = 0;    // L298N-1 pin 1
const int in12 = 1;    // L298N-1 pin 2
const int in13 = 2;    // L298N-1 pin 2
const int in14 = 3;    // L298N-1 pin 3
 
const int in21 = 4;    // L298N-2 pin 1
const int in22 = 5;    // L298N-2 pin 2
const int in23 = 6;    // L298N-2 pin 2
const int in24 = 7;    // L298N-2 pin 3
 
void setup() 
{  
  servo.attach(10); // серву подключаем к 10 пину
  
  pinMode(Trig, OUTPUT); // выход 
  pinMode(Echo, INPUT); // вход 
  
  pinMode(in11, OUTPUT);      // выход на L298n
  pinMode(in12, OUTPUT);      // выход на L298n
  pinMode(in13, OUTPUT);      // выход на L298n
  pinMode(in14, OUTPUT);      // выход на L298n
    
  pinMode(in21, OUTPUT);      // выход на L298n
  pinMode(in22, OUTPUT);      // выход на L298n
  pinMode(in23, OUTPUT);      // выход на L298n
  pinMode(in24, OUTPUT);      // выход на L298n
 
 
 
void ehat_priamo(){          
 
  
      digitalWrite(in11, LOW);
      digitalWrite(in12, HIGH);
 
      digitalWrite(in13, LOW);
      digitalWrite(in14, HIGH);
 
      digitalWrite(in21, LOW);
      digitalWrite(in22, HIGH);
 
      digitalWrite(in23, HIGH);
      digitalWrite(in24, LOW);
}
 
void ehat_vpravo()
{
 
 
 
 
      digitalWrite(in21, LOW);
      digitalWrite(in22, HIGH);
      
      digitalWrite(in23, HIGH);
      digitalWrite(in24, LOW);
}
 
 
 
void ehat_vlevo(){
 
 
      digitalWrite(in21, HIGH);
      digitalWrite(in22, LOW);
      
      digitalWrite(in23, LOW);
      digitalWrite(in24, HIGH);
 
}
 
 
void stoiat(){              // стоять
      digitalWrite(in11, LOW);
      digitalWrite(in12, LOW);
 
      digitalWrite(in13, LOW);
      digitalWrite(in14, LOW);
 
      digitalWrite(in21, LOW);
      digitalWrite(in22, LOW);
      
      digitalWrite(in23, LOW);
      digitalWrite(in24, LOW);
}
 
void kak_meriat_sleva(){               
  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  vremia = pulseIn(Echo, HIGH);
  smotrim_vlevo = vremia/58;
}
 
void kak_meriat_priamo(){        
   digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  vremia = pulseIn(Echo, HIGH);
  smotrim_priamo = vremia/58;
}
 
void kak_meriat_sprava(){           
   digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
  vremia = pulseIn(Echo, HIGH);
  smotrim_vpravo = vremia/58;
}
 
 
void loop(){
  kak_meriat_priamo();
  if(smotrim_priamo<30){
       stoiat();
    delay(100);
    for(ugol=90;ugol>=10;ugol--){
      servo.write(ugol);
      delay(5);
    }
    
    kak_meriat_sprava();
   delay(100);
for(ugol=10;ugol<=170;ugol++){
  servo.write(ugol);
  delay(5);
}
 
  kak_meriat_sleva();
  delay(100);
  for(ugol=170;ugol>=90;ugol--){
    servo.write(ugol);
    delay(5);
  }
  
  if(smotrim_vpravo < smotrim_vlevo){
    
 
    ehat_vpravo();
    delay(400);
    stoiat();
  }
  
  else{
 
    ehat_vlevo();
    delay(400);
   stoiat();
  }
       
  }
  
else{
ehat_priamo();
}
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Sahalin92 пишет:

Помогите пожалуйста как исправить скеч?

Почитайте вот это

№1 Программирование для совсем чайников

№2 Книга Блума с файлами примеров

и исправьте.

Sahalin92 пишет:

Спасибо!

Не за что!

kalapanga
Offline
Зарегистрирован: 23.10.2016

Странно Вы "начинаете осваивать ардуино". С просьбы - сделайте всё за меня. Ну неужели всё удовольствие в том, чтобы китайская машинка проехалась туда-сюда? Что, разобраться самому совсем неинтересно? Лень? Так же как и найти комплект готовых скетчей для этого конструктора? Кстати, ссылка на такой комплект есть и на этом форуме...