Ultrasoon sensor programmeren in C
Geplaatst: za 23 apr 2016, 16:11
Hallo, voor een project op school ben ik bezig met het bouwen van een robot. Nu heeft deze robot een sensor om dingen te ''zien'', namelijk de HC-SR04.
Om deze sensor te testen probeer ik een klein programmaatje te schrijven in C, op mbed.org. De microcontroller die ik hiervoor gebruik is de LPC1114FN28. Deze heeft hardwarematige timers en PWM. Mijn programmeerkennis is echt 0, zelfs voorbeelden op de website kan ik geen touw aan vast knopen. Om de sensor te testen wil ik dat een led zachter of harder gaat branden wanneer je er verder of dichterbij staat.
Ik heb vast een begin gemaakt:
(dp1, dp9 en LED1 zijn poortnummers van de microcontroller)
In de datasheet van de sensor (http://www.micropik.com/PDF/HCSR04.pdf) staat dat je alleen een 10uS TTL signaal op de TRIG pin hoeft te zetten om het meten te starten. Zodra het meten gestart is kun je de afstand bepalen door te kijken naar het binnenkomende signaal (echo) en het uitgaande signaal (trig). De formule om de afstand (in cm) te bepalen is: uS / 58 = centimeters. Ik zal dus iets van code moeten schrijven om de microcontroller een signaal op de trig te laten zetten. Vervolgens moet ik code hebben om de afstand te bepalen. De afstand moet de sterkte van het branden van het lampje bepalen.
Ik hoop dat jullie me op weg kunnen helpen.
Stefan
Om deze sensor te testen probeer ik een klein programmaatje te schrijven in C, op mbed.org. De microcontroller die ik hiervoor gebruik is de LPC1114FN28. Deze heeft hardwarematige timers en PWM. Mijn programmeerkennis is echt 0, zelfs voorbeelden op de website kan ik geen touw aan vast knopen. Om de sensor te testen wil ik dat een led zachter of harder gaat branden wanneer je er verder of dichterbij staat.
Ik heb vast een begin gemaakt:
(dp1, dp9 en LED1 zijn poortnummers van de microcontroller)
In de datasheet van de sensor (http://www.micropik.com/PDF/HCSR04.pdf) staat dat je alleen een 10uS TTL signaal op de TRIG pin hoeft te zetten om het meten te starten. Zodra het meten gestart is kun je de afstand bepalen door te kijken naar het binnenkomende signaal (echo) en het uitgaande signaal (trig). De formule om de afstand (in cm) te bepalen is: uS / 58 = centimeters. Ik zal dus iets van code moeten schrijven om de microcontroller een signaal op de trig te laten zetten. Vervolgens moet ik code hebben om de afstand te bepalen. De afstand moet de sterkte van het branden van het lampje bepalen.
Ik hoop dat jullie me op weg kunnen helpen.
Stefan