Ultralydtransmitter 0-5V B

Det tidligee eksemplet har blitt forenklet litt og så har simulatoren også fått mulighet til å simulere ny type ultralydmåler.

Forslag til programkode (kompakt)


const unsigned int TRIG_PIN=11;
const unsigned int ECHO_PIN=10;
const unsigned int UTGANG=3;

unsigned long pulstid;

int avstand = 0;
int spenning = 0;

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}

void loop() {
	digitalWrite(TRIG_PIN, LOW);
	delayMicroseconds(2);
  	digitalWrite(TRIG_PIN, HIGH);
  	delayMicroseconds(10);
  	digitalWrite(TRIG_PIN, LOW);
 	pulstid = pulseIn(ECHO_PIN, HIGH);
 	avstand = pulstid/29/2; // i cm
 	spenning = map(avstand, 50, 1, 1, 254); 
 	analogWrite(UTGANG, spenning);
 	delay(200);
}

Programesemplet er laget for en reguleringssløyfe med en tank på 50 cm. Derfor så er måleområdet satt fra 1-50 cm. Utgangssignalet 0-5 V ligger hos Arduino. Måleområdet kan settes fra 1 cm til 500 cm i map funksjonen.