Obsah:

FEEDBACK SONIC LED: 7 krokov (s obrázkami)
FEEDBACK SONIC LED: 7 krokov (s obrázkami)

Video: FEEDBACK SONIC LED: 7 krokov (s obrázkami)

Video: FEEDBACK SONIC LED: 7 krokov (s obrázkami)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, Júl
Anonim
FEEDBACK SONIC LED
FEEDBACK SONIC LED
FEEDBACK SONIC LED
FEEDBACK SONIC LED
FEEDBACK SONIC LED
FEEDBACK SONIC LED

Ešte raz Ahoj, Nenávidíte, že váš robot narazí na všetko? Tým sa problém vyrieši. S 8 zvukovými senzormi to vyzerá komplikovane … ale v skutočnosti som to veľmi zjednodušil. Snažím sa uverejňovať projekty, ktoré vám pomôžu dozvedieť sa viac o Arduine a ukázať koncept „mimo krabice“. Tento príspevok vám pomôže porozumieť 595 prepínaniam, pro-mini ako programovateľnému senzoru a veľkému využívaniu spätnej väzby vedenej v reálnom čase. Ak máte radi Arduino ako „kopírovanie a vkladanie a doplnok“, môžete to preskočiť.

Rád používam pro-mini. Majú približne 2,50 dolára, fungujú ako plnohodnotné uno a inštalácia hlavičiek ich robí veľmi flexibilnými. Ak ho použijete ako mikro senzor, môžete nechať robiť „to, čo chcete“namiesto toho, čo vám kúpený senzor diktuje. S I2C pomocou iba 2 drôtov je možné ich spojiť dohromady na jednej linke. Prejdite teda na stránku MEGA I can have 4 minis running 4 separate lines of code at the same time, at just $ 10,00. Tu používam mini na prepínanie zvukových senzorov cez 595 a zobrazenie vzdialenosti LED v reálnom čase. Potom stačí zdieľať 8 bitov údajov s matičnou doskou. Tým sa zníži zaťaženie základnej dosky a zjednoduší sa jej kód.

Vyskytol sa problém so zvukovými senzormi … žiadna vizuálna spätná väzba. Nikdy neviete, či je senzor iba mŕtvou záťažou alebo funguje! Verím, že kto kedy prišiel s 'BLINK', je múdrejší ako Einstine. Stačí JEDNA LED dióda a blikaním sa šíri svet informácií. Zvukový senzor teda potrebuje spätnú väzbu v reálnom čase. Tu som použil rad LED na monitorovanie každého senzora. Nepotrebujete ich, stačí vyrobiť senzory bez LED diód. Je však užitočné mať LED diódy na doske plošných spojov.

Krok 1: VYROBTE DPS

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

vyrobiť PCB a osídliť. UPOZORNENIE … Urobil som chybu na doske s plošnými spojmi v 4 -pólových konektoroch, do ktorých sa môžu zapojiť zvukové senzory. ECHO a TRIGGER Vcc a uzemnenie sa chystali zapojiť do dosky plošných spojov. Nie je dostatok miesta na konektory, takže som vyrobil DPS s vývodmi. Môžete teda spájkovať drôtový konektor s plošnými spojmi a zapojiť ho do skutočných zvukových senzorov. Pokiaľ ide o LED diódy, dal som žlté LED diódy na vnútornom okraji a červené na vonkajšej strane. to vám pomôže vidieť na diaľku, či senzory správne merajú.

Toto je jeden z MNOHA 2 -stranných plošných spojov, ktoré som kedy vyrobil. Radšej by som urobil 2 ea jednostranné a spustené prepojky. Na získanie LED displeja však potrebujete aspoň hornú dosku plošných spojov. V sťahovaní som oddelil rozloženie.

DPS je pre pro-mini s A4-A5 vnútri záhlavia okraja. V každom prípade jednoducho pripojte A4-A5 k Master A4-A5. Nezabudnite tiež na Vcc a Grounds.

Krok 2: VEĽA CHYB

VEĽA CHYB
VEĽA CHYB

Teraz k mojim chybám … Pokúsil som sa spustiť spúšťače naraz (všetky zviazané dohromady) a táto sorta fungovala dobre, ale došlo k určitým interakciám. Teraz teda všetky ECHOS idú na mikro (8) a TRIGGERS sú nastavené na 595. Tri ďalšie piny (3). Pokiaľ ide o LED diódy, multiplexovanie nebude fungovať. Na každú LED diódu potrebujete plný zapínací čas. To znamená, že každý rad 7 LED diód musí mať vlastných 595. Akonáhle aktualizujete 595, LED diódy zostanú svietiť až do ďalšej aktualizácie. Pri multiplexovaní LED svieti iba desatinu sekundy. Toto funguje dobre v mojich čítačkách a potrebuje vyhradený mikroskop. Nie je čas na skenovanie 8 zvukových senzorov a meranie vzdialeností. Skúsil som a dosiahol som veľmi zlé výsledky. Multiplexovanie LED diód bude tiež znamenať mriežku riadok + stĺpec, a to znamená asi 64+ prechodov v PCB.

Použil som iba 7 výstupov z 595 kvôli neporiadku na doske plošných spojov. Na diaľku nerozoznáte, či je ich pohyb 7 alebo 8 LED. Môžete byť v pokušení prepojiť všetky LED diódy na jeden odpor a funguje to, ale jas poľa sa mení s počtom LED, ktoré sú lite. Jeden rezistor na jednu diódu je teda najlepší. Milujem 595, ale keby len presunuli piny Vcc a 0 výstupov alebo vytvorili 18 pinový ic so VŠETKÝMI výstupmi na tej istej strane … prepojenie všetkých ôsmich výstupov by bolo také jednoduché. Potom by sa však nepredal za menej ako 30 centov.

Krok 3: MONTÁŽNE SENZORY

MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY
MONTÁŽNE SENZORY

Prilepte zvukové senzory na veko kávy. Mužský konektor musí byť ohnutý dovnútra na každom senzore. To funguje lepšie, ak ohýbate jeden kolík naraz. Použil som 2 bočnú penovú pásku, aby boli vibrácie menšie. Moje senzory sú príliš blízko a potrebujú priestor 1/4 palca, aby lepšie zodpovedali doske plošných spojov. Predtým som používal zvukové snímače a niekedy sa stane, že jeden nezmeria presne a musíte to mať na pamäti. Nelepte ich teda všetkých natrvalo.

Pomáha tiež vykonať rýchly test vzdialenosti na každom z nich skôr, ako ich použijete. Získam asi jeden snímač so slabým odčítaním v dávke 20. Nie je to zlé za cenu, ktorú som zaplatil.

Krok 4: TVRDÝ DRÁT

TVRDÝ DRÁT
TVRDÝ DRÁT

Myslel som si, že tam bude miesto pre konektory a konektory od počítača k

sonické kolíky, ale vybehol som z miestnosti. Preto som pevne zapojil koniec dosky plošných spojov a vyrobil som ozvučné a spúšťacie vodiče so zásuvkami (8ea). Spojil som 8ea Vcc a 8ea uzemnenie senzorov dohromady, takže to pre nich urobilo iba 2 pripojenia k DPS.

S 8 senzormi a 8 595 s toto nemôže napájať uno alebo pro-mini. V rámci tohto projektu musí byť 5v regulovaný zdroj. Môj robot má z batérií jednoduchý 7805 @ 1amp. To sa viaže na všetky 5 V Vcc pre všetky zariadenia. 7805 klesne asi o volt, takže na jeho napájanie potrebujete najmenej 6,5 voltov. To sú 2 lítiové batérie s napätím 3,3 V. Môj robot má staré nikaje z použitých vŕtačiek a 8 nikajov poháňa typický čínsky 12 V motor v podvozku s tankom za 20 dolárov.

Krok 5: STIAHNITE SONIC SKETCH

STIAHNITE SONIC SKETCH
STIAHNITE SONIC SKETCH

Stiahnite si skicu a nainštalujte. Existuje mnoho spôsobov, ako hovoriť

ďalšie uno ale páči sa mi I2c. zmätok je adresovanie a master/ slave. Rovnako ako pre väčšinu senzorov (predstavte si 2. mini ako senzor) oslovíte senzor a požiadate o x množstvo bajtov. tu to isté. V 2. mini vyčleníte x množstvo bajtov, ktoré chcete odoslať. Zmätok je v tom, že na názvoch nezáleží. Pomáha vám to zapamätať si, ak zdieľate mená. V náčrte teda odosielam 8 meraní zvukovej vzdialenosti v cm ako sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Master dostane iba 8 bytov, ak sú údaje, a môžete ich nazvať ľubovoľne. Čítal som ich ako gotR1, gotR2, got ….. Odoslané poradie bajtov je rovnaké. Bajt A, B, C….. Nemyslite si, že zmenou názvu získate rôzne údaje. A ďalší háčik, môžete prijímať iba údaje, ktoré majú byť odoslané. Ak teda chcete ďalšie údaje, musíte zmeniť OBA master aj slave.

Krok 6: KOMUNIKÁCIA

KOMUNIKÁCIA
KOMUNIKÁCIA

