Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

Az infravörös érzékelő tartalmazza a Lego mindstorms EV3 otthoni változatát. Ez az egyetlen olyan érzékelő, amely mind önállóan, mind infravörös beaconral párosítva is használható, szintén otthoni készlet része. A következő két leckét a két eszköz tanulmányozására, valamint az egymással való kölcsönhatásra irányítják.

8.1. Infravörös érzékelőt és infravörös jelzőt vizsgálunk

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

8.2. Infravörös érzékelő. Mód "megközelítés"

Az infravörös érzékelő működési módja hasonló az ultrahangos érzékelő távolságmérési módjához. A különbség a fényhullámok jellegében rejlik: ha a legtöbb anyagból gyakorlatilag nem csillapodik a hanghullám, akkor a fényhullámok visszaverődését nem csak az anyagok, hanem a felület színének is befolyásolja. A sötét színek - a fényesektől eltérően - erőteljesebben felszívják a fényáramot, ami befolyásolja az infravörös érzékelő működését. Az infravörös érzékelő működési tartománya is különbözik az ultrahangos érzékelőtől - az érzékelő 0-tól (nagyon közelről) 100-ig terjedő értékeket mutat (az objektum messze van, vagy nincs érzékelve). Ismét hangsúlyozzuk: az infravörös érzékelő nem használható az objektum pontos távolságának meghatározására, mivel az "közelítés" módban lévő színét a vizsgált objektum felületének színe befolyásolja. Ez a tulajdonság pedig arra használható, hogy megkülönböztesse a robottól azonos távolságra elhelyezkedő fény és sötét tárgyakat. Az akadály megakadályozása önmagát megelőzően az infravörös érzékelő nagyon sikeres.

Megoldunk egy olyan gyakorlati problémát, amely hasonlít a 7. lecke problémájához. De annak érdekében, hogy ne ismételjünk, további feltételeket fogunk bonyolítani.

17. feladat: írjon egy egyenes vonalú mozgó robotot, amely megáll egy fal vagy akadály előtt, kissé hátrafelé elmozdulva, 90 fokos fordulattal, és tovább mozog a következő akadályra.

A robot a kis robot-31313 utasításával összegyűjtött. Az infravörös érzékelő az upstream irányban van felszerelve. Csatlakoztassa egy kábellel az EV3 modul "3" portjához, és folytassa a program létrehozását.

Vegye figyelembe a narancssárga paletta "Várakozás" programblokkot átkapcsolás módba: "Infravörös érzékelő" - "Összehasonlítás" - "Hozzávetés" (3. Ebben a módban a "Várakozás" programblokknak két bemeneti paramétere van: "összehasonlító típus" és "küszöbérték". Már tudjuk, hogyan kell ezeket a paramétereket módosítani.

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

  1. Indulj egyenesen előre
  2. Várja meg, amíg az infravörös érzékelő küszöbértéke 20-nál kevesebb lesz
  3. Állj meg előre
  4. Menj vissza a motorok egy forradalmára
  5. Forgassa jobbra 90 fokot (a 3. lecke ismeretében, számítsa ki a motorok szükséges forgásszögét)
  6. Folytassa az 1-5. Lépéseket egy végtelen hurokban.

Próbáld meg megoldani a 17-es problémát, anélkül, hogy belenézel a megoldásba.

A 17. feladat megoldása

8.3. A robot távirányítása infravörös világítótorony segítségével

Az infravörös világítótorony, amely a tervező Lego mindstorms EV3 otthoni változatában található, párosítva egy infravörös érzékelővel, lehetővé teszi a robot távvezérlését. Ismerkedjünk közelebb a világítótoronyhoz:

  1. Az infravörös jeladó használatával irányítsa a jeladót (5. ábra 1. pozíció) a robot felé. A jeladó és a robot között nincs akadály! Nagylátószögű látószögnek köszönhetően az infravörös érzékelő biztosan fogadja a jeleket, még akkor is, ha a jeladó a robot mögött van!
  2. A beacon testen 5 szürke gomb van (5. Ábra, 2. tétel). amelynek sajtója felismeri az infravörös érzékelőt, és továbbítja a push kódokat a robotot vezérlő programnak.
  3. Egy speciális piros kapcsoló segítségével (5. Ábra, 3. tétel) kiválaszthatja a jelzőfény és az érzékelő közötti kommunikáció négy csatornájának egyikét. Ez úgy történik, hogy több robot is ellenőrizhető a közvetlen környezetben.

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

18. feladat: írjon programot egy robot távirányítására egy infravörös világítótorony segítségével.

Már tudjuk, hogy a futóblokkok kiválasztásának lehetősége érdekében szükség van az Orange Blender "Switch" szoftverének használatára. Állítsa be a "Switch" blokk működési módját az "Infravörös érzékelő" - "Mérés" - "Távvezérlés" (6. ábra).

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

Az infravörös érzékelő és a jeladó közötti kapcsolat aktiválásához a "Csatorna" paraméter (7. ábra 1. tétel) megfelelő értékét a világítótoronyban lévő kiválasztott csatorna szerint kell beállítani! A "Switch" blokk minden egyes szoftveres tárolóját hozzá kell kapcsolni a szürke gombok (7. ábra 2. tétele) megnyomásának egyik lehetséges opciójához. Megjegyzés: Egyes opciók két gomb egyidejű megnyomását is tartalmazzák (a megnyomott gombok piros színnel jelennek meg). A "Switch" programblokkban ebben a módban összesen legfeljebb 12 különböző feltétel feldolgozható (az egyik feltétele az alapértelmezett állapotnak kell lennie). Add hozzá a szoftvercsomagokat a "Switch" blokkhoz a "+" gombra kattintva (7.

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

Javasoljuk a következő robotvezérlő algoritmus megvalósítását:

  • A bal felső gomb megnyomása elfordítja a bal oldali motor forgását, a robot jobbra fordul (7. ábra 2. tétel értéke: 1)
  • A jobb felső gomb megnyomása elforgatja a jobb motor forgását, a robot balra fordul (7. ábra 2. tétel értéke: 3)
  • A bal felső és jobb oldali gombok egyidejű megnyomása aktiválja a bal és a jobb oldali motorok egyidejű forgatását, a robot egyenes vonalban mozog (7. ábra 2. tétel értéke: 5)
  • Az alsó bal és jobb oldali gombok egyidejű megnyomása bekapcsolja a bal és jobb oldali motorok egyidejű forgatását, a robot egyenesen elhalad (7. ábra 2. tétel értéke: 8)
  • Ha nincs beacon gomb, akkor a robot leáll (a 7. ábra 2. tétele: 0).

Amikor távvezérlési algoritmust fejleszt ki, akkor tudnia kell a következőket: ha a szürke gombok egyikének kombinációját megnyomják - az infravörös beacon folyamatosan elküldi a megfelelő jelet, ha a gombok ki vannak engedve, akkor a jelzés megszakad. A kivétel egy külön vízszintes szürke gomb (7. Ez a gomb két állapotot tartalmaz: "BE" - "KI". Ha a jelzőfény bekapcsolt állapotban van, akkor a jelző továbbra is jelet küld, még akkor is, ha a zöld LED világítani kezd, és ezzel kikapcsolja a jelet - nyomja meg újra a vízszintes szürke gombot.

Indítsuk el a programot:

Távvezérlő algoritmusunk 5 viselkedési változatot kínál, ennek megfelelően a "Switch" programblokk öt szoftveres tárolóból áll. Tegyük meg, hogy beállítjuk őket.

  1. Alapértelmezés szerint opciót rendelünk hozzá, ha nincs megnyomva gomb (7. ábra, 2. tétel: 0). Szerelje be a "Független motorvezérlés" programblokkot a tartályban. "B" és "C" motort.
  2. A bal felső gomb megnyomásának változatában (7. ábra 2. tétel értéke: 1) állítsa be a "Big Motor" programblokkot. beleértve a "B" motort.
  3. A jobb felső nyomógomb megnyomására szolgáló változat tartályában (7. ábra 2. tétel értéke: 3) állítsa be a "Big Motor" programblokkot. beleértve a "C" motort.
  4. A bal felső és jobb oldali gombok egyidejű megnyomásának lehetőségével (7. ábra 2. tétel 2-es értéke: 5) a tartályban állítsa be a "Független motorvezérlés" programblokkot. Ide tartozik a "B" és "C" motor elforgatása is.
  5. A bal alsó és jobb oldali gombok egyidejű sajtolásának változatában (7. ábra 2. tétel 2-es értéke: 8) a "Független motorvezérlés" programblokkot telepítjük. beleértve a "B" és "C" motorok forgását is.
  6. Helyezzük el testreszabott "Switch" programblokkot a "Cycle" szoftverblokkon belül.

A javasolt rendszer szerint próbáld meg magad létrehozni a programot, anélkül, hogy belenézel a megoldásba!

A 18. feladat megoldása

Kezdjük tanulmányozni az infravörös érzékelő lego mindstorms ev3-at

Nagyon köszönöm! A csodálatos óráknak köszönhetően minden működik! Megpróbáljuk az összes feladatot, és végül a gyerek egyetlen hibát követett el önállóan! És ami a legfontosabb, világosan megértettem az összes cselekvést!