Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Toto je můj čtvrtý průvodce senzorem vidění MU pro micro: bit. Zde si projdu, jak sledovat objekty pomocí micro: bit a zapsat souřadnice na OLED obrazovku. Ve svých dalších příručkách jsem prošel, jak připojit micro: bit ke zrakovému senzoru MU a OLED a jak získat správné rozšíření a naprogramovat ho. V této příručce to ještě vysvětlím, ale o něco rychleji.
Zásoby
1 x BBC micro: bit
1 x senzor vidění Morpx Mu 3
1 x Micro: bit breakout board - Musí mít přístup k pinům 19 a 20, které ne všechny breakout desky mají. Používám Ebitfreaks Motorbit, protože se mi ta deska líbí.
8 x propojovací vodiče (žena-žena)
1 x OLED obrazovka
Krok 1: Krok 1: Nastavení senzoru
Než začneme cokoli připojovat, chceme senzor správně nastavit.
Senzor Mu Vision má 4 spínače. Dva vlevo rozhodují o jeho výstupním režimu a dva vpravo o jeho adrese. Protože chceme, aby adresa byla 00, měly by být vypnuty oba přepínače vpravo. Různé výstupní režimy jsou:
00 UART
01 I2C
10 Wifi datový přenos
11 Přenos obrazu Wifi
Chceme použít sériové připojení, protože OLED obrazovka potřebuje mikro: bity pouze piny I2C, takže budeme pracovat v režimu UART. To znamená, že dva přepínače by měly být na 00, takže oba by měly být na vypnuto.
Krok 2: Krok 2: Zapojení
Zapojení je docela snadné, stačí použít čtyři propojovací vodiče a propojit senzor Mu s naší odpočinkovou deskou. Nápovědu najdete na obrázku v kroku 1.
Mu senzor -> Breakout deska
RX-> kolík 13
TX -> pin 14
G -> Zem
V -> 3,3-5V
Poté pomocí čtyř propojovacích kabelů propojíme OLED s naší odpočinkovou deskou.
OLED -> Breakout deska
Vin -> 3,3 v
GND -> GND
SCL -> Pin19
SCD -> Pin20
Krok 3: Získání rozšíření
Nejprve přejdeme do editoru Makecode a zahájíme nový projekt. Poté přejdeme na „Pokročilé“a vybereme „Rozšíření“. Uvědomte si, že protože jsem Dán, tato tlačítka mají na obrázcích trochu jiná jména. V rozšířeních hledáme „Muvision“a vybereme jediný výsledek, který dostaneme. Poté se vrátíme zpět do rozšíření a hledáme oled12864 a vybereme rozšíření OLED12864_I2C.
Krok 4: Kódování- při spuštění
První blok v tomto programu říká micro: bitům, které piny by měl použít k vytvoření sériového připojení. Pokud jste použili stejné piny jako já, když jste připojili snímač vidění MU, pak chcete nastavit TX na pin 13 a RX na pin 14. Baudrate, což je to, jak rychle bude mikro: bit a senzor vidění MU mluvit, by měl být nastaven na 9600.
Další blok inicializuje připojení I2C mezi OLED obrazovkou a Micro: bitem. Adresa závisí na hardwaru OLED. Nejčastěji je to 60, ale u některých obrazovek OLED to může být 61 nebo jiná čísla.
Na pomoc při odstraňování problémů zahrnuji tři bloky s pořadovým číslem. Například pokud se mikro: bit počítá pouze do 2 při spuštění, pak vím, že je problém s povolením algoritmu tvarové karty. Můžete zahrnout čtvrtý blok čísel show mezi prvním a druhým blokem v aktuálním programu.
Další blok, první oranžový blok, inicializuje sériové připojení mezi senzorem vidění MU a mikro: bitem.
Další blok je blok s pořadovým číslem pro řešení potíží.
Další blok, který by měl být druhým oranžovým blokem, říká senzoru MU, aby povolil algoritmy Shape Card.
Poslední blok je blok s pořadovým číslem pro řešení potíží.
Krok 5: Kódování - navždy smyčka
Program spustíme blokem if-else s blokem karty tvaru detektoru.
Karta Detect shape dá buď 0 nebo 1. Pokud je detekována karta tvaru, dostaneme 1 (true) a 0 (false), pokud není detekována karta s číslem. Musíme to zahrnout, protože s našimi algoritmy tvarových karet poběží vždy na posledních zjištěných kartách tvarů. Pokud tedy nikdy nezjistíme tvarovou kartu, pak opravdu nemůžeme spustit algoritmy.
První blok v prohlášení o pravdě říká OLED obrazovce, aby napsala W (pro šířku) v levém horním rohu obrazovky. Pozice (0, 0).
Další blok říká OLED obrazovce, aby napsala číslo, které získá z algoritmu karty tvaru s napravo od W. pozice (2, 0). Toto číslo nám říká, jak široká je karta tvaru.
Program takto pokračuje.
Nejprve blok, který říká OLED obrazovce, aby napsala dopis. H pro Výška v (5, 0). X pro hodnotu polohy X na (0, 2). Y pro hodnotu polohy Y na (5, 2)
Potom druhý blok, který řekne obrazovce OLED, aby zapsala číslo, které získá z algoritmu karty tvaru. Výška karet na (7, 0). Pozice X karet na (2, 2). Pozice Y karet na (7, 2).
Když tedy spustíme program a senzor MU Vision detekuje tvarovou kartu, poskytne nám šířku, výšku a polohu karet.
Kompletní program najdete zde.
Krok 6: Testování
Může to být trochu těžké vidět na videu, ale když přesunu kartu ze strany na stranu, hodnota X se změní. Pohybem karty nahoru a dolů se změní hodnota Y. Přemístěním karty blíže ke zrakovému senzoru MU a mimo něj se mění hodnoty výšky a šířky.
Je docela snadné použít tento program k detekci dalších věcí. Stačí změnit „kartu tvaru“na to, co chcete detekovat. Mělo by to fungovat s barevnými bloky, koulemi, těly, kartami s čísly a dopravními kartami.