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