<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://elektronikforumet.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_%28Biltema_43-142%29</id>
	<title>Parkeringssensor ombyggd till ultraljudsdetektor (Biltema 43-142) - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://elektronikforumet.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_%28Biltema_43-142%29"/>
	<link rel="alternate" type="text/html" href="https://elektronikforumet.com/wiki/index.php?title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_(Biltema_43-142)&amp;action=history"/>
	<updated>2026-05-14T13:56:13Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://elektronikforumet.com/wiki/index.php?title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_(Biltema_43-142)&amp;diff=5309&amp;oldid=prev</id>
		<title>Farskost den 22 mars 2014 kl. 13.37</title>
		<link rel="alternate" type="text/html" href="https://elektronikforumet.com/wiki/index.php?title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_(Biltema_43-142)&amp;diff=5309&amp;oldid=prev"/>
		<updated>2014-03-22T13:37:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 22 mars 2014 kl. 13.37&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l366&quot;&gt;Rad 366:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 366:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://elektronikforumet.com/forum/viewtopic.php?t=37762 EF källa]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://elektronikforumet.com/forum/viewtopic.php?t=37762 EF källa]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategori:Medlemsprojekt]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Farskost</name></author>
	</entry>
	<entry>
		<id>https://elektronikforumet.com/wiki/index.php?title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_(Biltema_43-142)&amp;diff=2991&amp;oldid=prev</id>
		<title>Blueint: Konverterat från niroma's forum tråd. Med vissa omformuleringar.</title>
		<link rel="alternate" type="text/html" href="https://elektronikforumet.com/wiki/index.php?title=Parkeringssensor_ombyggd_till_ultraljudsdetektor_(Biltema_43-142)&amp;diff=2991&amp;oldid=prev"/>
		<updated>2009-11-03T22:35:06Z</updated>

		<summary type="html">&lt;p&gt;Konverterat från niroma&amp;#039;s forum tråd. Med vissa omformuleringar.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Hur man modifierar Biltemas parkeringssensor 43-142 (2009-10-12) till en kollisionsgivare med 4 oberoende ultraljudsgivare och utvärderingsenhet. Lämplig till diverse robotprojekt. Upprinnelsen till denna guide var behovet av billiga kollisionsgivare till en gräsklipparrobot.&lt;br /&gt;
&lt;br /&gt;
[[Image:Parkeringsradar_box.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Parkeringsradar_pcb_top.jpg]]&lt;br /&gt;
&lt;br /&gt;
Genom att ersätta den befintliga mikrokontrollern SONIX SN8P2602 (U3) i utvärderingsenheten med en PIC16F84A som är pinkompatibel. Resultatet blir en kollisionsgivare med 4 oberoende sensorer som ger signal på varsitt stift i mini-DIN kontakten.&lt;br /&gt;
&lt;br /&gt;
Pinout efter modifiering:&lt;br /&gt;
[[Image:Parkeringsradar_pinout.jpg]]&lt;br /&gt;
&lt;br /&gt;
Programmet detekterar närvaro av objekt i intervallet ca 10&amp;amp;nbsp;-&amp;amp;nbsp;60 cm framför sensorerna. Varje sensor behandlas individuellt och ger en +5V-signal på &amp;quot;sin&amp;quot; pinne i kontakten.&lt;br /&gt;
&lt;br /&gt;
C-kod med några tidskritiska avsnitt i inline assembler. Kompilera med t ex SDCC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
ultrasens_v1.c&lt;br /&gt;
&lt;br /&gt;
090420 /niroma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Processor:PIC16F84A&lt;br /&gt;
&lt;br /&gt;
Kristall: 4MHz (bör funka med befintlig)&lt;br /&gt;
&lt;br /&gt;
Kompilator: SDCC : avr/pic16/pic14/xa51 2.8.0 #5117 (Jun  2 2008) (UNIX)&lt;br /&gt;
&lt;br /&gt;
Syfte: Modifiera Biltemas parkeringssensor så att den får fyra utgångar, en för&lt;br /&gt;
	resp sensor, som ger signal när det finns föremål närmare än ca 60cm.&lt;br /&gt;
