Obsah:

Zpětná vazba SONIC LED: 7 kroků (s obrázky)
Zpětná vazba SONIC LED: 7 kroků (s obrázky)

Video: Zpětná vazba SONIC LED: 7 kroků (s obrázky)

Video: Zpětná vazba SONIC LED: 7 kroků (s obrázky)
Video: Diagnostika spínaného zdroje krok za krokem - Jak vypadá zaseklý startup mode 2024, Červenec
Anonim
Zpětná vazba SONIC LED
Zpětná vazba SONIC LED
Zpětná vazba SONIC LED
Zpětná vazba SONIC LED
Zpětná vazba SONIC LED
Zpětná vazba SONIC LED

Ahoj znovu, Nenávidíte, že váš robot narazí na všechno? Tím se problém vyřeší. S 8 zvukovými senzory to vypadá komplikovaně … ale ve skutečnosti jsem to velmi usnadnil. Snažím se zveřejňovat projekty, které vám pomohou dozvědět se o Arduinu a ukázat koncept „mimo krabici“. Tento příspěvek vám pomůže pochopit 595 přepínání, pro-mini jako programovatelný senzor a velké využití zpětné vazby vedené v reálném čase. Pokud máte rádi Arduino jako „kopírování a vkládání a plug-in“, můžete to přeskočit.

Rád používám pro-mini. Jejich cena je přibližně 2,50 $, fungují jako plnohodnotné uno a instalace záhlaví je činí velmi flexibilními. Používá se jako mikro senzor, můžete jej nechat dělat „co chcete“místo toho, co vám diktuje zakoupený senzor. S I2C pomocí pouze 2 vodičů mohou být spojeny dohromady na jedné linii. Přejít na MEGA Mohu mít 4 mini běžící 4 oddělené řádky kódu najednou, za pouhých 10,00 $. Zde používám mini k prozrazení zvukových senzorů přes 595 a zobrazení vzdálenosti v reálném čase. Poté stačí sdílet 8 bitů dat s základní deskou. To odstraní zátěž z základní desky a zjednoduší její kód.

Se zvukovými senzory je problém … žádná vizuální zpětná vazba. Nikdy nevíte, jestli senzor je jen mrtvá váha nebo funguje! Věřím, že kdo kdy přišel s 'BLINK', je chytřejší než Einstine. Jen JEDNA LED dioda a blikáním se přenáší svět informací. Zvukový senzor tedy potřebuje zpětnou vazbu v reálném čase. Zde jsem použil řadu LED diod ke sledování každého senzoru. Nepotřebujete je, stačí vyrobit senzory bez LED diod. Ale mít LED diody na DPS je užitečné.

Krok 1: VYROBTE DPS

VYROBTE DPS
VYROBTE DPS
VYROBTE DPS
VYROBTE DPS
VYROBTE DPS
VYROBTE DPS
VYROBTE DPS
VYROBTE DPS

vyrobit PCB a zalidnit. UPOZORNĚNÍ … Udělal jsem chybu na desce plošných spojů ve 4pólových přípojkách, do kterých se zapojují zvukové senzory. ECHO a TRIGGER Vcc a pozemky se chystaly zapojit do desky plošných spojů. Není dostatek místa pro konektory, takže jsem vyrobil desku plošných spojů s vývody. Můžete tedy připájet drátový konektor k desce plošných spojů a zapojit do skutečných zvukových senzorů. Pokud jde o diody, dal jsem žluté LED na vnitřní okraj a červené na vnější. to vám pomůže vidět na dálku, zda senzory správně měří.

Toto je jeden z MNOHA 2side pcb, které jsem kdy vyrobil. Raději bych udělal 2 ea jednostranné a spustil propojky. Ale abyste získali LED displej, potřebujete alespoň horní desku plošných spojů. Při stahování jsem rozdělil rozložení.

Deska plošných spojů je pro pro-mini s A4-A5 uvnitř záhlaví na okraji. V každém případě stačí připojit A4-A5 k Master A4-A5. Nezapomeňte také na Vcc a Grounds.

Krok 2: MNOHO CHYB

MNOHO CHYB
MNOHO CHYB

