Arduino fasta punkter fordonets närhet detektor. (7 / 9 steg)
Steg 7: Steg 7:Program Arduino
Anslut din Arduino till datorn, brand upp Arduino programmering miljö och kopiera och klistra in koden nedan i en tom skiss. Kompilera den och sedan överföra den till din Arduino ombord.Några saker att notera:
-Jag har tagit en enkel seriell länk som låter dig se hur nära det närmaste objektet som sensorn läser är. Detta kommer att låta dig få en känsla för sensorns kapacitet genom att flytta runt en del och att föra handen närmare till och längre från sensorn. Att se en avläsning av avståndet från sensorn som närmaste kände objekt är, helt enkelt öppna seriell bildskärmen genom att välja Verktyg > Serial Monitor från Arduino menyraden samtidigt Arduino är knuten till datorn. Du kan om du vill ta bort raderna relevant för seriell övervaka, men det är inte gör illa någonting och lämnar dem i när Arduino är bortkopplad från datorn kommer inte att påverka funktionen i enheten på något sätt.
-Jag har ställt gula och röda ljussensor avstånd på 5 fot och 6 inches respektive så att praxis talar om för föraren att bromsa på gul och stannar vid rött. Dessa variabler är warnDistance och stopDistance. Om du vill använda olika avstånd, enkelt ändra värdena för dessa till konstanter till avståndet i inches vill du tilldela till varje rad i de definitionen raderna kod (dvs, de som börjar med "int" och slutar med numret och ett semikolon.)
-Om du av någon anledning som du vill ansluta till 2000-talet och resten av världen, kan du enkelt justera programmet ska arbeta med centimeter genom att ändra raden:
avstånd = varaktighet / 72 / 2;
till
avstånd = varaktighet / 29 / 2,
Sedan helt enkelt justera warnDistance och stopDistance mot de avstånd som du vill använda i centimeter.
KOD:
"Arduino Garage tennisboll." Ett avstånd sensor med LED stoppljus för personer med flera fordon kommer in i ett begränsat utrymme.
CONST int triggerPin = 8;
CONST int echoPin = 9;
int redPin = 13.
int yellowPin = 12;
int greenPin = 11;
lång varaktighet;
långa avstånd;
void setup() {
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
pinMode (11, OUTPUT);
Serial.BEGIN(9600);
}
void loop()
{
int stopDistance = 6; //object avståndet i inches från sensorn som ska aktivera röd lysdiod.
int warnDistance = 60. //object avståndet i inches från sensorn som ska aktivera den gula lampan.
pinMode (triggerPin, produktionen);
digitalWrite (triggerPin, låg);
delayMicroseconds(2);
digitalWrite (triggerPin, hög);
delayMicroseconds(5);
digitalWrite (triggerPin, låg);
pinMode (echoPin, ingång);
längd = pulseIn (echoPin, hög);
avståndet = varaktighet / 72 / 2; //determines avstånd i inches av objekt från sensor av mikrosekunder inches formel.
om (avstånd > = warnDistance) {
digitalWrite (redPin, låg);
digitalWrite (yellowPin, låg);
digitalWrite (greenPin, hög);
}
annars om ((distance>stopDistance) & & (avstånd < warnDistance)) {
digitalWrite (redPin, låg);
digitalWrite (yellowPin, hög);
digitalWrite (greenPin, låg);
}
annat {
digitalWrite (redPin, hög);
digitalWrite (yellowPin, låg);
digitalWrite (greenPin, låg);
}
Serial.println (distans);
}