Inhoudsopgave:

Micro:bit MU Vision Sensor - Object volgen - Ajarnpa
Micro:bit MU Vision Sensor - Object volgen - Ajarnpa

Video: Micro:bit MU Vision Sensor - Object volgen - Ajarnpa

Video: Micro:bit MU Vision Sensor - Object volgen - Ajarnpa
Video: DIY Robot with AI vision sensor for Object classification 2024, Juli-
Anonim
Micro:bit MU Vision Sensor - Object volgen
Micro:bit MU Vision Sensor - Object volgen

Dus in deze instructable gaan we beginnen met het programmeren van de Smart Car die we in deze instructable hebben gebouwd en waarop we een MU vision-sensor hebben geïnstalleerd in deze instructable.

We gaan de micro:bit programmeren met een aantal eenvoudige objecttracking, zodat de MU-sensor verkeerskaarten kan volgen.

Benodigdheden

Materialen

1 x Micro:bit

1 x Motor: bit

1 x MU vision-sensor

1 x 2-assige camerabevestiging

4 x M3 x 30 schroeven

6 x M3 x 6 schroeven

6 x M3-afstandhouder

10 x M3-moeren

1 x zwenkwiel

2 x Slimme automotoren

2 x TT130-motor

2 x wielen voor de TT130-motor

1 x 9 volt batterij + batterijhouder

Een stukje draad. In twee verschillende kleuren indien mogelijk

4 mm multiplex (170 x 125 mm zou moeten doen)

Een klein stukje dubbelzijdig plakband

Klittenband (klittenband)

Hete lijm

Gereedschap:

Schroevendraaiers

Solderen

Ijzer

Draadknipper

Lasersnijder

Heet lijmpistool

Oefening

2,5 en 3 mm boren

Stap 1: De MU-sensor instellen

De MU-sensor instellen
De MU-sensor instellen

Voordat we iets gaan aansluiten, willen we de sensor goed instellen.

De Mu Vision sensor heeft 4 schakelaars. De twee links bepalen de uitvoermodus en de twee rechts bepalen het adres.

Omdat we willen dat het adres 00 is, moeten beide schakelaars aan de rechterkant worden uitgeschakeld.

De verschillende uitvoermodi zijn:

00 UART

01 I2C

10 Wifi-gegevensoverdracht

11 Wifi-beeldoverdracht

We willen in de I2C-modus werken, dus de twee schakelaars moeten op 01 staan, dus de meest linkse moet worden uitgeschakeld en de andere moet aan staan.

Stap 2: Bedrading van de MU-sensor

Bedrading is vrij eenvoudig, gebruik gewoon vier jumperdraden om de Mu-sensor met je breakout-bord te verbinden.

Mu-sensor -> Breakout-bord

SDA -> pin 20

SCL -> pin 19

G -> Grond

V -> 3.3-5V

Stap 3: Bedrading van de camerabevestiging

De camerabevestiging bedraden
De camerabevestiging bedraden

De servomotor die de horizontale beweging bestuurt, moet worden aangesloten op pin 13 en de servomotor die de verticale beweging bestuurt, moet worden aangesloten op pin 14.

Stap 4: De extensie verkrijgen

De extensie verkrijgen
De extensie verkrijgen
De extensie verkrijgen
De extensie verkrijgen
De extensie verkrijgen
De extensie verkrijgen

Eerst gaan we naar de Makecode-editor en starten we een nieuw project. We gaan dan naar "Geavanceerd" en selecteren "Extensies". Houd er rekening mee dat aangezien ik Deens ben, deze knoppen op de foto's iets andere namen hebben. In extensies zoeken we naar "Muvision" en selecteren het enige resultaat dat we krijgen.

Stap 5: De verbinding initialiseren en het algoritme inschakelen

De verbinding initialiseren en het algoritme inschakelen
De verbinding initialiseren en het algoritme inschakelen

Wanneer u deze extensie gebruikt, krijgt u enkele "Cannot read property of undefined"-fouten. Dat komt gewoon omdat de micro:bit-animatie ontbreekt. Het heeft geen invloed op de compilatie en uitvoering van het programma.

Het eerste oranje deel van de code initialiseert de I2C-verbinding.

Het tweede oranje deel van de code activeert de algoritmen voor het herkennen van verkeerskaarten.

Het weergeven van nummers wordt gebruikt om problemen op te lossen. Als de micro:bit niet tot drie telt wanneer u het programma uitvoert, controleer dan of de draden op de MU vision-sensor goed zijn aangesloten op de juiste pinnen.

De twee rode blokken bepalen de startpositie voor de camerabevestiging.

Stap 6: Het programma

Het programma
Het programma

De twee eerste rode blokken besturen de servomotoren die de camerabevestigingen aansturen. De eerste regelt de verticale beweging en de tweede regelt de horizontale beweging.

De eerste buitenste "IF"-blokken controleren of de MU-sensor eventuele verkeerskaarten kan detecteren. Als het kan, gaan we verder met de twee "ALS" -instructies binnenin.

De eerste "IF"-verklaring controleert de verticale plaatsing van de gedetecteerde kaart in het gezichtsveld. Als een kaart in het midden van het gezichtsveld wordt geplaatst, krijgen we de waarde 50 van het verticale waarde-algoritme. Nu de kaart precies in het midden staat, is een beetje zeldzaam. We moeten heel precies raken, dus als we 50 als de enige waarde gebruiken waar de camera stil moet staan, dan zal hij min of meer de hele tijd bewegen. Dus in plaats daarvan tellen we alles tussen 45 en 55 als in het midden. Dus als de verticale plaatsing van de kaarten lager is dan 45, dan verplaatsen we de camera een beetje naar beneden, door de verticale variabele met +1 te veranderen. Op dezelfde manier verplaatsen we de camera een beetje naar boven als de verticale plaatsing boven 55 is, door de verticale variabele met -1 te veranderen. Ik vind het misschien vreemd dat de camera omhoog gaat als we de variabele omhoog brengen en omlaag als de variabele omhoog gaat, maar zo is de motor geplaatst.

Het tweede "IF" statement doet precies hetzelfde, maar dan voor de horizontale positie. Dus wanneer de verkeerskaart te ver rechts van het gezichtsveld staat, dan zal de camera naar rechts bewegen en wanneer deze te ver naar links van het gezichtsveld staat, dan zal de camera naar links bewegen.

Het programma vind je hier.

Stap 7: Klaar

Upload nu uw programma naar de Smart Car en test het uit.

U kunt verhogen hoe snel de camera reageert op beweging door de verandering in de variabelen te verhogen naar 2 of 3 in plaats van 1. U kunt ook proberen te verkleinen hoe groot een deel van het veld is als het midden. Probeer in plaats daarvan van 47 naar 53 te gaan.

Aanbevolen: