Obsah:
- Krok 1: Kód
- Krok 2: Elektronika
- Krok 3: Konstrukce: Kamera a IR iluminátor
- Krok 4: Konstrukce: Vodovodní potrubí
- Krok 5: Konstrukce: Zaměřovací servo
- Krok 6: Konstrukce: Montáž napájecích zdrojů, ventilátoru, Raspberry Pi a proto-boardu
- Krok 7: Stavba: rada Proto
- Krok 8: Konstrukce: Kamera Raspberry Pi
- Krok 9: Seznam dílů
Video: Automatické sledování Water Blaster: 9 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Růžožraví jeleni mě motivovali k vybudování vodního blasteru sledujícího cíl, který by pomohl odradit nenasytné stvůry … Tento vodní blaster pomocí video detekce pohybu zaměřuje servo a spouští krátké výboje vody na cíl. Střílí pouze poté, co je získaný cíl na několik sekund nehybný (zpoždění lze upravit v kódu). Je mi jedno, jestli jeleni jen procházejí, ale pokud se zastaví na svačinu, sploosh!
Zde je video, jak testuji vodní blaster:
Water blaster je samostatný box, ke kterému lze vzdáleně připojit (přes wi-fi/VNC) z jakéhokoli počítače ve vaší síti a sledovat, co dělá. Po každém spuštění se vyfotí, abyste později mohli vidět, co bylo odstřeleno.
Použil jsem Raspberry Pi, kameru NoIR, IR iluminátor, standardní lineární servo a vodní ventil k vytvoření vodního blasteru pro sledování dne/noci. Kód je napsán v Pythonu a těžce si půjčuje ze vzorků kódu zpracování obrazu cv2 Adriana Rosebrocka. Jeho zápis můžete vidět na:
www.pyimagesearch.com/2015/06/01/home-surv…
Protože jdu po relativně velkých pozemních cílech (jeleni), můj problém je poněkud zjednodušený. Vyžaduji pouze horizontální zaměřování, abych se mohl dostat pryč s použitím pouze jednoho serva. Čekání na zastavení jelenů mi pomáhá eliminovat spoustu falešných spouštěčů. Toto je můj pokus o rev-0 a našel jsem pár věcí, které bych upravil, kdybych postavil další. Tyto věci jsem zaznamenal v následujícím podrobném zápisu.
Krok 1: Kód
Water blaster používá ke zpracování Raspberry Pi 3. Pro pořizování videa se používá kamera NoIR Raspberry Pi spolu s IR iluminátorem pro noční video. Balíček OpenCV/cv2 Python se používá k zachycení a zpracování informací o obrázku a výpočtu cílových souřadnic. Knihovna pigpio se používá k ovládání gpio pro stabilní provoz serv. Použití běžného balíčku RPi. GPIO mělo za následek roztřesené servo. POZNÁMKA: Při používání knihovny pigpio potřebujete spustit démona pigpio. Přidejte toto do spouštěcího souboru /etc/rc.local vašeho Pi pro pigpio lib a rozhraní kamery Raspberry Pi:
/etc/rc.local# Nastavit/dev/video0 pro propojení s Raspberry Pi vestavěným kamerovým rozhraním bcm2835-v4l2# Spusťte démona pigpio pro ovládací knihovnu Raspberry Pi IO
Další podrobnosti najdete na stránce
Zdrojový kód se jmenuje: water_blaster.py a je připojen níže.
Disclaimer: Jsem nový v kódování Pythonu, takže to nepokládejte za žádný skvělý model stylu kódování Pythonu!
Základní algoritmus je následující:
- Popadněte počáteční referenční snímek videa. To bude použito k porovnání s detekcí pohybu.
- Popadněte další rámeček.
- Převeďte snímek na stupnici šedi, upravte jeho velikost a rozostřete jej.
- Vypočítejte rozdíl z referenčního rámce
- Odfiltrujte malé rozdíly a získejte souřadnice největšího rozdílu.
- Nastavte časovač. Pokud se cílová souřadnice na několik sekund nezmění, pak vyfoťte, co se chystáme vystřelit, a aktivujte vodní ventil pro výbuch vody. Posuňte servo několik stupňů dopředu a dozadu, aby došlo k výbuchu „brokovnice“.
- Pokud získáme tři spouště příliš rychle, zakažte fotografování, trochu se pozastavte a poté aktualizujte referenční snímek, protože možná snímáme stínové nebo verandové světlo, které bylo právě zapnuto …
- Každých několik minut aktualizujte referenční rámec tak, aby zohledňoval změny nízkých frekvencí (vycházející/zapadající slunce, zataženo atd.)
Používám pouze horizontální zaměřovací mechanismus, ale na EBay je k dispozici mnoho držáků pro otáčení/naklánění a pokud byste chtěli přesnější cílení, bylo by snadné přidat další servo pro ovládání vertikálního míření.
Nastavil jsem, aby Raspberry Pi běžel jako server VNC, pak se k němu připojím přes VNC z notebooku, abych spustil program a sledoval video a protokoly. cd do adresáře, kam ukládáte water_blaster.py a spusťte jej zadáním:
./python water_blaster.py
Otevře okno monitoru videa, spustí soubor protokolu s názvem „./log_[date]_[time] a vytvoří podadresář s názvem„ trigger_pictures “, kde jsou uloženy soubory-j.webp
Zde je několik poznámek k nastavení VNC na vašem Raspberry Pi:
Při prvním nastavení Raspberry Pi jsem k nastavení použil externí monitor/klávesnici/myš. Tam jsem povolil server VNC v konfiguraci RasPi (Logo Raspberry / Předvolby / Konfigurace Raspberry Pi / Rozhraní / Zkontrolovat možnost VNC). Poté, co se spustí, vám umožní připojit se k jeho zobrazení: 0 prostřednictvím klienta VNC (se stejnými přihlašovacími údaji jako výchozí uživatel „pi“).
V bezhlavém režimu je výchozí zobrazení s velmi malým rozlišením (protože nedetekuje žádný displej). Chcete -li jej přinutit k většímu rozlišení, přidejte toto do /boot/config.txt a restartujte:
# Použijte, pokud máte displej# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39
Zde je několik dalších informací:
Krok 2: Elektronika
Požadavky na elektroniku vodního blasteru jsou minimální, protože Raspberry Pi 3 gpio pohání servo, vodní ventil a IR iluminátor přes diskrétní tranzistorové pufry (postavené na malé proto desce). Standardní kamera NoIR se připojuje přímo k Raspberry Pi.
Název schématu je: water_blaster_schematic.pdf a je připojen níže.
Použil jsem vyhrazený zdroj 5v/2,5A pro Raspberry Pi a zdroj 12v/1A pro pohon IR iluminátoru a vodního ventilu. Napájení 12 V také pohání 5 V regulátor pro napájení 5 V serva. To bylo provedeno, aby byl „hlučný“řídicí výkon motoru izolován od napájení Raspberry Pi 5v. Ukázalo se, že napájení 12v/1A je na své hranici (ve skutečnosti mírně přesahující, jakmile jsem přidal ventilátor). Kód vypne IR osvětlení před napájením relé vodního ventilu, aby udržel odběr proudu v dosahu … Bylo by lepší, kdybyste použili napájení 1,5 A. Nezapomeňte spojit zemnicí svorky všech napájecích zdrojů dohromady.
Modul kamery je standardní verzí NoIR, která se připojuje přímo k Raspberry Pi. Jedná se o kameru Raspberry Pi s již odstraněným IR filtrem, což umožňuje použití s IR iluminátorem pro pořizování nočního videa.
Použité servo je standardní 5v lineární servo s točivým momentem 3-4 kg-cm.
IR iluminátor byl levný 48 LED kroužek, který jsem našel na EBay za asi 4 dolary. Není to příliš silné a může osvětlit pouze asi 15 stop. Pokud máte dodatečný rozpočet, bylo by dobré pořídit silnější iluminátor.
Do gpio23 jsem přidal „ladicí přepínač“. Kód kontroluje stav spínače a pokud je stisknut, deaktivuje relé vodního ventilu pro testování suchého ohně. Myslel jsem, že s tím přepínačem udělám víc, ale nakonec jsem ho vlastně vůbec nepoužíval. Odstranil bych to a kód, který to hledá …
Krok 3: Konstrukce: Kamera a IR iluminátor
Jako skříň jsem použil plastový box na náboje Harbour Freight. Hlavně jsem potřeboval něco voděodolného, protože spousta postřiku/odtoku vody je nevyhnutelná. Existuje spousta otvorů/výřezů, ale jsou zakryty markýzami, čirým plastem nebo jsou vyvrtány pod převisy, aby se zbavily vody. Při pohledu zezadu jsem měl použít kovovou skříňku s chladiči, které jsou vnitřně připevněny k vysoce výkonným součástem. Tím si myslím, že jsem se mohl vyhnout přidání ventilátoru. Plastový box byl příliš izolační a dovolil příliš zvýšit vnitřní teplotu.
Na konci bylo vyříznuto malé okénko, aby kameru viděla ven, a IR iluminátor byl namontován do starého plastového pouzdra na objektivy, kolem kterého jsem ležel.
Krok 4: Konstrukce: Vodovodní potrubí
Přívod vody je veden do 12 V vodního ventilu, který je připojen k vinylové trubce ¼”ID x 3/8“OD. To je zase připojeno k ¼”ostnatým hadičkám k ¾ protiskluzovému PVC konektoru a přilepeno k ¾” PVC uzávěru vody s otvorem 1/16”vyvrtaným pro vodní proud. Chtěl jsem udržet relé vodního ventilu mimo počasí, aby bylo namontováno uvnitř krabice. Existuje nebezpečí, že bych mohl uniknout, ale ve spodní části krabice jsem vyvrtal odtokové otvory a namontoval elektroniku vysoko, aby se minimalizovala šance na potenciální poškození elektroniky vodou, pokud k tomu dojde. Méně esteticky, ale bezpečnějším plánem by bylo namontovat ventil na vnější stranu a spustit 12v reléové kabely uvnitř. Čirý plastový kotouč přes servo byl pohodlný způsob, jak namontovat konec hadice, a zabraňoval kapání vody dolů na servo. Ventilátor byl nápad, protože krabice se příliš zahřívala. Postavil jsem přes něj malou markýzu, aby dovnitř neodkapávala voda.
Krok 5: Konstrukce: Zaměřovací servo
Do horní části krabice se vyřízne otvor a zamíří se servo a utěsní se silikonem, aby se zabránilo úniku vody.
Krok 6: Konstrukce: Montáž napájecích zdrojů, ventilátoru, Raspberry Pi a proto-boardu
Dva napájecí zdroje (5 V a 12 V) jsou zapojeny do jednoho napájecího kabelu, který vychází ze strany krabice. Raspberry Pi a proto deska jsou namontovány na boční straně krabice v horní části. Všimněte si odtokových otvorů vyvrtaných ve spodní části a větracích otvorů vyvrtaných podél horního okraje. Ventilátor je namontován naproti Raspberry Pi. Neexistuje žádný přepínač zapnutí/vypnutí, protože nechci podporovat vypnutí Raspberry Pi bez formálního příkazu „sudo shutdown now“(tj. Nechci vypnout napájení příliš snadno).
Krok 7: Stavba: rada Proto
Deska proto obsahuje 5v regulátor, krytku filtru, výkonové tranzistory (pohánějící servo a vodní ventil) a ladicí spínač.
Krok 8: Konstrukce: Kamera Raspberry Pi
Kamera Raspberry Pi se připojuje přímo k Raspberry Pi pomocí plochého kabelu a je upevněna na průhledné plastové desce pokrývající výřez pro sledování v přední části krabice.
Krok 9: Seznam dílů
Projekt nakonec stál zhruba 120 dolarů. Převážnou část nákladů na projekt tvoří Raspberry Pi, kamera, servo a napájecí zdroje. Většinu dílů jsem našel na EBay nebo Amazonu a instalatérské díly v místním železářství.
- Raspberry Pi 3 (Amazon) 38 dolarů
- Kamera NoIR (EBay) 30 $
- 5v analogové servo (točivý moment 4 kg-cm) (EBay) $ 10
- Napájení na stěnu 5v/2,4A (EBay) $ 8
- 12 ½”vodní ventil (EBay) 5 $
- Hadice, spojky (Osh) 5 $
- Plastový box na munici (Harbour Freight) 5 $
- Nástěnný napájecí zdroj 12 V/1,5 A (EBay) 5 $
- IR iluminátor (EBay) $ 4
- Různé Komponenty (odpory, spínače, dioda) $ 2
- CPU Fan (EBay) $ 2
- Proto Board, Standoffs, Screws (EBay) $ 2
- (2) Výkonové tranzistory (2n5296) (EBay) $ 1
- 5v regulátor (LM7805) (EBay) $ 1
- Čirý plast 3/32”(Tap Plastics Misc. Bin) $ 1
- Napájecí kabel (Osh) $ 1
Obchody/weby, kde jsem koupil položky:
- Alice1101983 Web EBay:
- Web 2bevoque EBay:
- Přístavní nákladní doprava
- Hardware pro dodávky sadů
- Amazonka
- Klepněte na Plasty
Doporučuje:
ATtiny85 Nositelné vibrační sledování aktivity Sledování a programování ATtiny85 s Arduino Uno: 4 kroky (s obrázky)
ATtiny85 Wearable Vibration Activity Tracking Watch & Programming ATtiny85 With Arduino Uno: How to make the wearable activity tracking watch? Toto je nositelný gadget navržený tak, aby vibroval, když detekuje stagnaci. Trávíte většinu času na počítači jako já? Sedíte hodiny, aniž byste si to uvědomovali? Pak je toto zařízení f
Sady inteligentních robotů pro sledování robotů Sledování automobilů Fotosenzitivní: 7 kroků
Sady inteligentních robotů pro sledování robotů Sledovací auto Fotosenzitivní: Design od SINONING ROBOT Můžete si koupit od sledovacího robota carTheoryLM393 čip porovnat dva fotorezistory, když je na jedné straně LED dioda fotorezistoru na BÍLÉ, strana motoru se okamžitě zastaví, druhá strana motoru roztočit, aby
Automatické sledování světelného zdroje: 5 kroků
Automatické sledování světelného zdroje: V této lekci použijeme servomotor, fotorezistor a stahovací odpor k sestavení systému automatického sledování světelného zdroje
AUTOMATICKÉ SLEDOVÁNÍ ZDROJE SVĚTLA S ARDUINO UNO R3: 5 kroků
AUTOMATICKÉ SLEDOVÁNÍ ZDROJE SVĚTLA S ARDUINO UNO R3: V této lekci použijeme servomotor, fotorezistor a stahovací odpor k sestavení automaticky sledovaného systému zdroje světla
Inatel - SmartHome - SH2Y - Sledování systému a sledování prostředí: 6 kroků
Inatel - SmartHome - SH2Y - Sledování systému a prostředí Ambiente: Foen desenvolvido um & Sistema de Monitoramento e Seguran ç a F í sica de Ambiente " para Smart Homes, což je intuitivní monitorování stavu vari á veis como "Temperatura", "Luminosidade" e " Senzor