roboforum.ruТехнический форум по робототехнике. |
|
|
Duhas писал(а):я бы посоветовал поставить отдельный мозг. а этому отдавать команды по УАРТу
ИДЕЯ!!! отключайте питание при модификации системы.slom писал(а): какие есть идеи?
#include<Ultrasonic.h> /*включить установленную пользователем библиотеку*/
Ultrasonic ultrasonic(12,13); /*создать экземпляр УЗ датчика и определить выводы*/
#define DirM1 2
#define PwmM1 3
#define DirM2 10
#define PwmM2 11
#define BrakeM1 4
#define BrakeM2 9
void setup()
{
pinMode (PwmM1, OUTPUT);
pinMode (DirM1, OUTPUT);
pinMode (BrakeM1, OUTPUT);
pinMode (PwmM2, OUTPUT);
pinMode (DirM2, OUTPUT);
pinMode (BrakeM2, OUTPUT);
digitalWrite (BrakeM1, LOW);
digitalWrite (BrakeM2, LOW);
Serial.begin(9600); /*начать передачу данных на скорости 9600 bps */
}
// Хуйню сверху не трогай
void loop() {
Serial.print(ultrasonic.Ranging(INC)); /* INC для дюймов, CM для сантиметров */
Serial.println("in");
delay(100);
while(ultrasonic.Ranging(INC) < 20) {
rotateLeft();
delay(10);
}
goForward();
}
void goForward ()
{
Serial.println("GO-GO");
digitalWrite (DirM1, HIGH);
analogWrite (PwmM1, 50);
digitalWrite (DirM2, HIGH);
analogWrite (PwmM2, 50);
}
void rotateLeft ()
{
Serial.println("rotate");
digitalWrite (DirM1, HIGH);
analogWrite (PwmM1, 70);
digitalWrite (DirM2, LOW);
analogWrite (PwmM2, 70);
}
void startUp ()
{
}
#include<Ultrasonic.h> /*включить установленную пользователем библиотеку*/
Ultrasonic ultrasonic(12,13); /*создать экземпляр УЗ датчика и определить выводы*/
#define DirM1 2
#define PwmM1 3
#define DirM2 10
#define PwmM2 11
#define BrakeM1 4
#define BrakeM2 9
void setup()
{
pinMode (PwmM1, OUTPUT);
pinMode (DirM1, OUTPUT);
pinMode (BrakeM1, OUTPUT);
pinMode (PwmM2, OUTPUT);
pinMode (DirM2, OUTPUT);
pinMode (BrakeM2, OUTPUT);
digitalWrite (BrakeM1, LOW);
digitalWrite (BrakeM2, LOW);
Serial.begin(9600); /*начать передачу данных на скорости 9600 bps */
}
void loop() {
Serial.print(ultrasonic.Ranging(INC)); /* INC для дюймов, CM для сантиметров */
Serial.println(" inc ");
if(ultrasonic.Ranging(INC) < 20) {
rotateLeft();
}
else {
goForward();
}
delay(50);
}
void goForward ()
{
digitalWrite (DirM1, HIGH);
analogWrite (PwmM1, 40);
digitalWrite (DirM2, HIGH);
analogWrite (PwmM2, 40);
Serial.println("GO ");
}
void rotateLeft ()
{
digitalWrite (DirM1, HIGH);
analogWrite (PwmM1, 40);
digitalWrite (DirM2, LOW);
analogWrite (PwmM2, 40);
Serial.println("to left");
}
void startUp ()
{
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9