-------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
090420&lt;br /&gt;
	Signal		Riktning	Funktion&lt;br /&gt;
	CHIRP_A		ut		Sänder signal till transmitter&lt;br /&gt;
	CHIRP_B		ut&lt;br /&gt;
	CHIRP_C		ut&lt;br /&gt;
	CHIRP_D		ut&lt;br /&gt;
	EKO		in		Tar emot filtrerat signaleko&lt;br /&gt;
	DMUX_A		ut		Val av sensor bit 0&lt;br /&gt;
	DMUX_B		ut			&amp;quot;	  1&lt;br /&gt;
	DETECT_A	ut		Signal till överordnat system vid detekterat föremål&lt;br /&gt;
	DETECT_B	ut&lt;br /&gt;
	DETECT_C	ut&lt;br /&gt;
	DETECT_D	ut&lt;br /&gt;
	------------------&lt;br /&gt;
	Summa		11&lt;br /&gt;
&lt;br /&gt;
	Mätvärden parkeringssensor i orginalutförande&lt;br /&gt;
		Ant pulser per chirp = 20&lt;br /&gt;
		Periodtid pulser = 25us&lt;br /&gt;
		Tid kanalval till chirp = 15.2ms&lt;br /&gt;
		Tid chirp till chirp = 18.4ms&lt;br /&gt;
		Tid sista chirp till kanalval = 12.8ms&lt;br /&gt;
&lt;br /&gt;
	Funktion: Först väljs sensor med DMUX_A och B och därefter skickas chirpen på motsvarande&lt;br /&gt;
	utgång CHIRP_A-D. Chripen består av 20 pulser med frekvens drygt 38kHz.&lt;br /&gt;
	Eko-signalen filtreras av ett analogt filter och går in på EKO.&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------&lt;br /&gt;
091011&lt;br /&gt;
	Saker att förbättra:&lt;br /&gt;
	* Lägg till watchdog&lt;br /&gt;
	* Förbättra detektering på korta avstånd (&amp;lt; 10cm)&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;pic16f84a.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
