Turinys:
- 1 žingsnis: įsigykite reikalingas dalis ir medžiagas
- 2 veiksmas: fotoaparato ir „Geiger-Muller“skaitiklio konfigūravimas
- 3 veiksmas: prisijunkite prie „Roomba“ir sukurkite šviesos jutiklio kodą
- 4 veiksmas: sukurkite buferio kodą
- 5 veiksmas: sukurkite kodą skaitiklio ekranui skaityti, jį interpretuoti ir atsitraukti nuo šaltinio
- 6 veiksmas: sukurkite uolos jutiklio kodą
- 7 žingsnis: Išvada
Video: „RADbot“: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Jackson Breakell, Tyler McCubbins ir Jakob Thaler projektas EF 230
Marse astronautai patirs įvairių pavojų - nuo ekstremalių temperatūrų iki dulkių audrų. Tačiau vienas veiksnys, į kurį dažnai nekreipiama dėmesio, yra pavojus, kurį kelia galingi radioizotopai, esantys planetos paviršiuje. „RADbot“padeda tyrinėti astronautus Marso paviršiuje, nustatant uolienų mėginius, kurių judėjimas yra didelis, taip pat turi suprogramuotų saugos funkcijų, kurios naudoja uolos jutiklius, šviesos jutiklius, buferio jutiklius ir fotoaparatą, neleidžiant robotui sugadinti neatleistinoje Marso vietovėje. Be astronautų įspėjimo apie galimus radioaktyvius pavojus paviršiuje, roboto radioaktyviųjų mėginių vietos nustatymo funkcija galėtų būti įdiegta kaip priemonė nustatyti zonas, kuriose gali būti daug urano ir kitų aktinidų. Astronautai galėtų iškasti šiuos elementus, pakankamai juos praturtinti ir panaudoti branduoliniuose reaktoriuose bei termoelektriniuose generatoriuose, kurie galėtų padėti aprūpinti nuolatinę, savarankišką planetos koloniją.
Skirtingai nuo tipiško „Mars“roverio, mūsų dizainas turi komponentus, esančius lentynose, ir priimtiną kainą. Jei turite lėšų ir noro, galite net patys susikurti, vadovaudamiesi šiuo vadovu. Skaitykite toliau, kad sužinotumėte, kaip sukurti savo RADbot.
1 žingsnis: įsigykite reikalingas dalis ir medžiagas
Ko jums reikia norint pradėti (vaizdai išdėstyti tokia tvarka, kokia jie yra išvardyti)
1. Vienas „Roomba“(bet kuris naujesnis modelis)
2. Vienas Geigerio-Miulerio skaitiklis
3. Vienas Raspberry Pi
4. Viena plokštės kamera su USB lizdu
5. Vienas mikro USB į USB kabelis
6. Vienas USB - USB kabelis
7. Vienas pakankamo aktyvumo radioaktyvusis mėginys (~ 5μSv arba didesnis)
8. Vienas kompiuteris su įdiegta „Matlab“
9. Klijai (pageidautina lipni juosta, kad būtų lengva nuimti)
2 veiksmas: fotoaparato ir „Geiger-Muller“skaitiklio konfigūravimas
Dabar, kai turite visas reikalingas medžiagas „RADbot“sukūrimui, pradėsime paprasčiausiai įdėdami fotoaparatą, kad jis galėtų nuskaityti veiklą ant skaitiklio. Padėkite „Geiger-Muller“skaitiklį kuo arčiau „Roomba“galo ir įsitikinkite, kad jo jutiklis nėra užblokuotas. Tvirtai pritvirtinkite skaitiklį pasirinktais klijais ir toliau montuokite fotoaparatą, kad jis būtų nukreiptas į jį. Padėkite fotoaparatą kuo arčiau skaitiklio ekrano, kad išoriniai įėjimai nepaveiktų programos, ir pritvirtinkite ją vietoje, kai jaučiatės patogiai. Vis dėlto rekomenduojame išsaugoti fotoaparato apsaugą paskutiniam laikui, nes kai kodas bus baigtas, galėsite rodyti vaizdą iš fotoaparato į savo kompiuterį, kad galėtumėte pastatyti kamerą pagal jos matymo lauką. Kai fotoaparatas ir skaitiklis bus tvirtai pritvirtinti, prijunkite fotoaparatą prie vieno iš „Raspberry Pi“USB įėjimų naudodami USB -USB kabelį, o „Raspberry Pi“- į „Roomba“naudodami „micro USB to USB“kabelį.
3 veiksmas: prisijunkite prie „Roomba“ir sukurkite šviesos jutiklio kodą
Pirmiausia atsisiųskite „EF 230“svetainės „Roomba“įrankių rinkinį ir įdėkite jį į nurodytus aplankus. Norėdami prisijungti prie „Roomba“, tiesiog nurodykite lipduką, pritvirtintą prie „Raspberry Pi“, ir komandų lange be kabučių įveskite „r = roomba (x)“, o x reiškia „Roomba“numerį. „Roomba“turėtų groti melodiją, o švarus mygtukas turėtų rodyti žalią žiedą. Pradėkite savo kodą nuo sakinio „tuo tarpu“ir nurodykite šviesos jutiklius, kaip jie rodomi jutiklių sąraše. Atidarykite jutiklių sąrašą, komandų lange įvesdami „r.testSensors“.
Remdamiesi mūsų objekto spalva, lemiančia, kiek šviesos atsispindi, nustatykite reikalavimus, kad teiginys „while“būtų vykdomas kaip funkcija. Mūsų atveju mes nustatėme, kad priekinis šviesos jutiklis paleistų kodą tuo metu, kai kairiojo arba dešiniojo centro šviesos jutiklių rodmuo buvo> 25. Vykdomam teiginiui nustatykite, kad „Roomba“greitis sulėtėtų, įvesdami „r.setDriveVelocity (x, y)“, kur x ir y atitinkamai kairiojo ir dešiniojo ratų greičiai. Įveskite „else“teiginį, kad „Roomba“nesulėtėtų dėl nenustatytų verčių, ir dar kartą įveskite nustatytą pavaros greičio komandą, išskyrus kitą greitį. Užbaikite „while“teiginį „pabaiga“. Šis kodo segmentas privers „Roomba“priartėti prie objekto ir sulėtinti greitį, kai jis pasieks tam tikrą diapazoną, kad sumažintų poveikį.
Pridedama mūsų kodo ekrano kopija, tačiau nedvejodami redaguokite ją, kad ji geriausiai atitiktų jūsų misijos parametrus.
4 veiksmas: sukurkite buferio kodą
Kadangi „Roomba“lėtėja, tai sumažins jo daromą poveikį objektui, nors ir ne tiek, kad nesukeltų fizinio buferio. Šiam kodo segmentui vėl pradėkite nuo ciklo „while“ir nustatykite jo išraišką kaip teisingą. Jei norite teiginį, nustatykite kintamąjį T, lygų buferio išėjimui, 0 arba 1, jei yra klaidinga ir teisinga. Tam galite naudoti „T = r.getBumpers“. T išeis kaip struktūra. Įveskite teiginį „jei“ir nustatykite posakio T.front išraišką lygią 1 ir nustatykite teiginį arba nustatykite disko greitį 0, naudodami „r.setDriveVelocity (x, y)“arba „r.stop . Įveskite „pertrauką“, kad „Roomba“galėtų judėti, kai bus įvykdyta kito kodo sąlyga. Pridėkite „kitą“ir nustatykite jo teiginį, kad važiavimo greitis būtų nustatytas į įprastą „Roomba“kreiserinį greitį.
Pridedama mūsų kodo ekrano kopija, tačiau nedvejodami redaguokite ją, kad ji geriausiai atitiktų jūsų misijos parametrus.
5 veiksmas: sukurkite kodą skaitiklio ekranui skaityti, jį interpretuoti ir atsitraukti nuo šaltinio
Mūsų projekto esmė yra „Geiger-Muller“skaitiklis, o šis kodo segmentas naudojamas norint nustatyti, ką ekrane pateikiami duomenys reiškia naudojant fotoaparatą. Atsižvelgiant į tai, kad mūsų skaitiklio ekranas keičia spalvą pagal šaltinio veiklą, nustatysime fotoaparatą interpretuoti ekrano spalvą. Pradėkite kodą nustatydami kintamąjį, lygų komandai „r.getImage“. Kintamajame bus 3d raudonos, žalios ir mėlynos spalvos nuotraukų reikšmių masyvas. Nustatykite kintamuosius, lygius atitinkamų spalvų matricų vidurkiams, naudodami komandą „mean (vidurkis (img1 (:,:, x)))“, kur x yra sveikas skaičius nuo 1 iki 3. 1, 2 ir 3 reiškia raudoną, žalią ir atitinkamai mėlyna. Kaip ir į visas nurodytas komandas, neįtraukite kabučių.
Programai pristabdykite 20 sekundžių naudodami „pauzę (20)“, kad skaitiklis gautų tikslų mėginio rodmenį, o tada pradėkite teiginį „jei“. „Roomba“pyptelėjo kelis kartus, naudodami „r.beep“, prieš parodydami meniu su tekstu „Radytas radioizotopas! Atsargiai!“tai galima padaryti naudojant komandą „waitfor (helpdlg ({'texthere'})“. Spustelėjus „OK“, „Roomba“toliau laikysis likusio kodo, esančio teiginyje „if“. Leiskite „Roomba“apvažiuoti pavyzdį naudodami komandų „r.moveDistance" ir „r.turnAngle" derinys. Įsitikinkite, kad sakinį „if“baigsite „pabaiga“.
Pridedama mūsų kodo ekrano kopija, tačiau nedvejodami redaguokite ją, kad ji geriausiai atitiktų jūsų misijos parametrus.
6 veiksmas: sukurkite uolos jutiklio kodą
Norėdami sukurti kodą, kad galėtumėte naudoti „Roomba“įmontuotus uolų jutiklius, pradėkite nuo ciklo „ciklas“ir nustatykite jo išraišką kaip teisingą. Nustatykite, kad kintamasis būtų lygus „r.getCliffSensors“, ir bus sukurta struktūra. Pradėkite teiginį „jei“ir nustatykite kintamuosius „X.leftFront“ir „X.rightFront“iš struktūros, kad jie būtų didesni už tam tikrą iš anksto nustatytą reikšmę, kur „X“yra kintamasis, kuriam pasirinkote komandą „r.getCliffSensors“būti lygus. Mūsų atveju mes naudojome 1000, nes baltas popierius buvo naudojamas skardžiui pavaizduoti, o artėjant jutikliams, popierius, vertės išaugo iki daugiau nei 1000, todėl kodas bus vykdomas tik aptikus uolą. Po to pridėkite komandą „break“ir įterpkite „else“teiginį. Jei norite pasakyti „else“, kuris bus įvykdytas, jei nebus aptikta uolos, nustatykite kiekvieno rato važiavimo greitį į įprastą kreiserinį greitį. Jei „Roomba“aptinka skardį, „pertrauka“bus įvykdyta, o tada bus vykdomas kodas, esantis už ciklo. Įdėję kilpos „jei“ir „tuo tarpu“„pabaigą“, nustatykite „Roomba“judėti atgal naudodami komandą perkelti atstumą. Norėdami įspėti astronautus, kad netoliese yra skardis, važiavimo greičio komandoje nustatykite kiekvieno rato, x ir y, važiavimo greitį a ir -a, kur a yra tikrasis skaičius. Dėl to „Roomba“suksis, įspėdama astronautą apie skardį.
Pridedama mūsų kodo ekrano kopija, tačiau nedvejodami redaguokite ją, kad ji geriausiai atitiktų jūsų misijos parametrus.
7 žingsnis: Išvada
Galutinis „RADbot“tikslas Marse yra padėti astronautams tyrinėti ir kolonizuoti Raudonąją planetą. Nustatydami paviršiuje esančius radioaktyviuosius mėginius, tikimės, kad robotas ar roveris šiuo atveju tikrai gali apsaugoti astronautus ir padėti nustatyti jų bazės (-ų) energijos šaltinius. Atlikus visus šiuos veiksmus ir galbūt atlikus bandymus ir klaidas, jūsų „RADbot“turėtų veikti ir veikti. Padėkite radioaktyvų mėginį kažkur savo bandymų zonoje, vykdykite kodą ir stebėkite, kaip roveris daro tai, ką jis turėjo padaryti. Mėgaukitės savo RADbot!
-EF230 RADbot komanda
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Tiesioginė 4G/5G HD vaizdo transliacija iš DJI drono esant mažai delsai [3 žingsniai]: 3 žingsniai
Tiesioginis 4G/5G HD vaizdo įrašų srautinis perdavimas iš DJI drono esant mažai delsai [3 žingsniai]: Šis vadovas padės jums gauti tiesioginius HD kokybės vaizdo srautus iš beveik visų DJI dronų. Naudodami „FlytOS Mobile App“ir „FlytNow Web Application“galite pradėti transliuoti vaizdo įrašus iš drono