Avstandsmåler

Måling av avstand fram til overflate ved hjelp av ultralydsensor.

(Forslag fra Henrik i B klassen, små endringer og justeringer i regi av Arne G.)

Eksempel på programkode:


#include <LiquidCrystal.h>

const int trigPin = 11;
const int echoPin = 10;

long duration;
long distance;

const int rsPin = 2;
const int enablePin = 3;
const int data_4 = 4;
const int data_5 = 5;
const int data_6 = 6;
const int data_7 = 7;

LiquidCrystal lcd(rsPin, enablePin, data_4, data_5, data_6, data_7);

void setup() {
	lcd.begin(16, 2);
	lcd.clear();
	pinMode(trigPin, OUTPUT);
	pinMode(echoPin, INPUT);
}

void loop() {
	clearTrigger();
	triggerON(10);
	distance = distanceMeasured();
	printDistanceToLCD(distance);
	delay(200);
}

void clearTrigger(){
	digitalWrite(trigPin, LOW);
	delayMicroseconds(2);
}

void triggerON(int MicroSeconds){

	digitalWrite(trigPin, HIGH);
	delayMicroseconds(MicroSeconds);
	digitalWrite(trigPin, LOW);
}

int distanceMeasured(){

	duration = pulseIn(echoPin, HIGH);
	distance = duration*0.034/2;
	return distance;
}

void printDistanceToLCD(int distance){
	lcd.setCursor(0, 1);
	lcd.print("Avstand : ");
	lcd.print(distance);
	lcd.print(" cm");
}