code unsigned int at 0x2007 config =_CP_OFF &amp;amp; _PWRTE_OFF &amp;amp; _WDT_OFF &amp;amp; _HS_OSC;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Div definitioner&lt;br /&gt;
&lt;br /&gt;
#define ALARM		RB0	//pin 6&lt;br /&gt;
#define CHIRP_A		RB1	//pin 7&lt;br /&gt;
&lt;br /&gt;
#define CHIRP_B		RB2	//pin 8&lt;br /&gt;
&lt;br /&gt;
#define CHIRP_C		RB3	//pin 9&lt;br /&gt;
&lt;br /&gt;
#define CHIRP_D		RB4	//pin 10&lt;br /&gt;
&lt;br /&gt;
#define DMUX_B		RB5	//pin 11&lt;br /&gt;
#define DMUX_A		RB6	//pin 12&lt;br /&gt;
#define EKO		RB7	//pin 13&lt;br /&gt;
&lt;br /&gt;
#define DETECT_A	RA0	//pin 17&lt;br /&gt;
#define DETECT_B	RA1	//pin 18&lt;br /&gt;
#define DETECT_C	RA2	//pin 1&lt;br /&gt;
#define DETECT_D	RA3	//pin 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Globala variabler&lt;br /&gt;
&lt;br /&gt;
unsigned char cLoopCnt, cCounterA, cCounterB;&lt;br /&gt;
&lt;br /&gt;
unsigned char cTimePos, cTimeNeg;&lt;br /&gt;
unsigned int iAvrTimePos, iAvrTimeNeg;&lt;br /&gt;
&lt;br /&gt;
void chirpA(void)&lt;br /&gt;
{&lt;br /&gt;
	cLoopCnt = 20;		// 20 pulser&lt;br /&gt;
	TMR0 = 0;		// Nollar för tidmätning&lt;br /&gt;
	T0IF = 0;		// Nollar för timeout vid tidmätningen&lt;br /&gt;
	_asm&lt;br /&gt;
	BANKSEL	_PORTB_bits&lt;br /&gt;
chirpAloop:&lt;br /&gt;
	BSF	_PORTB_bits,1	// 1:a&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	BCF	_PORTB_bits,1	// 0:a&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	NOP&lt;br /&gt;
	DECFSZ	_cLoopCnt,F&lt;br /&gt;
	GOTO	chirpAloop&lt;br /&gt;
	_endasm;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void chirpB(void)&lt;br /&gt;
{&lt;br /&gt;
	cLoopCnt = 20;&lt;br /&gt;
	TMR0 = 0;&lt;br /&gt;
	T0IF = 0;&lt;br /&gt;
	_asm&lt;br /&gt;
	BANKSEL	_PORTB_bits&lt;br /&gt;
chirpBloop:&lt;br /&gt;
	BSF	_PORTB_bits,2&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	BCF	_PORTB_bits,2&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	NOP&lt;br /&gt;
	DECFSZ	_cLoopCnt,F&lt;br /&gt;
	GOTO	chirpBloop&lt;br /&gt;
	_endasm;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void chirpC(void)&lt;br /&gt;
{&lt;br /&gt;
	cLoopCnt = 20;&lt;br /&gt;
	TMR0 = 0;&lt;br /&gt;
	T0IF = 0;&lt;br /&gt;
	_asm&lt;br /&gt;
	BANKSEL	_PORTB_bits&lt;br /&gt;
chirpCloop:&lt;br /&gt;
	BSF	_PORTB_bits,3&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	BCF	_PORTB_bits,3&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	NOP&lt;br /&gt;
	DECFSZ	_cLoopCnt,F&lt;br /&gt;
	GOTO	chirpCloop&lt;br /&gt;
	_endasm;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void chirpD(void)&lt;br /&gt;
{&lt;br /&gt;
	cLoopCnt = 20;&lt;br /&gt;
	TMR0 = 0;&lt;br /&gt;
	T0IF = 0;&lt;br /&gt;
	_asm&lt;br /&gt;
	BANKSEL	_PORTB_bits&lt;br /&gt;
chirpDloop:&lt;br /&gt;
	BSF	_PORTB_bits,4&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	BCF	_PORTB_bits,4&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	GOTO	$+1&lt;br /&gt;
	NOP&lt;br /&gt;
	DECFSZ	_cLoopCnt,F&lt;br /&gt;
	GOTO	chirpDloop&lt;br /&gt;
	_endasm;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void measureTimes(void)&lt;br /&gt;
{// Mäter till pos och neg flank. Adderar in värdena i medelvärdesvariablerna. Väntar till timeout.&lt;br /&gt;
	cTimePos = 0;			//Sätter värden som gör att signal inte ges vid&lt;br /&gt;
	cTimeNeg = 255;			//uteblivet eller felaktigt eko.&lt;br /&gt;
	while(!T0IF){&lt;br /&gt;
		if(EKO){&lt;br /&gt;
			cTimePos = TMR0;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	while(!T0IF){&lt;br /&gt;
		if(!EKO){&lt;br /&gt;
			cTimeNeg = TMR0;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	iAvrTimePos += cTimePos;	//Adderar mätvärdena till medelvärdessumma&lt;br /&gt;
	iAvrTimeNeg += cTimeNeg;&lt;br /&gt;
	while(!T0IF);			//Väntar ut mättiden&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
unsigned char evaluate(void)&lt;br /&gt;
{//Utvärderar medelvärdessumman. (Anv summan för att slippa en division i kontrollern.) &lt;br /&gt;
	if(iAvrTimePos&amp;gt;(3*2500/64))	//Ligger den positiva flanken inom 2.5ms?&lt;br /&gt;
		return 1;&lt;br /&gt;
	if(iAvrTimeNeg&amp;lt;(3*3700/64))	//Ligger den negativa flanken inom 3700us (~60cm)?&lt;br /&gt;
		return 1;&lt;br /&gt;
	return 0;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void wait(void)&lt;br /&gt;
{ //From PicLoops 2.2&lt;br /&gt;
	_asm&lt;br /&gt;
;PIC Time Delay = 0.01500200 s with Osc = 4000000 Hz&lt;br /&gt;
		movlw	D'20'&lt;br /&gt;
		movwf	_cCounterB&lt;br /&gt;
		movlw	D'121'&lt;br /&gt;
		movwf	_cCounterA&lt;br /&gt;
waitloop:	decfsz	_cCounterA,1&lt;br /&gt;
		goto	waitloop&lt;br /&gt;
		decfsz	_cCounterB,1&lt;br /&gt;
		goto	waitloop&lt;br /&gt;
	_endasm;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void main(void)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	//Initiering***************************************&lt;br /&gt;
	//I/O&lt;br /&gt;
	PORTA = 0;&lt;br /&gt;
	TRISA = 0xF0; 	//1111 0000	&lt;br /&gt;
	PORTB = 0;&lt;br /&gt;
	TRISB = 0x80;	//1000 0000&lt;br /&gt;
	NOT_RBPU = 1;	//ej pull-ups&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//TMR0&lt;br /&gt;
&lt;br /&gt;
	T0CS = 0;	// Klocka TMR0 med fClk/4&lt;br /&gt;
&lt;br /&gt;
	PSA = 0;	// Prescaler till TMR0&lt;br /&gt;
&lt;br /&gt;
	PS2 = 1;	// Sätter prescaler till 1:64&lt;br /&gt;
&lt;br /&gt;
	PS1 = 0;	// Ger drygt 16ms mättid med upplösningen 64us @ fClk=4MHz&lt;br /&gt;
&lt;br /&gt;
	PS0 = 1;	// 64us motsvarar (teoretiskt) en sträcka på ca 11mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//Huvudloop****************************************&lt;br /&gt;
&lt;br /&gt;
	while(1){&lt;br /&gt;
		//Sensor A&lt;br /&gt;
		DMUX_A = 0;&lt;br /&gt;
		DMUX_B = 0;&lt;br /&gt;
		wait();			//15ms&lt;br /&gt;
		iAvrTimePos = iAvrTimeNeg = 0;&lt;br /&gt;
		chirpA();		//Nollar TMR0 och skickar chirp.&lt;br /&gt;
		measureTimes();		//Tid till pos &amp;amp; neg flank		&lt;br /&gt;
&lt;br /&gt;
		chirpA();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpA();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		if(evaluate())&lt;br /&gt;
			DETECT_A = 1;&lt;br /&gt;
		else&lt;br /&gt;
			DETECT_A = 0;&lt;br /&gt;
&lt;br /&gt;
		//Sensor B&lt;br /&gt;
		DMUX_A = 0;&lt;br /&gt;
		DMUX_B = 1;&lt;br /&gt;
		wait();&lt;br /&gt;
		iAvrTimePos = iAvrTimeNeg = 0;&lt;br /&gt;
		chirpB();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpB();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpB();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		if(evaluate())&lt;br /&gt;
			DETECT_B = 1;&lt;br /&gt;
		else&lt;br /&gt;
			DETECT_B = 0;&lt;br /&gt;
&lt;br /&gt;
		//Sensor C&lt;br /&gt;
		DMUX_A = 1;&lt;br /&gt;
		DMUX_B = 1;&lt;br /&gt;
		wait();&lt;br /&gt;
		iAvrTimePos = iAvrTimeNeg = 0;&lt;br /&gt;
		chirpC();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpC();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpC();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		if(evaluate())&lt;br /&gt;
			DETECT_C = 1;&lt;br /&gt;
		else&lt;br /&gt;
			DETECT_C = 0;&lt;br /&gt;
&lt;br /&gt;
		//Sensor D&lt;br /&gt;
		DMUX_A = 1;&lt;br /&gt;
		DMUX_B = 0;&lt;br /&gt;
		wait();&lt;br /&gt;
		iAvrTimePos = iAvrTimeNeg = 0;&lt;br /&gt;
		chirpD();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpD();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		chirpD();&lt;br /&gt;
		measureTimes();&lt;br /&gt;
&lt;br /&gt;
		if(evaluate())&lt;br /&gt;
			DETECT_D = 1;&lt;br /&gt;
		else&lt;br /&gt;
			DETECT_D = 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmera PICen med t.ex PICKIT2.&lt;br /&gt;
&lt;br /&gt;
[http://elektronikforumet.com/forum/viewtopic.php?t=37762 EF källa]&lt;/div&gt;</summary>
		<author><name>Blueint</name></author>
	</entry>
</feed>