Hur man gör en lätta upp avstånd sensor (4 / 4 steg)
Steg 4: Koden
Detta steg är den kod som du behöver för att ladda på din arduinoMaterial:
Arduino + skärbräda + elektronik
Dator
USB-kabel för att ansluta arduino & dator
Arduino-miljö
Här är en video av åtgärden hela n
https://www.youtube.com/watch?v=6zwDAoOkpS8Kopiera och klistra in denna kod i bearbetningsmiljön.
Detta är koden:
CONST int pingPin = 12; ställa in pingpin som 12
void setup() {
Serial.BEGIN(9600); Detta är inte nödvändigt
pinMode (2, utgång); in dessa pins som utgångar
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
digitalWrite (2, hög). Detta är inte nödvändigt, detta är bara en start
digitalWrite (3, hög). funktion för att låta dig veta den är redo
digitalWrite (4, hög).
digitalWrite 5, hög,
digitalWrite (6, hög).
digitalWrite (7, hög).
fördröjning (500).
digitalWrite (2, låg).
digitalWrite (3, låg).
digitalWrite (4, låg).
digitalWrite (5, låg).
digitalWrite (6, låg).
digitalWrite (7, låg).
}
void loop()
{
lång varaktighet, tum, cm;
PING))) utlöses av en hög puls av 2 eller fler mikrosekunder.
Ge en kort låg puls förhand för att säkerställa en ren hög puls:
pinMode (pingPin, produktionen);
digitalWrite (pingPin, låg);
delayMicroseconds(2);
digitalWrite (pingPin, hög);
delayMicroseconds(5);
digitalWrite (pingPin, låg);
Samma PIN-koden används för att läsa signalen från PING))): en hög
puls vars längd är tid (i mikrosekunder) från den sändande
ping till mottagning av dess eko av ett objekt.
pinMode (pingPin, ingång);
längd = pulseIn (pingPin, hög);
konvertera tiden till ett avstånd
tum = microsecondsToInches(duration);
om (inches < 20) {
digitalWrite (2, hög). } //these nummer ge de avstånd som behövs för att aktivera eller inaktivera lampor
om (inches > 20) {//change dessa till chang thedistances
digitalWrite (2, låg). }
om (inches < 15) {
digitalWrite (3, hög);}
om (tum > 15) {
digitalWrite (3, låg);}
om (inches < 10) {
digitalWrite (4, hög);}
om (tum > 10) {
digitalWrite (4, låg);}
om (inches < 5) {
digitalWrite 5, hög}
om (tum > 5) {
digitalWrite (5, låg);}
om (inches < 3) {
digitalWrite (6, hög);}
om (tum > 3) {
digitalWrite (6, låg);}
om (inches < 2) {
digitalWrite (7, hög);}
om (tum > 2) {
digitalWrite (7, låg);}
Delay(100);
}
lång microsecondsToInches(long microseconds)
{
Enligt Parallaxs datablad för PING))), det finns
73.746 mikrosekunder per tum (dvs. ljud resor på 1130 fot per
det andra). Detta ger vägsträcka som ping, utgående
och tillbaka, så vi delar med 2 att få distansera av hindret.
Se: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
återvända mikrosekunder / 74 / 2;
}