Stap 5: Arduino bedrading + programmeren
In wezen een sonar sensor aangesloten op een servo met en LED lampje. De definities in de code gebruiken om te weten waar de draden.
De code:
#include < Servo.h >
Servo myservo; maken van servo-object om te bepalen van een servo
int pos = 0;
int trigPin = 4; Trig - groene Jumper
int echoPin = 2; ECHO - gele trui
lange duur, cm, inches;
VOID Setup {}
Seriële poort beginnen
Serial.begin (9600);
myservo.attach(9);
Definiëren van inputs en outputs
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (13, OUTPUT);
}
VOID rotate() {}
gaat van 0 graden tot 180 graden
in stappen van 1 graad
myservo.write(100);
delay(2000);
myservo.write(0);
delay(2000);
}
cheque (int cm) {}
int. temp;
Temp = 0;
Temp = cm;
Als (temp < 5) {}
delay(1000);
digitalWrite (13, hoge);
Rotate();
} else {}
digitalWrite (13, laag);
myservo.write(95);
}
}
void loop
{
De sensor wordt geactiveerd door een hoge pols van 10 of meer microseconden.
Geef een korte lage puls vooraf om een schoon hoog puls:
digitalWrite (trigPin, laag);
delayMicroseconds(5);
digitalWrite (trigPin, hoge);
delayMicroseconds(10);
digitalWrite (trigPin, laag);
Lees het signaal van de sensor: een hoge pulse waarvan
duur is de tijd (in microseconden) van de verzending
voor de ping naar de receptie van de echo off van een object.
pinMode (echoPin, INPUT);
duur = pulseIn (echoPin, hoge);
de tijd omzetten in een afstand
cm = (duur/2) / 29.1;
inch = (duur/2) / 74;
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
delay(2000);
myservo.write(95);
check(cm);
delay(100);
}