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");
}