Nyní k mým chybám … Pokusil jsem se spustit Triggery najednou (všechny svázané dohromady) a tato sorta fungovala dobře, ale došlo k několika interakcím. Nyní tedy všechny ECHOS jdou na micro (8) a TRIGGERS jsou nastaveny na 595. Tři další piny (3). Pokud jde o LED, multiplexování nebude fungovat. Pro každou LED potřebujete plný čas ZAPNUTÍ. To znamená, že každá řada 7 LED musí mít vlastní 595. Jakmile aktualizujete 595, LED diody zůstanou svítit až do další aktualizace. Kde multiplexování LED svítí pouze na tu desetinu sekundy. To funguje dobře v mých čtenářích a potřebuje speciální mikro. Na skenování 8 zvukových senzorů a měření vzdáleností není čas. Zkoušel jsem a mám velmi špatné výsledky. Multiplexování LED bude také znamenat mřížku řádek + sloupec a to znamená kolem 64+ průchodů v desce plošných spojů.

Použil jsem pouze 7 výstupů z 595 kvůli nepořádku na desce plošných spojů. Na dálku nepoznáte, zda je 7 nebo 8 LED diod pouze v jejich pohybu. Můžete být v pokušení spojit všechny diody na jeden odpor a funguje to, ale jas pole se mění s množstvím LED, které jsou lite. Nejlepší je tedy jeden odpor na led. Miluji 595, ale kdyby jen přesunuli piny Vcc a 0 výstupů nebo vytvořili 18kolíkový ic se VŠECH výstupy na stejné straně … připojení všech osmi výstupů by bylo tak snadné. Ale pak by se neprodával za méně než 30 centů.

Krok 3: MONTÁŽNÍ SENZORY

MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY
MONTÁŽNÍ SENZORY

Na víko kávy přilepte sonické senzory. samčí konektor musí být ohnutý dovnitř na každém senzoru. To funguje lépe, pokud ohýbáte jeden kolík najednou. Použil jsem 2 boční pěnové pásky, takže vibrace jsou menší. Moje senzory jsou příliš blízko a potřebují 1/4 palcový prostor, aby lépe odpovídaly desce plošných spojů. Dříve jsem používal zvukové senzory a někdy se nepodaří měřit přesně a musíte to mít na paměti. Nelepte je tedy všechny natrvalo.

Pomůže také spustit rychlý test vzdálenosti na každém z nich, než je použijete. Dostávám asi jeden senzor se špatným odečtem v dávce 20. Není to špatné za cenu, kterou jsem zaplatil.

Krok 4: TVRDÝ DRÁT

TVRDÝ DRÁT
TVRDÝ DRÁT

Myslel jsem, že z PC do počítače bude místo pro konektory a konektory

zvukové kolíky, ale vyběhl jsem z místnosti. Takže jsem pevně zapojil konec desky plošných spojů a právě jsem vytvořil echo a spouštěcí dráty pomocí samičích konektorů (8ea). Spojil jsem 8ea Vcc a 8ea uzemnění senzorů dohromady, takže to pro ně znamenalo pouze 2 připojení k DPS.

S 8 senzory a 8 595 s toto Uno nebo pro-mini NEMŮŽE napájet. Součástí tohoto projektu musí být 5v regulovaný zdroj. Můj robot má z baterií jednoduchý 7805 @ 1amp. To je spojeno se všemi 5 V Vcc pro všechna zařízení. 7805 klesá asi o volt, takže k jeho napájení potřebujete alespoň 6,5 voltů. To jsou 2 lithiové baterie na 3,3 V. Můj robot má staré nikaky z použitých vrtacích sad a 8 nikaků pohánělo typický čínský 12v motor v podvozku tankového typu za 20 $.

Krok 5: STAŽENÍ SONIC SKETCH

STAŽENÍ SONIC SKETCH
STAŽENÍ SONIC SKETCH

Stáhněte si skicu a nainstalujte. Existuje mnoho způsobů, jak mluvit

další uno ale já mám rád I2c. zmatek je adresování a master/ slave. Jako u většiny senzorů (uvažujte o 2. mini jako o senzoru) oslovíte senzor a požádáte o x množství bytů. tady totéž. Ve 2. mini odložíte x množství bajtů, které chcete odeslat. Zmatek je ten, že na jménech nezáleží. Pomůže vám to zapamatovat si jen to, pokud jména sdílíte. V náčrtu tedy posílám 8 měření zvukové vzdálenosti v cm jako sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Master získá pouze 8 bajtů, pokud jsou data, a můžete jim říkat, co chcete. Četl jsem je jako gotR1, gotR2, got ….. Odeslané pořadí bytů je stejné. Takže bajt A, B, C ….. nemyslete si, že změnou názvu získáte jiná data. A další úlovek, můžete přijímat pouze data, která mají být odeslána. Pokud tedy chcete další data, musíte změnit OBĚ hlavní a podřízené.

Krok 6: KOMUNIKACE

SDĚLENÍ
SDĚLENÍ