Môžete to preskočiť, ak viete, ako nastaviť 2 jednotky Uno na vzájomnú komunikáciu. Na záver mám niekoľko informácii. Aby to bolo jednoduché, zavolám uno v základni robota M1 a zvukový senzor ako S2. Pripojte k sebe Vcc, uzemnenie, A4, A5.

V náčrte pre S2 to začína #include

Potom vytvorte 8 bajtov na odoslanie. bajt R1, bajt R2, bajt L1 atď. Uno je 8 -bitový mikro, takže odosielajú 1 bajt naraz pomocou „bajtu“namiesto „int“je správne.

V 'setup ()' add 'Wire.begin (adresa)' to hovorí I2c, ktoré zariadenie to je. Adresa je zvyčajne ľubovoľné číslo medzi 4 - 200. veľkosť jedného bajtu. Tu som použil číslo 10. Aby som mohol hovoriť s týmto senzorom S2, musí majster zavolať na Wire.requestFrom (10, 8). Toto je adresa 10 a 8 je počet požadovaných bajtov. Tiež v 'setup ()' pridajte Wire.onRequest (isr anyName). Keď M1 zavolá požiadavku, senzor S2 reaguje prerušením. Toto len volá funkciu anyName. Preto je potrebné vytvoriť túto funkciu anyName. Pozrite sa na náčrt a pozrite sa na funkciu „sendThis ()“Tu sa skutočne odosielajú bajty na M1. Idú samotné bajty a NIE mená a v poradí, ktoré boli odoslané. Tu začína veľkosť a množstvo údajov na odoslanie. V tomto jednoduchom formáte bajtov by sa odosielanie a prijímanie malo zhodovať. Tu bolo odoslaných 8 bytov a prijatých 8 bytov. Jedna poznámka tu je, že volanie funkcie vyžaduje (). Rovnako ako delay (), millis (), Serial.print (). Pri použití ISR (rutina služby prerušenia) volanie funkcie zruší (). Takže Wire.onRequest (sendThis) nie Wire.onRequest (sendThis ()).

Zmätok, ktorý som mal, bol vecou pán/otrok. Najprv som si myslel, že majster je VŽDY pán. Ale v náčrte môžete prepnúť master/slave na požiadavku z iných mikroskopov alebo odoslať na iné mikroskopy. Pokiaľ budete postupovať podľa vyššie uvedeného základného formátu. Nezabudnite … zdieľate IBA údaje, ktoré boli priradené.

Dva kúsky nástenky. Prerušenie isr iba prerušuje medzi čiarami náčrtu. Ak ste zablokovaní v slučke „zatiaľ alebo pre“, nič sa nestane, kým sa slučka neukončí. ŽIADNY problém, pretože to môže trvať niekoľko mikrosekúnd a údaje sú staré.

Ďalším problémom je, že „vo vnútri“mikroskopu je 100% bezchybný výpočet. Akákoľvek „vonkajšia“(káblová) komunikácia podlieha chybám. Existuje mnoho spôsobov, ako skontrolovať, či sú dodané údaje bezchybné a či zodpovedajú zdroju. Najľahšie je to s kontrolným súčtom. Stačí pridať súčty odosielacích bajtov (skutočné hodnoty) a odoslať súčty a na prijímajúcom konci pridať súčty a zistiť, či sa zhodujú. Ak sa zhodujú, alebo tento súbor údajov vyhoďte, ak nie. Samozrejme to zahŕňa odosielanie celočíselnej hodnoty, nie bajtov. Celé číslo teda rozdelíte na bajt HI a bajt LO a odošlete ako oddelené bajty. Potom dajte dohromady na prijímači.

JEDNODUCHÉ:

int x = 5696; (akákoľvek platná int hodnota, max je 65k alebo 32k záporná)

bajt hi = x >> 8; (22)

bajt lo = x; (64)

pošlite bajty a skombinujte na druhom konci …

bajt hi = Wire.read ();

byte lo = Wire.read ();

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

Krok 7: ZATVORENÉ

ZATVORENÉ
ZATVORENÉ
ZATVORENÉ
ZATVORENÉ
ZATVORENÉ
ZATVORENÉ
ZATVORENÉ
ZATVORENÉ

Na záver tento zvukový senzor poskytuje základnej doske surové údaje o vzdialenosti v reálnom čase. Tým sa mikro uvoľní a skica bude oveľa menej komplikovaná. Mikroprocesor sa teraz môže na základe dobrých údajov namiesto náhodných odhadov dobre rozhodnúť spomaliť, otočiť, zastaviť alebo zaradiť vzad. Pozrite si môj ďalší príspevok o bluetooth IDE o nahraní skíc bez káblov a nutnosti neustáleho pripájania robota len kvôli rýchlej zmene náčrtu. Ďakujem, že ste si to pozreli. oldmaninsc.

Odporúča: