робот
- Войдите на сайт для отправки комментариев
Втр, 14/07/2015 - 18:59
#include <Servo.h> #include <LMotorShield.h> LMotorShield lms; int gp2; int gp3; int gp4; int gp5; int gp24; int gp25; void setup() { { Serial.begin(9600); lms.begin(LMS_SERVOS); } pinMode(3,OUTPUT); // Motor A скорость pinMode(7,OUTPUT); // Motor A направление pinMode(11,OUTPUT); // Motor B скорость pinMode(8,OUTPUT); // Motor B направление pinMode(2,OUTPUT); // Motor A2 pinMode(4,OUTPUT); // Motor B1 } void Forward() { // Подпрограмма движения робота вперед digitalWrite(3,HIGH); digitalWrite(7,LOW); digitalWrite(11,HIGH); digitalWrite(8,LOW); } void Backward(){ // Подпрограмма движения робота назад digitalWrite(3,HIGH); digitalWrite(7,HIGH); digitalWrite(11,HIGH); digitalWrite(8,HIGH); } void motorStop(){ // Подпрограмма остановки мотора digitalWrite(4,HIGH); digitalWrite(2,HIGH); } void motorRun(){ // Подпрограмма запуска мотора digitalWrite(2,LOW); digitalWrite(4,LOW); } void Spin_Left(){ // Вращение в лево digitalWrite(11,HIGH); digitalWrite(8,LOW); digitalWrite(3,HIGH); digitalWrite(7,HIGH); } void Spin_Right(){ // Вращение в право digitalWrite(3,HIGH); digitalWrite(7,LOW); digitalWrite(11,HIGH); digitalWrite(8,HIGH); } void loop() { int i; for (i=0;i<5;i++){ // Повторить 5 раз для фильтрации шума gp2=(gp2+analogRead(0)); } gp2=gp2/5; gp3=(2914/(gp2+5))+1; Serial.println(gp3); if (gp3<10){ motorStop(); lms.servoWrite(1,90); delay(500); lms.servoWrite(1,10); delay(500); for (i=0;i<5;i++){ // Повторить 5 раз для фильтрации шума gp24=(gp24+analogRead(0)); } gp24=gp24/5; gp4=(2914/(gp24+5))+2; Serial.println(gp4); lms.servoWrite(1,175); delay(500); int i; for (i=0;i<5;i++){ // Повторить 5 раз для фильтрации шума gp25=(gp25+analogRead(0)); } gp25=gp25/5; gp5=(2914/(gp25+5))+2; Serial.println(gp5); lms.servoWrite(1,90); delay(500); if (gp4<12&&gp5<12){ motorRun(); Backward(); delay(1000); Spin_Left(); delay(1118); } else { if (gp4<12){ motorRun(); Forward(); delay(300); Spin_Left(); delay(569); } if (gp5<12){ motorRun(); Forward(); delay(300); Spin_Right(); delay(569); } if (gp4>12&&gp5>12){ motorRun(); Spin_Left(); delay(569); }}} else { motorRun(); Forward(); // Двигаться вперед }}
в скетче есть серво но для чего он не как не разберусь там вроде ультрозвука в скетче нету или я что то упустил