Stap 2: De code van de Arduino
Zorg ervoor dat uw IDE aanpassen voordat u de Raad van bestuur op uw PC afhankelijk van het soort Arduino board u gebruikt, en sluit vervolgens het en schrijf de volgende code.
Ik probeerde uit te leggen zo veel van het Wetboek mogelijk in de commentaren, voegde ik zelfs sommige opties in het geval dat u wilt testen de sensor eerste op het seriële monitor (zoals ik deed) in het geval dat er iets niet duidelijk laat alstublieft een reactie en ik zal proberen te beantwoorden.
/*
HC-SR04 Ping afstandssensor:
VCC aan Arduino
Vin GND met Arduino GND
ECHO aan Arduino pin 12
Trig aan Arduino pin 11 * /
#include < NewPing.h > //downloaded van het internet & uitgepakte in de omslag van de bibliotheken in de Directory van de Arduino
#define TRIGGER_PIN 11 / / Arduino pin gebonden aan pin op de ultrasone sensor te activeren.
#define ECHO_PIN 12 / / Arduino pin gebonden aan echo pin op de ultrasone sensor.
#define LEDPin 9 / / Onboard LED "Groen" om aan te geven clear
int zoemer = 8; Zoemer te maken een geluid als de blinde persoon met een obstructie kampt
int maximumRange = 70; Grensdetectiewijdte van nodig
int minimumRange = 35; Minimale afstand nodig
lange duur, afstand; Zolang zij worden gebruikt voor het berekenen van de afstand
VOID Setup {}
Serial.begin (9600);
pinMode (TRIGGER_PIN, uitvoer);
pinMode (ECHO_PIN, INPUT);
pinMode (LEDPin, uitvoer); Gebruik maken van LED indicator (indien nodig)
pinMode (zoemer, uitvoer);
}
void loop {}
/ * De volgende cyclus van de trigPin/echoPin wordt gebruikt om te bepalen van de afstand van het dichtstbijzijnde object door als gevolg van verkrijgbare af (als een vleermuis!) */
digitalWrite (TRIGGER_PIN, laag);
delayMicroseconds(2);
digitalWrite (TRIGGER_PIN, hoge);
delayMicroseconds(10);
digitalWrite (TRIGGER_PIN, laag);
duur = pulseIn (ECHO_PIN, hoge);
afstand = (duur/2) / 29.1; formule voor het converteren van de waarde die is gemeten door de ultrasone sensor in centimeters
Als (afstand > maximumRange = || afstand < = minimumRange)
{
Serial.println ("duidelijk pad");
digitalWrite (LEDPin, hoge); Zet LED (groen) ON om aan te geven "duidelijk pad"
digitalWrite (zoemer, laag);
}
else {}
Serial.println ("obstructie vooruit!");
digitalWrite (zoemer, hoge);
digitalWrite (LEDPin, laag);
}
delay(50); Vertraging 50 MS vóór volgende lezing.
}
Hier is een video waarin een aandrijving van de test van het circuit gebruik Arduino Uno bord.