Inhoudsopgave:

Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module) - Ajarnpa
Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module) - Ajarnpa

Video: Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module) - Ajarnpa

Video: Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module) - Ajarnpa
Video: Kids & Tech - DTW2020 Online 2024, November
Anonim
Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module)
Afstandsdetectie met de Micro:bit en Sonar (HC-SR04-module)

Deze week heb ik wat tijd besteed aan het spelen met de fantastische BBC micro:bit en een sonische sensor. Ik heb een paar verschillende modules geprobeerd (meer dan 50 in totaal) en ik dacht dat het goed zou zijn, dus deel enkele van mijn resultaten.

De beste module die ik tot nu toe heb gevonden, is de Sparkfun HC-SR04-module, ik heb de mijne opgehaald bij Kitronik in het VK, en in de VS zijn ze natuurlijk verkrijgbaar bij plaatsen zoals Adafruit (grapje Sparkfun, hier is je link). De reden dat dit de beste is, is dat het ongeveer 95% van de tijd lijkt te werken op de 3V die wordt geleverd door de BBC micro:bit, waar het kan vallen wanneer je andere sensoren en uitgangen op je opstelling hebt. Als je echter het ingebouwde LED-display op de micro:bit gebruikt, komt het waarschijnlijk goed.

Omdat ik gewoon aan het sleutelen was, gebruikte ik in plaats van de sonic in een project in te bedden een breakout-bord en breadboard die waren opgenomen in de micro:bit-startset die ik van Kitronik in het VK had opgehaald.

Stap 1: De hardware instellen

De hardware instellen
De hardware instellen
De hardware instellen
De hardware instellen

Het instellen van de ultrasone sensor is vrij eenvoudig, vooral met de Sparkfun-sensor omdat deze goed werkt op 3V. Het heeft slechts vier pinnen. Van links naar rechts zijn dit VCC, Trig, Echo en GND. VCC en GND zijn voor stroom en Trig, Echo en GND zijn voor je signaal. Ik heb GND bij de signaalset opgenomen, omdat dit nodig is voor een basislijn. Een van mijn veelvoorkomende fouten in het begin met sensoren en zaken als slimme LED's was dat niet alle componenten op een gemeenschappelijke basis werden aangesloten. Ik heb een foto en een schema van mijn opstelling bijgevoegd.

De gemakkelijkste pinnen om te gebruiken op de micro:bit zijn 0, 1 en 2. Dus ik gebruikte 0 voor Trig en 1 voor Echo.

Als u merkt dat u geen metingen van uw HC-SR04 krijgt, kan het zijn dat deze niet genoeg stroom krijgt. Als dat het geval is, kunt u de module van stroom voorzien zoals weergegeven in de tweede afbeelding. Als u 3 x AA-batterijen gebruikt, krijgt u 4,5 V, wat voldoende zou moeten zijn. Sluit het aan zoals hier getoond met die gemeenschappelijke basis. Sluit de 4.5V echter niet aan op uw Micro:bit, dat kan dodelijk zijn!

Stap 2: De software instellen

De software instellen
De software instellen
De software instellen
De software instellen
De software instellen
De software instellen

De micro:bit is geprogrammeerd in de browser, je kunt naar https://makecode.microbit.org/ gaan om te beginnen met het programmeren van je sonische sensor. Eerst moet je een nieuw pakket toevoegen aan de standaardset. Ik heb een pakket met de naam Sonar gebruikt.

Voeg het Sonar-pakket toe aan je blokken en stel je code in zoals weergegeven in de vierde afbeelding.

Hier gebruiken we het bargraph-commando om de sensorgegevens weer te geven (de variabele genaamd item). Meer informatie over bargraph is hier te vinden: https://makecode.microbit.org/reference/led/plot-… Hoewel ik verbazingwekkend genoeg naar de code op GitHub moest kijken om erachter te komen dat het verlaten van de onderste waarde als 0 het mogelijk maakt automatisch aanpassen. U kunt dit wijzigen om uw maximale punt in te stellen dat u wilt meten. Het geeft gegevens in gehele getallen (gehele getallen) en in de eenheden die u selecteert. Ik geloof dat het sonarblok de conversieberekeningen voor ons doet. Ik ontdekte dat door over te schakelen naar het afdrukken van de sensorgegevens op het scherm (zoals weergegeven in de vijfde afbeelding), ik een gevoel kreeg voor de afstanden die ik wilde meten en coderen. Als je het volgt, heb je gemerkt dat er veel nulwaarden zijn, die een flikkering van de staafgrafiek of andere uitvoer veroorzaken. Ik dacht dat het het gemakkelijkst was om deze eruit te filteren met een if-statement (te vinden in logica). Dit was ook de gemakkelijkste manier die ik vond om te werken met LED's zoals NeoPixels. Een voorbeeld hiervan wordt getoond in de zesde afbeelding hier.

Stap 3: Voeg wat meer LED's toe Zoek een project

Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!
Voeg wat meer LED's toe Zoek een project!

Het is leuk om de LED-uitgang direct op het bord te hebben, maar om de sensor iets nuttiger te laten voelen, heb ik een paar versies met externe LED's gebruikt. Enkele afbeeldingen en code staan hieronder. Hiervoor had ik extra pinnen nodig, dus het Kitronik Edge connector breakout board was erg handig!

Het bord opzetten zoals de eerste afbeelding Ik besloot een soort stoplichtsysteem te maken voor als het te dichtbij komt. De groene LED is voor goed, Amber om dichtbij te komen vriend en rood is voor nu te dichtbij, wat dacht je ervan om je terug te trekken. Ik vraag me af of dit een goed praktisch gebruik kan zijn voor korte passen op een fiets. Een koppeling met een display aan de voorkant van de fiets zou goede visuele feedback geven aan bestuurders of hun pas in orde was. De afstanden zouden in het echte voorbeeld worden gewijzigd, aangezien een pas van 12 inch door een fietser niet ok is!!

Aanbevolen: