Stap 5: Tijd voor wat code
Hier zijn enkele belangrijke stukken van de software die we gewend zijn apparaat program.#include "NewPing.h"
#define justRightLed 11 / / groen
#define defecte 10 / / niet gebruiken
#define tooFarLed 9 / / rood
#define tooCloseLed 8 / / blauw
#define ECHO_PIN 12
#define TRIGGER_PIN 13
/*
Wijzig deze waarden voor uw garage
*/
dubbele tooCloseInches = 5;
dubbele tooFarInches = 20;
In setup functie, zorg ervoor dat u de pinnen op de juiste modus instellen
pinMode (tooCloseLed, OUTPUT);
pinMode (justRightLed, OUTPUT);
pinMode (tooFarLed, OUTPUT);
pinMode(ECHO_PIN,INPUT);
pinMode(TRIGGER_PIN,OUTPUT);
/*
Deze code oplicht of afgesloten uit alle de LEDs... Gebruik bij het testen van...
*/
VOID lightAllLeds()
{
digitalWrite(tooCloseLed,HIGH);
digitalWrite(tooFarLed,HIGH);
digitalWrite(justRightLed,HIGH);
}
VOID resetAllLeds()
{
digitalWrite(tooCloseLed,LOW);
digitalWrite(tooFarLed,LOW);
digitalWrite(justRightLed,LOW);
}
/*
De hoofdlus
*/
void loop
{
delay(300);
unsigned int ons = sonar.ping();
dubbele distanceCM = uS / US_ROUNDTRIP_CM;
dubbele distanceIn = uS / US_ROUNDTRIP_IN;
Als (distanceIn > 0.1) displayCorrectStatus(distanceIn);
}
/*
Controleer eerst als de gemeten afstand groter is dat de lijn te sluiten en als de gedistantieerd is minder dan de 2 ver lijn, - op dit moment weten we er in de veilige zone
Controleer vervolgens of als de afstand te dicht is, dan de blauwe LED oplicht.
Tot slot, de rode LED lichten, indien de afstand te ver is.
*/
VOID displayCorrectStatus(int distanceIn)
{
Als ((distanceIn > = tooCloseInches) & & (distanceIn < = tooFarInches))
{
displayJustRightStatus();
}
else if (distanceIn < tooCloseInches)
{
displayTooCloseStatus();
}
anders
{
displayTooFarStatus();
}
}