Můžete to přeskočit, pokud víte, jak nastavit 2 Uno, aby spolu mluvili. Na závěr mám pár informací. Aby to bylo snadné, zavolám uno v robotické základně M1 a zvukový senzor jako S2. Připojte k sobě Vcc, uzemnění, A4, A5.

Ve skice pro S2 začíná #include

Poté vytvořte 8 bajtů k odeslání. byte R1, byte R2, byte L1 atd. Uno je 8bitový mikro, takže posílají 1 bajt najednou pomocí 'byte' namísto 'int' je správné.

V 'setup ()' add 'Wire.begin (adresa)' to řekne I2c, které zařízení to je. Adresa je obvykle libovolné číslo mezi 4 a 200. Velikost jednoho bajtu. Zde jsem použil číslo 10. Abych si promluvil s tímto senzorem S2, musí mistr zavolat Wire.requestFrom (10, 8). Toto je adresa 10 a 8 je počet požadovaných bytů. Také v 'setup ()' přidejte Wire.onRequest (isr anyName). Když M1 zavolá požadavek, senzor S2 zareaguje přerušením. To jen volá funkci anyName. Tuto funkci anyName je tedy třeba vytvořit. Podívejte se na náčrt a podívejte se na funkci 'sendThis ()' Zde jsou bajty skutečně odesílány do M1. Samotné bajty jdou a NE jména a v pořadí odeslané. Zde začíná velikost a množství dat k odeslání. V tomto jednoduchém formátu bajtů by se odesílání a příjem měly shodovat. Zde bylo odesláno 8 bytů a přijato 8 bytů. Jedna poznámka zde volá volání funkce vyžaduje (). Jako delay (), millis (), Serial.print (). Při použití ISR (rutina služby přerušení) volání funkce zruší (). Takže Wire.onRequest (sendThis) ne Wire.onRequest (sendThis ()).

Zmatek, který jsem měl, byla věc pán/otrok. Nejprve jsem si myslel, že pán je VŽDY pán. Ale v náčrtu můžete přepnout master/slave na požadavek z jiných mikroskopů nebo odeslat na jiné mikroskopy. Pokud jste dodržovali základní formát popsaný výše. Pamatujte … sdílíte POUZE data, která byla přiřazena.

Dva kousky ze zdi. Přerušení isr přeruší pouze mezi čarami skici. Pokud jste uzamčeni ve smyčce „zatímco nebo pro“, nic se nestane, dokud smyčka nevyjde. ŽÁDNÝ problém, protože to může trvat několik mikrosekund a data jsou stará.

Dalším problémem je, že 'uvnitř' mikro je 100% bezchybný výpočet. Jakákoli komunikace „zvenčí“(dráty) podléhá chybám. Existuje mnoho způsobů, jak zkontrolovat, zda jsou dodaná data bezchybná a odpovídají zdroji. Nejjednodušší je to pomocí kontrolního součtu. Stačí přidat součty odesílacích bajtů (skutečné hodnoty) a odeslat součty a na přijímajícím konci přidat součty a zjistit, zda se shodují. Pokud se shodují v pořádku, nebo házejte tuto sadu dat, pokud ne. Samozřejmě to zahrnuje odesílání celočíselné hodnoty, nikoli bajtů. Rozdělíte tedy celé číslo na HI byte a LO byte a odešlete jako samostatné bajty. Poté sestavte u přijímače.

SNADNÝ:

int x = 5696; (jakákoli platná hodnota int, max je 65k nebo 32k záporná)

byte hi = x >> 8; (22)

byte lo = x; (64)

odešlete bajty a zkombinujte na druhém konci….

byte hi = Wire.read ();

byte lo = Wire.read ();

int newx = (hi << 8) + lo; (5696)

Krok 7: ZAVŘÍT

ZAVŘÍT
ZAVŘÍT
ZAVŘÍT
ZAVŘÍT
ZAVŘÍT
ZAVŘÍT
ZAVŘÍT
ZAVŘÍT

Na závěr tento zvukový senzor poskytuje základní desce surová data o vzdálenosti v reálném čase. Tím se mikro uvolní a skica bude mnohem méně komplikovaná. Micro se nyní může dobře rozhodnout zpomalit, otočit, zastavit nebo couvat na základě dobrých dat místo náhodných odhadů. Podívejte se na můj další příspěvek o bluetooth IDE, kde můžete nahrát náčrtky bez kabelů a neustále připojovat robota, abyste mohli rychle změnit skicu. Děkujeme, že jste si to prohlédli. oldmaninsc.

Doporučuje: