Tartalomjegyzék:

3. projekt: SonarDuino: 9 lépés
3. projekt: SonarDuino: 9 lépés

Videó: 3. projekt: SonarDuino: 9 lépés

Videó: 3. projekt: SonarDuino: 9 lépés
Videó: Случайный выстрел 2024, Szeptember
Anonim
Image
Image

Kedves hobbistársam!

Ebben a projektben megvizsgáljuk annak lehetőségét, hogy 360 fokos radarrendszer legyen az objektumok észlelésére. Ha ezt a modult külön állítja be, akkor a mozgásrobotja felismeri környezete határait. Sötétedéskor navigációs eszközként is szolgálhat, de csak akkor, ha elég lassan sétál;

1. lépés: Amire szüksége lesz

Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását

Ennek a konstrukciónak az elkészítéséhez a következőket kell vásárolnia:

Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl: rk: 2: pf: 0

Prototípus-táblák: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cg:::/ ~ Zbl232: rk: 13: pf: 0

Szervomotorok: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Car-Bar-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var

Ultrahangos érzékelők: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5f ~ IAAOSw-xbD5Fp: rk: 2: pf: 0

2. lépés: Dokumentáció

Mint néhányan talán már tudjátok ezt, ezt a projektet egy másik nyílt forráskódú projekt „Arduino Radar Project” ihlette, amelyet Dejan készített a „How to Mechatronics” címen, @ a következő linken: https://howtomechatronics.com/projects/arduino -radar-projekt/

Egy másik pont, amely dokumentációt igényel, a következő két könyvtár letöltése a fejlesztői környezetbe:

Adafruit-GFX-könyvtár:

Adafruit_SSD1306:

Ennek ellenére a C kód valódi megértéséhez el kell végeznie mindkét fenti könyvtár dokumentációját. Ettől eltekintve a kódomban használt függvényeknek olyan nevük van, amely árulkodik arról, hogy mit csinálnak.

3. lépés: Készítse elő az ultrahangos érzékelő támogatását

Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását
Készítse elő az ultrahangos érzékelő támogatását

Vegyen ki egy darab kartonpapírt, és vágja le az érzékelőhöz csatlakoztatott csatlakozó kábelek méretének megfelelően, amint az az első képen látható. Ezt követően hajtsa be ezt az utolsót, és ragassza rá a szervomotoros tartóra. Ha ez megtörtént, ragassza fel a két ultrahangos érzékelőt az utolsó kép szerint. Vegye figyelembe, hogy az érzékelők fejét úgy kell forrasztani, hogy a kábelek kifelé menjenek az érzékelő előtt. Ez lehetővé teszi, hogy az érzékelő kábelei ne zavarják egymást, amikor a 360 fokos forgatás megvalósul.

4. lépés: Szereljen fel mindent egy prototípus -táblára

Szereljen fel mindent egy prototípus táblára
Szereljen fel mindent egy prototípus táblára
Szereljen fel mindent egy prototípus táblára
Szereljen fel mindent egy prototípus táblára
Szereljen fel mindent egy prototípus táblára
Szereljen fel mindent egy prototípus táblára

Ebben a lépésben először az előző lépésben előírt fejlécet kell felszerelnie a megfelelő szervomotorba. Miután a szervomotor gondosan megszokta, mindent egy prototípus -táblába szerel. Kezdje az Arduino Nano forrasztásával, majd a szervó közvetlen ragasztásával. Végül forrasztja a kis OLED kijelzőt a tábla másik szélén.

5. lépés: A végső kapcsolatok létrehozása

A végső kapcsolatok létrehozása
A végső kapcsolatok létrehozása
A végső kapcsolatok létrehozása
A végső kapcsolatok létrehozása
A végső kapcsolatok létrehozása
A végső kapcsolatok létrehozása

Ez a lépés befejezi a projekt hardver oldalát. Az összes szükséges kapcsolat létrehozásához követnie kell a mellékelt sémákat.

6. lépés: A program indítása

A program indítása
A program indítása

Két kódot kell indítania

Arduino (C):

Feldolgozás (java):

A kód futtatásakor két lehetőség közül választhat:

1. lehetőség: Az OLED kijelző használatával ehhez a C kódban a MODE változót 0 -ra kell állítani.

2. lehetőség: A monitor használata, ehhez a C kódban a MODE változót 1 -re kell állítani. Ezenkívül le kell töltenie és telepítenie kell a Processing fejlesztői környezetet, és le kell töltenie a radar betűtípust erről a linkről: https:// github.com/lastralab/ArduinoRadar/blob/ma…

És adja hozzá ezt a fájlt a feldolgozási kódfájljához, hogy a java kód felismerje a betűtípust híváskor.

7. lépés: A C kód megértése

A C kód megértése
A C kód megértése

A kód főleg két „for” hurokból áll. Az egyik korrelációban van az előrehaladással, míg a másik a hátramenettel. Mindkettőjükben sokszor hívják a draw_scanner () fő funkciót, amely a radar vonalait rajzolja a képernyőre. Több konfiguráció tesztelése után arra a következtetésre jutottam, hogy felül kell írnunk a fehér radarvonalakat a t időpontban ugyanazokkal a radarvonalakkal, feketével a t+1 időpontban, hogy töröljük őket. Ellenkező esetben villogás jelenhet meg minden alkalommal, amikor a kijelzőt „clearDisplay ()” funkcióval tisztítja, mielőtt megnyomja az új pixelrácsot. Mivel tervezés céljából 7 sorral foglalkoztam, folyamatosan mentenem kellett és át kellett adnom a 7 elemből álló egész tömböt, ahol minden elem a radar középpontja és az észlelt objektum közötti sugarát jelzi. Ezt szem előtt tartva a kód többi részének egyenesen előre kell érteni.

8. lépés: A Java kód megértése

A feldolgozás során meg kellett kerülnem a serialEvent () függvényhívást, amely csak a COM nevű soros portokkal működik. Amikor Mac -en dolgoztam, a soros portjaim más néven jelentek meg. Ennek ellenére kicsomagoltam ezt a függvényt a „draw ()” feldolgozás fő funkciójába. Minden mással kapcsolatban frissítettem az alkalmazást, hogy megfeleljen a teljes forradalmi tervezésnek. Végül frissítettem az összes rajzolt alakzatot és szöveget a képernyő szélességének megfelelően, hogy a végtermék illeszkedjen a különböző képernyőfelbontásokhoz. Én személyesen teszteltem 1000X1000 és 500X500 felbontásban is, és jól működött:).

9. lépés: Következtetés

Ez a munka frissíthető 3 ultrahangos érzékelővel, amelyek mindegyike 120 látószöget takar, vagy akár 4 érzékelővel (90 fok*4) -> gyorsabb 360 fok. letapogatás.

A radar hatótávolságát 40 cm -ről 60 cm -re vagy akár 80 cm -re is kiterjesztheti. Személyesen teszteltem a pulseIn funkciót, és beállítottam a TIMEOUT változót 40 cm -re. Ez a változó sok tényezőtől függ, beleértve az impulzus küldésének hosszát és az objektum felületét, ahol az impulzus visszaverődik.

Végül, amint azt korábban említettük, a következő lépés a radarDuino beépítése egy mozgatórobotba a környező terület átvizsgálásához.

Ajánlott: