Obsah:
- Zásoby
- Krok 1: Ultrazvukový VS infračervený snímač
- Krok 2: Schéma
- Krok 3: Charakteristika snímača
- Krok 4: Sériová komunikácia
- Krok 5: Aplikácia Qt
- Krok 6: Zdrojový kód Arduino
Video: Infračervený radar s Arduino: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
V tomto malom projekte by som vám chcel ukázať, ako môžete doma s Arduinom vytvoriť jednoduchý radar. Na internete je veľa podobných projektov, ale všetky používajú na meranie vzdialenosti ultrazvukový senzor. V tomto projekte používam na meranie vzdialenosti infračervený senzor.
Mojím cieľom je vytvoriť s ním veľmi jednoduchý a lacný systém LIDAR a implementovať mapovacie zariadenie.
Zásoby
- Arduino (použil som Maple Mini)
- Ostrý snímač vzdialenosti (použil som Sharp GP2Y0A02YK0F)
- Mikro servo (9 g)
- Breadboard, drôty
- Voliteľné: odpor 4,7 k, kondenzátor 100 nF
Krok 1: Ultrazvukový VS infračervený snímač
Hlavný rozdiel medzi ultrazvukovými a infračervenými snímačmi vzdialenosti spočíva v tom, že ultrazvukový snímač meria vzdialenosť v širšom rozsahu. Preto nie je schopný presne lokalizovať polohu prekážky. To znamená, že meria vzdialenosť najbližšieho objektu, ktorý sa nachádza v rozsahu uhlov ~ +-30 °.
To samozrejme neznamená, že snímač Sharp je lepší. Niekedy môže byť táto vlastnosť veľmi užitočná (napríklad ju používajú drony na meranie výšky od zeme). Správna voľba úplne závisí od požiadaviek vášho projektu.
Krok 2: Schéma
Spojenie medzi časťami je veľmi jednoduché. Vyberte výstup PWM a analógový vstup na doske Arduino a k týmto kolíkom pripojte snímače vzdialenosti Servo a Sharp. Na tento účel som použil nasledujúce kolíky:
- PA0: Analógový vstup pre snímač vzdialenosti Sharp
- PA9: PWM výstup pre servo
Infračervený snímač Sharp môže mať niekedy hlučný výstup, preto naň musíte vložiť jednoduchý dolnopriepustný filter. Na zníženie šumu na analógovom kolíku som použil odpor 4,7 k a kondenzátor 100 nF. Okrem toho som tiež filtroval nameranú hodnotu v kóde tak, že som ju niekoľkokrát prečítal a vypočítal priemer.
Krok 3: Charakteristika snímača
Použitý infračervený snímač vzdialenosti má bohužiaľ nelineárnu charakteristiku. To znamená, že na získanie vzdialenosti nestačí vynásobiť nameranú hodnotu ADC konštantnou hodnotou a pridať k nej ďalšiu konštantnú hodnotu.
Napriek tomu, že údajový list senzora poskytuje charakteristiku, radšej ho zmeriam sám v konkrétnom projekte (môže to závisieť od použitého napätia). Za týmto účelom som urobil páry z nameranej hodnoty ADC a vzdialenosti na každých 10 cm. (Môj senzor dokázal merať správnu vzdialenosť od 12 cm).
Tieto páry som použil v kóde na získanie správnej vzdialenosti pomocou lineárnej interpolácie.
Na konci dokumentu nájdete jednoduchý kód Arduino na meranie hodnoty ADC počas charakteristického merania.
Krok 4: Sériová komunikácia
Na odoslanie nameraných hodnôt uhlovej vzdialenosti do PC som použil sériovú komunikáciu. Pretože musím odosielať viac bajtov a rôzne typy správ, navrhol som jednoduchý komunikačný protokol.
Tento prokotol umožňuje genericky definovať rôzne typy správ. V tomto projekte som použil 2 typy správ:
- Parametre: Používa sa na odosielanie parametrov do PC aplikácie, definovaných na Arduine ako maximálna vzdialenosť a počet prekážok v kole.
- Prekážka: Používa sa na odoslanie zistenej prekážky. Je identifikovaný uhlom serva a meranou vzdialenosťou. Pozícia x-y bude vypočítaná počítačovou aplikáciou.
Krok 5: Aplikácia Qt
Aby som komunikoval s Arduinom a kreslil namerané body ako radar, vytvoril som aplikáciu pre PC v Qt (C ++). Prijíma niektoré parametre (definované na Arduine) a body nameranej vzdialenosti.
Môžete si tiež stiahnuť aplikáciu a jej zdrojový kód.
Krok 6: Zdrojový kód Arduino
Niektoré paremetre v hornej časti kódu môžete prispôsobiť pomocou makier.
Upozorňujeme, že ak zmeníte charakteristiku snímača vzdialenosti Sharp, budete musieť upraviť hodnoty poľa distAdcMap !
- InfraRadar.c: Kód radaru. Skopírujte ho a prilepte do svojho projektu Arduino.
- InfraRadarMeasurement.c: Kód pre charakteristické meranie. Skopírujte ho a prilepte do svojho projektu Arduino. Na kontrolu hodnôt ADC použite sériovú konzolu.
Odporúča:
Infračervený prehrávač MP3: 6 krokov (s obrázkami)
Infračervený prehrávač MP3: Zostavte si prehrávač infračerveného diaľkového ovládača za približne 10 dolárov (USD). Má obvyklé funkcie: prehrávanie, pozastavenie, prehrávanie nasledujúceho alebo predchádzajúceho, prehrávanie jednej skladby alebo všetkých skladieb. Má tiež variácie ekvalizéra a ovládanie hlasitosti. Všetko je možné ovládať pomocou
Vyrobte si infračervený teplomer pre COVID-19 s technológiou MicroPython: 8 krokov
Vyrobte si infračervený teplomer pre COVID-19 s technológiou MicroPython: Vzhľadom na výskyt koronavírusovej choroby (COVID-19) musí HR spoločnosti merať a registrovať teplotu každého pracovníka. Pre HR je to únavná a časovo náročná úloha. Tak som urobil tento projekt: pracovník stlačil tlačidlo, toto v
Laserový infračervený teplomer Arduino: 7 krokov (s obrázkami)
Laserový infračervený teplomer Arduino: V tomto projekte vám ukážem, ako vytvoriť digitálny laserový infračervený teplomer s 3D krytom vytlačeným na mieru
Infračervený maticový systém zadávania hesla s Arduino: 13 krokov
Systém zadávania hesla pomocou infračervenej matice s Arduino: Tím ICStation vám predstavuje infračervený maticový systém zadávania hesla založený na Arduino kompatibilnej doske ICStation. Funguje pod napájaním DC 5v a na zadanie hesla používa 4 *4 maticovú klávesnicu alebo infračervené diaľkové ovládanie a my
Infračervený diaľkový a IR prijímač (TSOP1738) s Arduino: 10 krokov
Infračervený diaľkový a IR prijímač (TSOP1738) s Arduino: Tento návod je pre začiatočníkov s Arduino. Toto je jeden z mojich predchádzajúcich projektov s Arduinom. Keď som to urobil, veľmi som si to užil a dúfam, že sa to bude páčiť aj vám. Najatraktívnejšou črtou tohto projektu je “ Bezdrôtové ovládanie ”. A to je