Cuprins:

Senzor de viziune micro: bit MU - Urmărirea obiectelor: 6 pași
Senzor de viziune micro: bit MU - Urmărirea obiectelor: 6 pași
Anonim
Senzor de viziune MU Micro: bit - Urmărirea obiectelor
Senzor de viziune MU Micro: bit - Urmărirea obiectelor

Acesta este al patrulea meu ghid pentru senzorul de viziune MU pentru micro: bit. Aici voi trece prin modul de urmărire a obiectelor cu micro: bit și să scriu coordonatele pe un ecran OLED. În celelalte ghiduri am trecut prin modul de conectare a bitului micro: la senzorul de viziune MU și OLED și cum să obțin extensia potrivită, pentru a o programa. În continuare, voi explica acest lucru în acest ghid, dar puțin mai repede.

Provizii

1 x BBC micro: bit

1 x senzor de viziune Morpx Mu

1 x Micro: bit breakout board - Trebuie să aibă acces la pinii 19 și 20, pe care nu le au toate plăcile de breakout. Folosesc elecfreaks motorbit, pentru că îmi place placa respectivă.

8 x fire jumper (feminin-feminin)

1 x ecran OLED

Pasul 1: Pasul 1: Configurarea senzorului

Pasul 1: Configurarea senzorului
Pasul 1: Configurarea senzorului

Înainte de a începe să conectăm ceva, dorim să configurăm senzorul în mod corespunzător.

Senzorul Mu Vision are 4 comutatoare. Cei doi din stânga își decid modul de ieșire, iar cei doi din dreapta își decide adresa. Deoarece dorim ca adresa să fie 00, ambele comutatoare din dreapta ar trebui să fie dezactivate. Diferitele moduri de ieșire sunt:

00 UART

01 I2C

10 Transmisie date Wifi

11 Transmisie imagine Wifi

Vrem să folosim o conexiune serială, deoarece ecranul OLED are nevoie de micro: biți doar pini I2C, așa că vom lucra în modul UART. Asta înseamnă că cele două comutatoare ar trebui să fie activate pe 00, deci ambele ar trebui să fie activate.

Pasul 2: Pasul 2: Cablare

Pasul 2: Cablare
Pasul 2: Cablare

Cablarea este destul de ușoară, trebuie doar să folosiți patru fire jumper pentru a conecta senzorul Mu la placa noastră de breakout. Uitați-vă la imaginea din Pasul 1 pentru ajutor.

Senzor Mu -> Breakout board

RX-> pinul 13

TX -> pinul 14

G -> Teren

V -> 3.3-5V

Apoi, folosim patru fire jumper pentru a conecta OLED-ul la placa noastră.

OLED -> bord Breakout

Vin -> 3,3 v

GND -> GND

SCL -> Pin19

SCD -> Pin20

Pasul 3: Obținerea extensiilor

Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor
Obținerea extensiilor

Mai întâi mergem la editorul Makecode și începem un nou proiect. Apoi mergem la „Avansat” și selectăm „Extensii”. Rețineți că, din moment ce sunt danez, aceste butoane au nume ușor diferite în imagini. În extensii căutăm „Muvision” și selectăm singurul rezultat pe care îl obținem. Apoi ne întoarcem în extensii și căutăm oled12864 și selectăm extensia OLED12864_I2C.

Pasul 4: Codare- la Start

Codare- pe Start
Codare- pe Start

Primul bloc din acest program indică micro: bitul pe care pin trebuie să-l folosească pentru a face conexiunea serială. Dacă ați folosit aceiași pini ca și mine când ați conectat senzorul de viziune MU, atunci doriți să setați TX la pinul 13 și RX la pinul 14. Baudrate, care este cât de repede vor vorbi senzorul de viziune micro: bit și MU, ar trebui să fie setat la 9600.

Următorul bloc inițializează conexiunea I2C între ecranul OLED și Micro: bit. Adresa depinde de hardware-ul OLED. Este cel mai adesea 60, dar pentru unele ecrane OLED ar putea fi 61 sau alte numere.

Includ cele trei blocuri de numere de afișare pentru a ajuta la depanarea. De exemplu, dacă micro: bitul contează doar la 2 la pornire, atunci știu că există o problemă la activarea algoritmului cardului de formă. Puteți include un al patrulea bloc de număr de spectacol între primul și al doilea bloc din programul curent.

Următorul bloc, primul bloc portocaliu, inițializează conexiunea serială între senzorul de viziune MU și micro: bit.

Blocul următor este un bloc de afișare a numărului pentru depanare.

Următorul bloc, care ar trebui să fie al doilea bloc portocaliu, spune senzorului MU să activeze algoritmii Shape Card.

Ultimul bloc este un număr de afișare pentru depanare.

Pasul 5: Codificare - Forever Loop

Codificare - Forever Loop
Codificare - Forever Loop
Codificare - Forever Loop
Codificare - Forever Loop

Începem programul cu un bloc if-else, cu un bloc de card de formă de detecție.

Detectați forma cardului dă fie 0, fie 1. Dacă este detectată o carte de formă, obținem un 1 (adevărat) și un 0 (fals) dacă nu este detectat un card numeric. Trebuie să includem acest lucru, deoarece cu ajutorul cardurilor noastre de formă algoritmii vor rula întotdeauna pe ultimele cărți de formă detectate. Deci, dacă nu detectăm niciodată un formular, atunci nu putem rula cu adevărat algoritmii.

Primul bloc din declarația adevărului spune ecranului OLED să scrie un W (Pentru lățime) în colțul din stânga sus al ecranului. Poziție (0, 0).

Următorul bloc spune ecranului OLED să scrie numărul pe care îl obține din algoritmul cardului de formă cu dreapta poziției W. (2, 0). Acest număr ne spune cât de lată este cardul de formă.

Programul continuă astfel.

Mai întâi un bloc care spune ecranului OLED să scrie o scrisoare. H pentru Înălțime la (5, 0). X pentru valoarea poziției X la (0, 2). Y pentru valoarea poziției Y la (5, 2)

Apoi, un al doilea bloc care spune ecranului OLED să scrie un număr pe care îl obține din algoritmul cardului de formă. Înălțimea cărților la (7, 0). Cărțile sunt în poziția X la (2, 2). Cardurile poziționează Y la (7, 2).

Așadar, atunci când rulăm programul și senzorul MU Vision detectează o fișă de prezentare, acesta ne va oferi lățimea, înălțimea și poziția cardurilor.

Programul complet poate fi găsit aici.

Pasul 6: Testare

S-ar putea să fie puțin greu de văzut în videoclip, dar când mut cardul dintr-o parte în alta, valoarea X se schimbă. Deplasarea cărții în sus și în jos schimbă valoarea Y. Mutarea cardului mai aproape și mai departe de senzorul de viziune MU modifică valorile înălțimii și lățimii.

Este destul de ușor să utilizați acest program pentru a detecta alte lucruri. Schimbați „cardul de formă” cu ceea ce doriți să detectați. Ar trebui să funcționeze cu blocuri de culori, bile, corpuri, cărți numerice și cărți de trafic.

Recomandat: