Arduino. Пример программы для Кегельринга

Это не лучший вариант. Это не до конца написанный вариант. Это вариант который был написал для объяснения отдельных элементов программирования.


const int pingPin = 7;

void setup() {
  Serial.begin(9600);
 
  pinMode(5, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop() {

/*forward (1000);
right (100);
forward (500);
right (100);
forward (500);*/

Serial.print(UltraSonic ());

while ((UltraSonic ()>50)||(UltraSonic ()==0))
 {
   right (100);
 }

}

int UltraSonic ()
{
  long duration, cm;

  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  cm =  duration/29/2;

  return cm;
}

void forward (int t)
{
 digitalWrite(5, HIGH); 
  digitalWrite(7, LOW);
   digitalWrite(9, HIGH);
    digitalWrite(11, LOW); 
  delay(t); 
}

void right (int t)
{
  digitalWrite(5, HIGH); 
  digitalWrite(7, LOW);
   digitalWrite(9, LOW);
    digitalWrite(11, HIGH); 
  delay(t); 
}

Комментарии

Популярные сообщения из этого блога