In dit project gaan we de HC-SR04 Ultrasone sensormodule koppelen aan Raspberry Pi om afstand te meten. We hebben eerder een ultrasone sensor met Raspberry Pi gebruikt om Obstacle Avoiding Robot te bouwen. Voordat u verder gaat, moet u de Ultrasone sensor weten.
HC-SR04 Ultrasone sensor:
De ultrasone sensor wordt gebruikt om de afstand met hoge nauwkeurigheid en stabiele metingen te meten. Het kan afstand meten van 2 cm tot 400 cm of van 1 inch tot 13 voet. Het zendt een ultrasone golf uit met een frequentie van 40 KHz in de lucht en als het object in de weg komt, kaatst het terug naar de sensor. Door de tijd te gebruiken die nodig is om het object te raken en terug te komen, kunt u de afstand berekenen.
De ultrasone sensor maakt gebruik van een techniek genaamd "ECHO". "ECHO" is gewoon een gereflecteerde geluidsgolf. U krijgt een ECHO als het geluid terugkaatst nadat het een doodlopende weg heeft bereikt.
HCSR04-module genereert een geluidstrilling in ultrasoon bereik wanneer we de 'Trigger'-pin hoog maken voor ongeveer 10us, die een 8-cycli sonische burst zal verzenden met de snelheid van het geluid en nadat het object is geraakt, wordt deze ontvangen door de Echo-pin. Afhankelijk van de tijd die geluidstrillingen nodig hebben om terug te komen, biedt het een geschikte pulsuitvoer. Als het object ver weg is, duurt het langer voordat ECHO wordt gehoord en zal de uitgangspulsbreedte groot zijn. En als het obstakel dichtbij is, zal de ECHO sneller te horen zijn en zal de outputpulsbreedte kleiner zijn.
We kunnen de afstand van het object berekenen op basis van de tijd die de ultrasone golven nodig hebben om terug te keren naar de sensor. Omdat de tijd en snelheid van het geluid bekend zijn, kunnen we de afstand berekenen met de volgende formules.
- Afstand = (tijd x geluidssnelheid in lucht (343 m / s)) / 2.
De waarde wordt door twee gedeeld aangezien de golf voorwaarts en achterwaarts beweegt en dezelfde afstand aflegt. Dus de tijd om een obstakel te bereiken is slechts de helft van de totale tijd die nodig is
Dus afstand in centimeter = 17150 * T
We hebben eerder veel nuttige projecten gemaakt met behulp van deze ultrasone sensor en Arduino, bekijk ze hieronder:
- Op Arduino gebaseerde afstandsmeting met behulp van ultrasone sensor
- Deuralarm met Arduino en ultrasone sensor
- IOT-gebaseerde dumpsterbewaking met Arduino
Vereiste componenten:
Hier gebruiken we Raspberry Pi 2 Model B met Raspbian Jessie OS. Alle basis hardware- en softwarevereisten zijn eerder besproken, je kunt het opzoeken in de Raspberry Pi Introductie en Raspberry PI LED Knipperend om aan de slag te gaan, behalve dat we nodig hebben:
- Raspberry Pi met vooraf geïnstalleerd besturingssysteem
- HC-SR04 Ultrasone sensor
- Stroomvoorziening (5v)
- 1KΩ weerstand (3 stuks)
- 1000uF condensator
- LCD van 16 * 2 tekens
Circuit uitleg:
Verbindingen tussen Raspberry Pi en LCD worden gegeven in de onderstaande tabel:
LCD-aansluiting |
Raspberry Pi-verbinding |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
NL |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
In dit circuit hebben we 8bit communicatie (D0-D7) gebruikt om LCD met Raspberry Pi te verbinden, dit is echter niet verplicht, we kunnen ook 4-bit communicatie gebruiken (D4-D7), maar met 4 bit wordt communicatieprogramma een beetje complex voor beginners, dus ga gewoon met 8 bit-communicatie. Hier hebben we 10 pinnen van het LCD-scherm met Raspberry Pi verbonden, waarbij 8 pinnen datapinnen zijn en 2 pinnen besturingspinnen.
Hieronder ziet u het schakelschema voor het aansluiten van de HC-SR04-sensor en LCD met Raspberry Pi voor het meten van de afstand.
Zoals weergegeven in de afbeelding, heeft de HC-SR04 Ultrasone sensor vier pinnen,
- PIN1- VCC of + 5V
- PIN2- TRIGGER (10us Hoge puls gegeven om de sensor te vertellen de afstand te detecteren)
- PIN3- ECHO (biedt pulsuitgang waarvan de breedte de afstand na trigger vertegenwoordigt)
- PIN4- GROND
Echo-pin biedt + 5V uitgangspuls die niet rechtstreeks op Raspberry Pi kan worden aangesloten. We zullen dus een Voltage Divider Circuit (gebouwd met R1 en R2) gebruiken om + 3.3V logica te krijgen in plaats van + 5V logica.
Werkende uitleg:
De volledige werking van de Raspberry Pi-afstandsmeting gaat als, 1. Triggeren van de sensor door de triggerpen 10uS omhoog te trekken.
2. Geluidsgolf wordt verzonden door de sensor. Na ontvangst van de ECHO levert de sensormodule een uitgang die evenredig is met de afstand.
3. We zullen de tijd opnemen wanneer de uitgangspuls van LAAG naar HOOG gaat en wanneer weer wanneer deze van HOOG naar LAAG gaat.
4. We hebben een start- en stoptijd. We zullen de afstandsvergelijking gebruiken om de afstand te berekenen.
5. De afstand wordt weergegeven in een 16x2 LCD-scherm.
Daarom hebben we het Python-programma voor Raspberry Pi geschreven om de volgende functies uit te voeren:
1. Om de trigger naar de sensor te sturen
2. Noteer de start- en stoptijd van de pulsuitvoer van de sensor.
3. Om de afstand te berekenen met behulp van de START- en STOP-tijd.
4. Om het verkregen resultaat weer te geven op het 16 * 2 LCD-scherm.
Het volledige programma en de demovideo worden hieronder gegeven. Het programma wordt goed uitgelegd aan de hand van de opmerkingen, als u twijfelt, kunt u deze stellen in het opmerkingengedeelte hieronder.