Innholdsfortegnelse:

Micro: bit MU Vision Sensor - Sporingsobjekter: 6 trinn
Micro: bit MU Vision Sensor - Sporingsobjekter: 6 trinn

Video: Micro: bit MU Vision Sensor - Sporingsobjekter: 6 trinn

Video: Micro: bit MU Vision Sensor - Sporingsobjekter: 6 trinn
Video: DIY Robot with AI vision sensor for Object classification 2024, November
Anonim
Micro: bit MU Vision Sensor - Sporingsobjekter
Micro: bit MU Vision Sensor - Sporingsobjekter

Dette er min fjerde guide til MU -visionssensoren for micro: bit. Her vil jeg gå gjennom hvordan du sporer objekter med micro: bit og skriver koordinatene til en OLED -skjerm. Jeg har i mine andre guider gått igjennom hvordan jeg kobler micro: bit til MU vision sensor og OLED og hvordan jeg får den riktige utvidelsen, for å programmere den. Jeg vil fortsatt forklare det i denne guiden, men litt raskere.

Rekvisita

1 x BBC micro: bit

1 x Morpx Mu Vision Sensor 3

1 x Micro: bit breakout board - Det må ha tilgang til pin 19 & 20, som ikke alle breakout boards har. Jeg bruker elecfreaks motorbit, fordi jeg liker det brettet.

8 x Stikkledninger (Kvinne-Kvinne)

1 x OLED -skjerm

Trinn 1: Trinn 1: Sette opp sensoren

Trinn 1: Sette opp sensoren
Trinn 1: Sette opp sensoren

Før vi begynner å koble til noe, vil vi konfigurere sensoren riktig.

Mu Vision -sensoren har 4 brytere. De to til venstre bestemmer utmatingsmodusen, og de to til høyre bestemmer adressen. Siden vi vil at adressen skal være 00, bør begge bryterne til høyre være slått av. De forskjellige utgangsmodiene er:

00 UART

01 I2C

10 Wifi -data overføring

11 Wifi bildeoverføring

Vi ønsker å bruke en seriell tilkobling, fordi OLED -skjermen trenger mikro: bits bare I2C -pinner, så vi skal jobbe i UART -modus. Det betyr at de to bryterne skal være på 00, så begge skal være på.

Trinn 2: Trinn 2: Kabling

Trinn 2: Kabling
Trinn 2: Kabling

Kabling er ganske enkelt, bare bruk fire jumper -ledninger for å koble Mu -sensoren til vårt breakout -bord. Se på bildet i trinn 1 for å få hjelp.

Mu sensor -> Breakout board

RX-> pin 13

TX -> pin 14

G -> Bakken

V -> 3,3-5V

Deretter bruker vi fire jumper -ledninger for å koble OLED -en til bryterbrettet.

OLED -> Breakout -brett

Vin -> 3,3 v

GND -> GND

SCL -> Pin19

SCD -> Pin20

Trinn 3: Få utvidelsene

Få utvidelsene
Få utvidelsene
Få utvidelsene
Få utvidelsene
Få utvidelsene
Få utvidelsene
Få utvidelsene
Få utvidelsene

Først går vi til Makecode -redaktøren og starter et nytt prosjekt. Vi går deretter til "Avansert" og velger "Utvidelser". Vær oppmerksom på at siden jeg er dansk, har disse knappene litt forskjellige navn på bildene. I utvidelser søker vi etter "Muvision" og velger det eneste resultatet vi får. Vi går deretter tilbake til utvidelser og søker etter oled12864 og velger utvidelsen OLED12864_I2C.

Trinn 4: Koding- på Start

Koding- på Start
Koding- på Start

Den første blokken i dette programmet forteller micro: -biten hvilke pinner den skal bruke for å opprette den serielle tilkoblingen. Hvis du har brukt de samme pinnene som jeg da du koblet til MU -visionssensoren, vil du sette TX til pinne 13 og RX til pinne 14. Baudrate, som er hvor raskt mikro: bit og MU -synssensoren kommer til å snakke, bør settes til 9600.

Den neste blokken initialiserer I2C -tilkoblingen mellom OLED -skjermen og Micro: bit. Adressen avhenger av OLED -maskinvaren. Det er oftest 60, men for noen OLED -skjermer kan det være 61 eller andre tall.

Jeg inkluderer de tre visningsblokkene for å hjelpe til med feilsøking. For eksempel hvis micro: bit bare teller til 2 ved oppstart, så vet jeg at det er et problem med å aktivere formkort -algoritmen. Du kan inkludere en fjerde visningsblokk mellom den første og andre blokken i det gjeldende programmet.

Den neste blokken, den første oransje blokken, initialiserer den serielle tilkoblingen mellom MU -synssensoren og mikro: bit.

Neste blokk er en visningsblokk for feilsøking.

Den neste blokken, som skal være den andre oransje blokken, forteller MU -sensoren å aktivere Shape Card -algoritmene.

Den siste blokken er en visningsblokk for feilsøking.

Trinn 5: Koding - Forever Loop

Koding - Forever Loop
Koding - Forever Loop
Koding - Forever Loop
Koding - Forever Loop

Vi starter programmet med en if-else-blokk, med en deteck-formkortblokk.

Detekter formkort gir enten en 0 eller 1. Hvis et formkort blir oppdaget får vi en 1 (sann) og en 0 (usann) hvis et tallkort ikke blir oppdaget. Vi må inkludere det, for med formkortet vil algoritmer alltid kjøre på de sist oppdagede formkortene. Så hvis vi aldri oppdager et formkort, kan vi egentlig ikke kjøre algoritmene.

Den første blokken i sannhetserklæringen forteller OLED -skjermen om å skrive en W (for bredde) øverst til venstre på skjermen. Posisjon (0, 0).

Den neste blokken forteller OLED -skjermen å skrive tallet det får fra formkortet med algoritmen til høyre for W. -posisjonen (2, 0). Dette tallet forteller oss hvor bredde formkortet er.

Programmet fortsetter slik.

Først en blokk som forteller OLED -skjermen om å skrive et brev. H for høyde på (5, 0). X for X-posisjonsverdien ved (0, 2). Y for Y-posisjonsverdien ved (5, 2)

Deretter en annen blokk som forteller OLED -skjermen om å skrive et tall det får fra formkortets algoritme. Kortene høyde på (7, 0). Kortene X-posisjon på (2, 2). Kortene Y-posisjon på (7, 2).

Så når vi kjører programmet og MU Vision -sensoren oppdager et formkort, vil det gi oss kortene bredde, høyde og posisjon.

Hele programmet finner du her.

Trinn 6: Testing

Det kan være litt vanskelig å se på videoen, men når jeg flytter kortet fra side til side endres X-verdien. Når du flytter kortet opp og ned, endres Y-verdien. Hvis du flytter kortet nærmere og bort fra MU -synssensoren, endres høyde- og breddeverdiene.

Det er ganske enkelt å bruke dette programmet til å oppdage andre ting. Bare endre "formkortet" til det du vil oppdage. Det skal fungere med fargeblokker, baller, kropp, tallkort og trafikkort.

Anbefalt: