Tartalomjegyzék:
- 1. lépés: Szerezze be a szükséges alkatrészeket és anyagokat
- 2. lépés: A kamera és a Geiger-Muller számláló konfigurálása
- 3. lépés: Csatlakozzon a Roomba -hoz, és hozzon létre fényérzékelő kódot
- 4. lépés: Létrehozó kód létrehozása
- 5. lépés: Hozzon létre kódot a számláló képernyő olvasásához, értelmezze és vonuljon vissza a forrásból
- 6. lépés: Hozzon létre egy sziklaérzékelő kódot
- 7. lépés: Következtetés
Videó: A RADbot: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Jackson Breakell, Tyler McCubbins és Jakob Thaler projektje az EF 230 számára
A Marson az űrhajósokat számos veszély fenyegeti, a szélsőséges hőmérséklettől a porviharokig. Az egyik gyakran figyelmen kívül hagyott tényező azonban a bolygó felszínén található erős radioizotópok veszélye. A RADbot segítséget nyújt az űrhajósok felfedezéséhez a Mars felszínén azáltal, hogy nagy aktivitású kőzetmintákat azonosít utazás közben, és programozott biztonsági funkciókkal is rendelkezik, amelyek sziklaérzékelőit, fényérzékelőit, lökhárító érzékelőit és kameráját használják, megakadályozva a robot károsodását a megbocsáthatatlan marsi terepen. Amellett, hogy az űrhajósokat figyelmezteti a lehetséges radioaktív veszélyekre a felszínen, a robot radioaktív minta -elhelyezési funkciója eszközként is alkalmazható azon területek azonosítására, amelyek nagy urán- és egyéb aktinidlerakódásokat tartalmazhatnak. Az űrhajósok bányászhatnák ezeket az elemeket, kellően gazdagíthatnák őket, és nukleáris reaktorokban és termoelektromos generátorokban használhatnák fel őket, amelyek segíthetnek egy állandó, önfenntartó kolónia ellátásában a bolygón.
A tipikus Mars-roverrel ellentétben, a dizájnunk polcon kívüli alkatrészeket és elfogadható árcédulát tartalmaz. Feltéve, hogy van pénze és vágya, ezt az útmutatót követve akár saját maga is építhet egyet. Kérjük, olvassa el, és tanulja meg, hogyan készíthet saját RADbotot.
1. lépés: Szerezze be a szükséges alkatrészeket és anyagokat
A kezdéshez (a képek sorrendben vannak elhelyezve)
1. Egy Roomba (bármely újabb modell)
2. Egy Geiger-Mueller számláló
3. Egy Málna Pi
4. Egy fedélzeti kamera USB aljzattal
5. Egy micro USB - USB kábel
6. Egy USB -USB kábel
7. Egy elegendő aktivitású (~ 5μSv vagy magasabb) radioaktív minta
8. Egy számítógép, Matlab telepítve
9. Ragasztó (lehetőleg ragasztószalag a könnyű eltávolítás érdekében)
2. lépés: A kamera és a Geiger-Muller számláló konfigurálása
Most, hogy megvan az összes szükséges anyag a RADbot létrehozásához, kezdjük azzal, hogy egyszerűen elhelyezzük a kamerát, hogy le tudja olvasni a tevékenységet a számlálón. Helyezze a Geiger-Muller számlálót a lehető legközelebb a Roomba végéhez, és győződjön meg arról, hogy az érzékelő nincs elzárva. Rögzítse a pultot a helyére a kiválasztott ragasztóval, majd szerelje fel a kamerát. Helyezze a fényképezőgépet a lehető legközelebb a számláló kijelzőjéhez, hogy a külső bemenetek ne befolyásolják a programot, és rögzítse a helyén, amint jól érzi magát. Javasoljuk azonban, hogy a kamera biztonságát mentse utolsónak, mert a kód befejezése után megjeleníthet egy képet a fényképezőgépről a számítógépére, lehetővé téve a kamera látómező szerinti elhelyezését. Miután a kamera és a számláló is stabilan a helyén van, csatlakoztassa a fényképezőgépet a Raspberry Pi egyik USB -bemenetéhez az USB -USB -kábellel, és a Raspberry Pi -t a Roomba -hoz a mikro -USB -USB -kábellel.
3. lépés: Csatlakozzon a Roomba -hoz, és hozzon létre fényérzékelő kódot
Először töltse le az EF 230 webhely Roomba eszköztárát, és ügyeljen arra, hogy a megadott mappákba helyezze. A Roomba -hoz való csatlakozáshoz egyszerűen hivatkozzon a Raspberry Pi -hez csatolt matricára, és írja be az "r = roomba (x)" parancsparancsba az idézőjelek nélkül, és ahol x a Roomba számát jelenti. A Roomba dallamot játsszon, és a tiszta gomb körül zöld gyűrű jelenjen meg. Kezdje a kódot "while" utasítással, és nézze meg a fényérzékelőket, ahogy azok megjelennek az érzékelőlistában. Nyissa meg az érzékelőlistát a "r.testSensors" begépelésével a parancsablakba.
Objektumunk színe alapján, amely meghatározza, hogy mennyi fény tükröződik vissza, állítsa be a while utasítás követelményeit a> függvényként. Esetünkben az első fényérzékelőt úgy állítottuk be, hogy a while utasításban levő kódot futtassa, ha a bal vagy jobb középső fényérzékelő leolvasása> 25 volt. A végrehajtható utasításhoz állítsa be a Roomba sebességét, hogy lassítsa az "r.setDriveVelocity (x, y)" beírásával, ahol x és y a bal és a jobb kerék sebessége. Illesszen be egy "else" utasítást, hogy a Roomba ne lassítson a nem meghatározott értékeknél, és írja be újra a beállított meghajtási sebesség parancsot, kivéve más sebességgel. Fejezze be a while állítást "vége" -vel. Ez a kódszegmens a Roomba megközelíti az objektumot, és lelassítja, ha eléri egy bizonyos tartományt a hatás minimalizálása érdekében.
Mellékelve egy képernyőkép a kódunkról, de bátran szerkessze azt a küldetés paramétereinek leginkább megfelelő módon.
4. lépés: Létrehozó kód létrehozása
Mivel a Roomba lassul, minimalizálja a tárgyra gyakorolt hatást, bár nem annyira, hogy ne indítsa el a fizikai lökhárítót. A kód ezen szegmenséhez kezdje újra a „while” ciklussal, és állítsa a kifejezést igazra. Az állításnál állítsa be a T változót a lökhárító kimenetével, 0 vagy 1, hamis és igaz értékre. Ehhez használhatja a "T = r.getBumpers" -t. A T szerkezetként fog megjelenni. Írjon be egy "if" utasítást, és állítsa a kifejezést a T.front alszerkezetre 1 -re, és állítsa az utasításra, hogy vagy állítsa a meghajtó sebességét 0 -ra, az "r.setDriveVelocity (x, y)" vagy "r.stop használatával ". Adjon meg egy "szünetet", hogy a Roomba a következő kódban szereplő feltétel teljesülése után mozoghasson. Adjon hozzá egy „mást”, és állítsa be annak utasítását, hogy a hajtási sebességet a Roomba normál utazási sebességére állítsa.
Mellékelve egy képernyőkép a kódunkról, de bátran szerkessze azt a küldetés paramétereinek leginkább megfelelő módon.
5. lépés: Hozzon létre kódot a számláló képernyő olvasásához, értelmezze és vonuljon vissza a forrásból
Projektünk középpontjában a Geiger-Muller számláló áll, és a következő kódrészletet használjuk annak meghatározására, hogy a képernyőn megjelenő adatok mit jelentenek a kamera használatával. Tekintettel arra, hogy számlálónk képernyője színt vált a forrás tevékenysége alapján, beállítjuk, hogy a kamera értelmezze a képernyő színét. Indítsa el a kódot az "r.getImage" paranccsal megegyező változó beállításával. A változó a kép színének 3D tömbjét tartalmazza, amelyet piros, zöld és kék színben készített. Állítsa be a változókat a megfelelő színmátrixok átlagával az "átlagos (átlag (img1 (:,:, x)))" paranccsal, ahol x 1 és 3 közötti egész szám. 1, 2 és 3 piros, zöld és kék, ill. Mint minden hivatkozott parancs esetében, ne használjon idézőjelet.
Hagyja a programot 20 másodperc szünetet a "pause (20)" használatával, hogy a számláló pontos leolvasást kapjon a mintáról, majd kezdje el az "if" utasítást. A Roomba többször is sípolt az "r.beep" használatával, mielőtt megjelenített egy menüt a következő szöveggel: "Radioisotope found! Caution!" ezt a "waitfor (helpdlg ({'texthere'})" paranccsal lehet elérni. Az OK gombra kattintás után a Roomba továbbra is követi az "if" utasítás többi kódját. Hajtsa körbe a Roomba -t a minta használatával az "r.moveDistance" és az "r.turnAngle" parancsok kombinációja. Ügyeljen arra, hogy az "if" utasítást "end" zárja.
Mellékelve egy képernyőkép a kódunkról, de bátran szerkessze azt a küldetés paramétereinek leginkább megfelelő módon.
6. lépés: Hozzon létre egy sziklaérzékelő kódot
Ha egy kódot szeretne létrehozni a Roomba beépített sziklaérzékelőinek használatához, kezdje a "while" ciklussal, és állítsa be a kifejezést igaznak. Állítson be egy változót "r.getCliffSensors" értékre, és ez egy struktúrát eredményez. Indítson el egy "if" utasítást, és állítsa be az "X.leftFront" és az "X.rightFront" változókat a szerkezetből nagyobbnak, mint egy előre meghatározott érték, ahol "X" az a változó, amelyre az "r.getCliffSensors" parancsot választotta egyenlő legyen. Esetünkben 1000 -et használtunk, egy fehér papírlapot egy szikla ábrázolására, és ahogy az érzékelők közeledtek, a papírt, az értékek jóval 1000 fölé nőttek, biztosítva, hogy a kód csak akkor fut, ha sziklát észlelnek. Adja hozzá a "break" parancsot, majd illesszen be egy "else" utasítást. Az "else" utasításhoz, amelyet akkor hajtanak végre, ha nem észlel sziklát, állítsa be a meghajtási sebességet minden kerék normál utazási sebességére. Ha a Roomba észlel egy sziklát, akkor a "break" végrehajtásra kerül, majd a while cikluson kívüli kód kerül végrehajtásra. Az "if" és a "while" ciklus "end" végének elhelyezése után állítsa a Roomba -t hátrafelé történő mozgásra a move distance paranccsal. Annak érdekében, hogy figyelmeztesse az űrhajósokat, hogy egy szikla van a közelben, állítsa be minden kerék, x és y sebességét a hajtási sebesség parancsban a és -a értékre, ahol a valós szám. Ettől a Roomba megpördül, és figyelmezteti az űrhajóst a sziklára.
Mellékelve egy képernyőkép a kódunkról, de bátran szerkessze azt a küldetés paramétereinek leginkább megfelelő módon.
7. lépés: Következtetés
A RADbot végső célja a Marson az űrhajósok segítése a vörös bolygó feltárásában és gyarmatosításában. Reméljük, hogy a felszínen található radioaktív minták azonosításával a robot vagy a rover valóban képes biztonságban tartani az űrhajósokat, és segít azonosítani a támaszpont (ok) energiaforrásait. Miután mindezeket a lépéseket végrehajtotta, és talán némi próbával és hibával, a RADbotnak működőképesnek kell lennie. Helyezze a radioaktív mintát valahová a vizsgálati területére, hajtsa végre a kódot, és nézze meg, hogy a rover azt teszi, amit terveztek. Élvezze a RADbot -ot!
-Az EF230 RADbot csapata
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását