Rajzoló robot
Ez a projekt elsősorban a kezdő kenyéreknek készült, és lehetővé teszi az arduino mikrokontroller, a matlab-kód generáló eszköz és a mechanikai alkatrészek használatát, valamint néhány elektronikus elemet. A robot mechanikus karja 2 fok szabadsággal és manipulátor fogantyúval rendelkezik. A projekt egy fordított kinematikai alkalmazást és hatékony formát ölt a kép kontúrok kimutatására.
1. lépés: Alkalmazott komponensek, eszközök és szoftverek



1. Mechanikai alkatrészek
2. Elektronikus alkatrészek
- Arduino Uno modul
- PCB-t vagy prototípus-táblát
- Tápfeszültség (5V adapter és áram 2A)
- USB kábel
5. Szoftver
- Arduino IDE fejlesztési környezet
- Matlab (Arduino IO-val együtt)
Az összes fenti komponens könnyen megtalálható a helyi rádiókészülék-áruházban.
A projekthez 7 m / cm nyomatékú szervomotorokat kell használni. A prototípus használata esetén nem szükséges forrasztó vas és forraszanyag.
2. lépés: Mechanikai szerkezet


A fenti ábrán látható a robot hozzávetőleges kialakítása és összeállításának szakasza. Olyan, mintha 5-6 éves korában terveznél játszani. Most nézzük meg részletesebben a lépésről lépésre szóló utasításokat a robot összeszerelésére.
- Fúrjon két lyukat minden lapos alátétbe úgy, hogy a lyukak közötti távolság minden alátét esetében azonos legyen, amint azt a fenti ábra mutatja.
- Most mereven támogatnunk kell az egyik végét. Fúrjon négy lyukat a szervomotor csavarjai megfelelő távolságában, és csatlakoztassa a szervomotort a négyszögletes álláshoz. Ezt a tervet használjuk, hogy merev támogatást hozzunk létre, amely a beállítási folyamat során szükséges.
- Csatlakoztasson két alumíniumlemezt a tervezőtől a két alátéthez, amint az az ábrán látható, hogy a két alátét közötti távolság körülbelül 20 cm legyen.
- Most csatolja az egyik cél, hogy a szervo merev támogatást és egy másik, hogy egy másik szervo. Továbbá, mielőtt a végső rögzítés mosók kalibrálja szervomotorok a elfordulási szög 90 ° úgy, hogy a szervomotor a merev alátámasztó párhuzamos a lemezek és a szabad vége a szervomotor található merőlegesen.
- Most vegye ki a leghosszabb (15 cm hosszú) lemezt a tervezőtől, és illessze azokat a szervomotor szabad végének alsó végéhez.
- Ezután csatlakoztassa a kerekeket a mechanikus kar aljához az 5. lépésben létrehozott fogantyúval, hogy megbízható egyensúlyt és támogatást hozzon létre.
- Az utolsó szervomotort az 5. lépés végpontjához kell kötni feviquick ragasztóval vagy ragasztópisztollyal, hogy merev szerkezetet hozzon létre.
- A megfelelő hosszúságú lemez és egy csap csatolja a fogantyút a nyomaték a motor úgy, hogy a távolság a szabad vége lapos alátétet és a toll hegye körülbelül 20 cm.
A robot kialakításakor figyelembe kell venni a fenti 20 cm távolságot és a kalibrálás helyességét. A tervezés többi része függ a más komponensek elérhetőségétől és a vágytól. Például a tervezőtől származó alumíniumlemezek helyett a vonalzók használhatják a mechanikus karok stb. Létrehozását.
3. lépés: Elektronikus alkatrészek

A fenti kép a felhasznált komponensek kapcsolási rajzait mutatja be, amelyek az arduino sild-hez csatlakoztathatók, vagy egy kenyérlemezhez csatlakoztathatók.
4. lépés: A programkód


Ez a projekt legérdekesebb és legfontosabb része.
Először is egy olyan képre van szükségünk, amelyben a kontúrokat hatékony képkonfigurálás-érzékelő eszközzel kell meghatározni. Következő fogjuk ezt a képet. A kép rajzolása két szakaszból áll.
1. lépés: A kezdetektől fogva, találunk egy pixel kijelölt logikai egységet, hiszen most a kép áll logikai egyesek és nullák, és ellenőrzi annak helyi környező képpontok hogy bármelyiket is, mint egy logikai egységet. Ezután a fogantyú eléri ezt a képpontot, és az előző logikai egység törlődik. A funkció rekurzív módon ismétlődik és sima vonalakat hoz létre.
2. lépés: A második szakaszban az inverz kinematikát alkalmazzuk a kívánt specifikus pixel eléréséhez. Meg kell tudnunk a pixel koordinátáit, és számolni kell a forgástengelyek megfelelő szögeit; A számítási képleteket a fenti ábra mutatja.
A fenti magyarázatot nem a programkód végrehajtására használják, hanem az általános megértéshez.
Most meg kell állítania a Matlabot és az arduino-t a programkód végrehajtásához.
Először telepítse az arduino IO csomagot a matlabra (minden utasítás megtalálható a szoftvercsomaggal).
Ezután cserélje le az arduino.m fájlt az azonos nevű letöltett fájlra.
Töltse le és mentse el a finaldraw.m és a draw.m könyvtárat a matlab könyvtárban.
Töltse le az adioes.ino fájlt, amely korábban fel lett töltve az arduino modulra.
Nézd meg, melyik portja van az arduino-nak, akkor menj a finaldraw.m-be, és változtasd meg a COM3 portot.
Például Emma Watson képét letöltötték, így használhatja a tesztelési folyamatban. A kép kontúrfelismerő funkciójának paramétereit is megváltoztathatja az Ön igényeinek megfelelően.
Most csatlakoztassa az arduino-t a számítógéphez, kapcsolja be az áramforrást, és adja meg a matlab parancssorba a véglegesítést. Élvezze a kép rajzolásának folyamatát.
Ha bármilyen problémája van, akkor ismerkedjen meg az 5. lépéssel.
5. lépés: A programkód leírása

A kép rajzolásának algoritmusát az alábbiakban ismertetjük.
Az elv az algoritmus a következő: kezdetben kezdődik, hogy megvizsgálja pixel a konvertált képet, és ha ez egy (1), amely a továbbiakban a fehér pixel a fenti képen, a toll hegye eléri ezt a pontot (a folyamat Ezen pont elérése előtt írt) és leesik, majd a szomszédos 8 ellenőrzött pixel, és ha a készülék érzékeli a toll eléri ezt a pontot nem emeli a csúcs fel, és eltávolítja az előző pixel ismétlések elkerülése érdekében. Ez a folyamat addig folytatódik, amíg már nem veszi körül a detektált logikai egység (ez egy rekurzív függvény), így tollat húz egy sima vonal, és eltávolítja a „logikai komponens” egyszerre. Továbbá van egy rajza más ágai vonalak, amelyek megjelennek a rajzolt vonalon, mert van egy csekket az egyes szomszédos pixel. Ez az algoritmus egy teljes képet hoz létre.