Je to trochu horké, léto a tak. Mám na stole čínského fanouška, ale pracuji na různých koncích svého nového velkého stolu a ventilátor téměř vždy fouká a pokaždé je nějak smutný. Takže dnes uděláme fanouška s automatickým zaměřením na cíl.
Musíme tedy sledovat polohu cíle s ohledem na situaci na stole, aby ventilátor nezamířil na jiné objekty. V ideálním případě byste samozřejmě mohli vzít s sebou malinový počítačový minipočítač a použít strojovou vizi k rozpoznávání pohybů nebo světlé tričko.
Je to ale poměrně obtížný úkol a samotné správní středisko stojí více než 10krát dražší než platforma arduino, které se s fotoaparátem nezvládnou. Ale kromě kamery existují i jiné způsoby, jak určit cíl, například penny ultrazvukový senzor vzdálenosti.
Jednou jsem na internetu narazil na zajímavý projekt „radar“ založený na arduino a tomto senzoru. Samotný projekt je zcela zbytečný, ale samotný nápad je úžasný - otočit senzor vzdálenosti a skenovat prostor, svázaný s úhlem rotace.
Zopakujme tento projekt pro zábavu, a pak se přesuneme dál.
To znamená, že se čidlo musí otáčet, proto se používá obvyklé servo servo (kdo neví, servo je motor s převodovkou a zpětná vazba na úhel, to znamená, že můžeme nastavit úhel natočení a zapne jej).
Nebuď chytrý, a stačí senzor upevnit prstenem z komory kola.
Montujeme obvod na prkénko.
To je vše, zbývá stáhnout firmware v arduinu. Tato verze používá rychlejší knihovnu.
Zdroje si můžete stáhnout na stránce projektu, odkaz naleznete v popisu pod videem. Zde najdete všechny podrobné pokyny, zejména obrovský článek pro ty, kteří si arduino poprvé vyzvedli. Obecně nahrajeme firmware do desky a náš radar ožije. Nyní v počítači musíte spustit program, který bude přijímat data z radaru (je také ve složce projektu, ale pro jeho spuštění potřebujete prostředí pro zpracování, můžete si ho stáhnout na oficiálních webových stránkách).
Začínáme s tím a musíte nakonfigurovat pouze jeden okamžik - číslo portu, ke kterému je arduino připojeno. Toto je stejné číslo, které je vybráno v programu arduino ide, pouze musíme zadat ručně.
Začínáme.
To je vše, náš radar pracuje skvěle a zobrazuje vzdálenost od nalezených překážek. Jak vidíte, funguje to s dostatečnou přesností, aby se nejen detekoval velký cíl ve formě osoby nebo hlavy, ale také se vyrovnal s malými věcmi, které se mohou stát zajímavým experimentem v celém poli. Takže zatímco se všichni baví s malinovým pi, rozhodl jsem se vyzvat sebe a naučit doslova slepý systém, aby rozpoznal cíl a zaměřil se na něj. Bude to skvělý jednoduchý projekt, který lze opakovat i za pomoci arduino startovací sady. Udělejme to a zamyslíme se nad algoritmem práce.
Možnosti systému jsou tedy do značné míry omezené. Dostáváme pouze vzdálenost od radaru, ale víme, s jakým úhlem každá dimenze odpovídá. První věc, která přijde na mysl, je vytvoření mapy pracovního prostoru. To znamená, že uděláme jeden průchod a pamatujeme si, v jakém úhlu byla vzdálenost. Nyní, v následujících průchodech, můžeme najít rozdíl pro každý úhel podle naší mapy. A tak můžeme vidět nový objekt, který vynikne na pozadí již známých hodnot. Nyní musíte naučit systém definovat cíle. Zkusme tuto možnost: vezmeme v úvahu počet rozlišujících bodů, které jsou umístěny jeden po druhém, tj. V životě to bude určitá oblast, kterou radar skenuje.
Zohledníme cíl - oblast je větší než určitá velikost. Tím se okamžitě odfiltruje veškerý šum měření. Navrhuji také odpustit systému několik chyb při skenování jedné oblasti, protože ultrazvukový senzor není dokonalý.
Radar dokáže rozeznat velkou oblast, to znamená, že zná svůj úhel začátku této oblasti a úhel svého konce ve svém souřadném systému. Zbývá pouze spočítat střed této oblasti a nasměrovat tam radar a nechat ji dále se pohybovat. Bude to režim pozastavení.
Pokračujeme v měření vzdálenosti a pokud naměřený bod náhle opustí rozsah viditelnosti radaru, po chvíli se opět přepneme do cílového režimu vyhledávání. To je vše, čemu nerozuměli, počítač zde již není potřeba, arduino udělá všechno sám. Stačí jej napájet z 5 V napájecího zdroje. Firmware je ve složce projektu, existuje spousta nastavení, se kterými můžete hrát a konfigurovat vše pro sebe.
Takže spustíme systém. Nejprve kalibrace přejde od okraje k okraji. Systém si pamatuje vzdálenost v kalibračním poli ve svém souřadném systému. Pak práce začíná okamžitě, my skenujeme oblast, pokud si všimneme cíle, pak najdeme jeho úhlovou velikost a cíl uprostřed. Funguje to jako hodiny a je zaměřen téměř do středu cíle.
Mimochodem, všechna časová zpoždění jsou konfigurovatelná, zejména doba mezi ztrátou cílů a začátkem nového skenování, jinak si také budete myslet, že systém zpomaluje - nic takového, stačí jej nastavit. Obecně jsou mozky pro ventilátor připravené, pojďme sbírat železo.
Tento ventilátor koupil aliexpress asi před 5 lety. Je kompaktní, napájený přes USB a je pro tento projekt skvělý. Můžete také vyhledat usb ventilátor v pevné ceně nebo v domácím zboží.
Pojďme se podívat na tohoto fanouška a uvidíme, jestli je v jeho případě volný prostor, který může být přeplněn vlastní elektronikou.
Arduino nano se bohužel zde nehodí, ale na palubě je arduino pro mini, to samé, ale menší a bez programátoru na palubě, ale perfektně sedí.
A proč neovládat sílu ventilátoru pomocí arduina a zahodit původní tlačítko? Není dostatek místa, relé se nevejde, takže použijeme tranzistor s efektem pole.
Stále potřebuje dva odpory 100 ohmů a 10 kOhm. Tlačítko zcela vyjmeme, aby nezasahovalo. Schéma připojení bude vypadat takto:
Pojďme propojit hledač dosahu kabelem z pevného disku.
V obvodu máme také kondenzátor, není to nutné, ale velmi žádoucí, protože servopohon poskytuje usb poměrně znatelné proudové špičky, což může ovlivnit měření vzdálenosti.
Chcete-li stáhnout firmware pro pro mini, potřebujete externí programátor, stojí Číňany jako plechovka piva a připojuje se takto:
Nemusíte dělat nic jiného, klikněte na tlačítko stáhnout a firmware se načte jako obvykle do nano desky.Kryt se uzavře a všechny dráty vystupují skrz otvory z vypínače.
Dále je třeba opravit servo. Bylo rozhodnuto zavěsit ventilátor na polici a připojit servo do rohu.
Abychom zabránili otáčení rohu, používáme oboustrannou pásku, ale elastická kamera na kole by byla lepší.
Prostor pro senzor bude muset být mírně rozšířen. Upevněte jej na šrouby dodané se servem.
Poslední dotek, vše, zapněte se a počkejte, až kalibrace projde a užijte si naváděcí ventilátor.
Ukázalo se, že je velmi vtipné. Původně byl koncipován jako model, ale díky Číňanům a velkému prázdnému prostoru uvnitř ventilátoru bylo možné vyrobit hotové zařízení s téměř žádné vyčnívajícími dráty a snotem, což bylo velmi příjemné. Mimochodem, pokud ventilátor nemůže nějakou dobu najít cíl, zvedne se ve středu a vypne se. Abyste ji mohli zapnout, stačí zvednout ruku a ventilátor je opět připraven zaměřit se na cíl a ochladit jej.
Servo se ukázalo být levným plastem, převodovka je volná, takže pohyb se škubá, ale co můžete dělat. Na stránce projektu je odkaz na lepší servo, má kovovou převodovku. Projekt se ukázal být v pohodě a zajímavý díky své jednoduchosti - jeden senzor, jeden pohon, ale v důsledku toho plnohodnotné navádění na mapě regionu a dotykové ovládání.
Děkuji za pozornost. Uvidíme se brzy!
Video: