Zelfgemaakte infrarood meetzoeker (vergelijkbaar met scherpe GP2D120 (10 / 11 stap)

Stap 10: Stap 9: waarbij de resultaten


Het laatste deel van dit instructable zullen op waarbij de resultaten zoals op dit moment, ze zijn niet zoals je zou verwachten (u kunt dit zien als u een grafiek van spanning tegen afstand uitzetten!).

Ik plaatste de resultaten in een tabel en een grafiek van deze resultaten uitgezet. Ik omvatte ook een exponentiële trendlijn. Als u de grafiek toonde ik in een laatste stap, u kunt zien het is vrij gelijkaardig, excel staat niet toe dat het plotten van 1 / x grafieken!

Nu, door te kijken naar de wiskundige functies dat de Arduino kan doen beperkt ons een beetje aan hoe we deze resultaten kunt linearize. Door te spelen rond met de functies in excel zal ons helpen vinden van de geschikte een, maar aangezien de exponentiële trendlijn past, vond ik dat het alleen wenselijk is om te doen de inverse van een exponent (exponent is gelijk aan e ^ x), de inverse is gelijk aan de natuurlijke logaritme (bekend als ln) van x. Door te doen het omgekeerde exponent, de resultaten zullen veel meer lineaire en de Arduino laat deze functie. Als u deze grafiek uitzetten, u zal zitten kundig voor toepassing van een lineaire trendlijn en hebben een heel acceptabel R ^ 2 waarde.

Nu dat u de resultaten hebben linearized, moet u het verloop omkeren. Momenteel, als afstand daalt, stijgt spanning. Dit is niet een levensvatbare vorm van meting zoals men van een waarde verwachten zou te verlagen als de spanning verhoogd!

De eenvoudigste manier om dit te doen zou zijn om de resultaten van het logboek omkeren door te vermenigvuldigen met min 1. Dit zal dan het omkeren van het verloop en de resulterende waarde zal toenemen naarmate de afstand toeneemt!

Het volgende deel is het toepassen van een relatie tussen deze waarden en de afstand. Ten eerste, wilt u de waarde op 0 afstand nul te zijn. U dit doen door het logboek van uw grootste experimenteel gevonden spanning en dit toe te voegen aan alle waarden.

Vervolgens krijgt u een resultaat dat het kleinste spanning de grootste waarde geeft en de grootste spanning dan een waarde van 0 geeft.

Nu heb je een lineaire functie die de niet lineaire spanning converteert. Alles wat u nu hoeft te doen is dit toewijzen aan de gelijkwaardige afstand, bijvoorbeeld de grootste waarde die je berekend moet gelijk zijn aan de afstand die je gemeten (voor die waarde, zijn verwarrend ik weet!). Voor deze laatste stap, alles wat je hoeft te doen is vermenigvuldigen door de grootste afstand gemeten verdeeld door de genormaliseerde resultaat en zul je een functie die je een succesvolle afstand lezing geeft! Merk op dat als u een van de parameters van het circuit wijzigen of aanpassen van de temperatuur, dit zal veranderen! Dus waarom zijn slechts eenvoudig.

Dit zal maken veel meer zin zodra u de code leest, eerlijk!

De nieuwe code is:
int Readvalue; De aanvankelijk lees waarde
int Printvalue; De waarde afgedrukt op het scherm
float Mathvalue; De variabele die wordt gebruikt voor elke vorm van wiskunde
zweven Normalize_constant = 0,47; De variabelen die ik berekend op basis van mijn resultaten
zweven Scale_constant = 3,34; Hetzelfde als hierboven!

VOID Setup {}
Serial.begin(9600); Seriële communicatie met computer 9600 bps beginnen
}

void loop {}
Readvalue = analogRead (A0) + 1; Lees de infrarood Bereikindicatie input, voeg 1 om ervoor te zorgen dat de lezing nooit gelijk is aan nul of u vreemde wiskunde resultaten krijgt!
Mathvalue = log(Readvalue) //Apply het logboek van de lees waarde
Mathvalue = Mathvalue *-1 //Invert de log-waarden
Mathvalue = Mathvalue + Normalize_constant //Normalize de resultaten, mijn constante normaliseren was gelijk is aan LN(1.6) zoals berekend van mijn resultaten. Jou zal variëren!
Mathvalue = Mathvalue * Scale_constant //Multiply door de constante schaal om ervoor te zorgen dat de afstand gemeten hetzelfde als de waarden is.
Serial.println(Mathvalue); De waarde van de laatste wiskunde naar de seriële monitor afdrukken
delay(50); Vertraging voor 50 MS dat niet vullen de seriële buffer
}

Gerelateerde Artikelen

DIY zelfgemaakte Mini hout draaibank met boor handgereedschap

DIY zelfgemaakte Mini hout draaibank met boor handgereedschap

Zelfgemaakte Mini hout draaibank met boor handgereedschap zeer gemakkelijk en goedkoop.U kunt stap voor stap laten zien hoe een mini draaibank met behulp van een boormachine. Ik draai een paar stukken en breng een kleine tool die behandelen.
Puzzlebox baan: Een infrarood helikopter besturen met behulp van een Arduino

Puzzlebox baan: Een infrarood helikopter besturen met behulp van een Arduino

In dit Instructable zullen we uitleggen hoe de infrarood signalen worden gebruikt door een afstandsbediening om een speeltje of apparaat, dan laten zien hoe een eenvoudige schakeling kan worden toegevoegd aan een Arduino aan dezelfde bedienen via gra
Zelfgemaakte Angel Food Cake met banketbakkersroom & slagroom

Zelfgemaakte Angel Food Cake met banketbakkersroom & slagroom

Ingrediënten1 ½ cups van poedersuiker1 kopje kristalsuiker½ theelepel zout1 ¼ kopjes eiwit (12 eieren)1 theelepel kremetart½ theelepel vanilleLet op:1) eenvoudig is het niet, echter, als u volgen belangrijke tips die ik heb geschreven, is het zeer de
Zelfgemaakte Mini draaibank goedkoop met aluminiumlegering en Lineare geleiders dia CNC

Zelfgemaakte Mini draaibank goedkoop met aluminiumlegering en Lineare geleiders dia CNC

Zelfgemaakte Mini draaibank goedkoop met aluminiumlegering en Lineare geleiders dia CNCheel gemakkelijk en leuk werkMaterialen en gereedschappen:4-delige SCS10UU 20 mm lineaire kogellager Motion rekening houdend met CNC2 stk 480 mm 20 mm lineaire gel
Zelfgemaakte houten mini draaibank met hand Drill

Zelfgemaakte houten mini draaibank met hand Drill

Zelfgemaakte houten mini draaibank met de hand boor erg makkelijk en goedkoop met oude rot boor,Aluminiumlegering Profile 600 x 80 x 40 mm2 stuks aluminiumlegering 6061 160 mm x 600 x 12 mm1 stk aluminiumlegering 6061 80 x 80 mm x 12 mm1 stk aluminiu
DIY zelfgemaakte verborgen Spy Camera met Sony Bloggie Live Full HD Camera

DIY zelfgemaakte verborgen Spy Camera met Sony Bloggie Live Full HD Camera

DIY zelfgemaakte verborgen Spy Camera met Sony Bloggie Live Full HD Camera zeer eenvoudig, zeer eenvoudig
DIY Mini pers boor zelfgemaakte Micro PCB Driller met gereedschappen Ozito of Dremel

DIY Mini pers boor zelfgemaakte Micro PCB Driller met gereedschappen Ozito of Dremel

DIY Mini pers boor zelfgemaakte Micro PCB Driller met Ozito of Dremel gereedschapzeer goedkoop en gemakkelijk:Materiaal:2 lineaire Bearing Type lineaire bus Flens Type 20 mm2 stuks 250 mm 20mm schacht lang verhard Rod lineaire beweging assen2 stuks S
Zelfgemaakte Mini draaibank aluminiumlegering met dia CNC lineaire Ball Bearing Motion Bearing

Zelfgemaakte Mini draaibank aluminiumlegering met dia CNC lineaire Ball Bearing Motion Bearing

Zelfgemaakte Mini draaibank aluminiumlegering met dia CNC lineaire Ball Bearing Motion BearingOnderdelen en Tools:MDF hout 200 x 650 x 20 mm2st SCS10UU 20 mm lineaire kogellager Motion rekening houdend met CNC2st 500 mm 20 mm Lineare geleiders1 stk 5
DIY boor pers zelfgemaakte Pressdrill zeer goedkoop met Slide mechanisme CNC

DIY boor pers zelfgemaakte Pressdrill zeer goedkoop met Slide mechanisme CNC

DIY boor pers zelfgemaakte Pressdrill zeer goedkoop met Slide mechanisme CNCMaterialen en gereedschappen:2 stuks 25 mm lineaire kogellager Motion Bearing CNC2 stuks SHF25 grootte 25mm lineaire spoor schacht2 220 mm - 25 mm lineaire spoor CNC promotie
Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB MachineMaterialen:Zelfgemaakte Headstock Chuck spindel Conveyor hier:1 PC's HSS 100 mm Rotary Tools cirkelzaag messen snijden Discs as Cutoff Cutter tools multi machtshulpmidde
Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw snijden hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw snijden hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB snijmachineMaterialen:2 stuks Aluminium 100 x 70 x 30 mm1 stk Aluminium 160 x 160 x 12 mm voor bed1 stk Aluminium 160 x 160 x 12 mm voor top1 PC's hoge-sterkte aluminium alloy
Zelfgemaakte krans van kippengaas met eindeloze mogelijkheden!

Zelfgemaakte krans van kippengaas met eindeloze mogelijkheden!

Start met een onderdeel van kippengaas thats van ongeveer 3 1/2 voet in lengte maar ten minste een voet 12 inch breed. De meeste rollen van draad dat je van de boerderij krijgen kunt of ijzerhandel zijn 2 voet in de breedte, zodat een bestaande rol k
Zelfgemaakte houten fiets staan met dubbele montage

Zelfgemaakte houten fiets staan met dubbele montage

Onlangs, heb ik besloten om een fiets staan voornamelijk met het oog op tuning versnellingen en derailleurs. Ik was moe van het omkeren van de fiets aan het repareren van de gearing vanwege twee problemen: 1) je moet krijgen op handen en voeten te ze
Pizza recept - met zelfgemaakte BASE & saus - gegarneerd met kiwi chilli bieslook en cheeeese :)

Pizza recept - met zelfgemaakte BASE & saus - gegarneerd met kiwi chilli bieslook en cheeeese :)

Neem een hap op deze unieke versie van pizza uit mijn keuken :)Dit recept is heel eenvoudig en ongelooflijk lekker met deze sissende 'kiwi chilli bieslook kaas' toppings en een ander geheim wordt de zelfgemaakte BASE & saus! ... dus, wacht niet en ne