Inhoudsopgave:
- Stap 1: Hoofdconcept en motivatie
- Stap 2: Materiaal & Gereedschap
- Stap 3: (Laser)snijden & (3D) Printen
- Stap 4: Montage van de elektronica
- Stap 5: Coderen
- Stap 6: Montage
- Stap 7: Conclusie
Video: Escape Robot: RC Car voor een Escape Game - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Het belangrijkste doel van dit project was om een robot te bouwen die zich zou onderscheiden van reeds bestaande robots, en die zou kunnen worden gebruikt in een echt en innovatief gebied.
Op basis van persoonlijke ervaring werd besloten om een autovormige robot te bouwen die zou worden geïmplementeerd in een Escape Game. Dankzij de verschillende componenten kunnen de spelers de auto inschakelen door een raadsel op de controller op te lossen, het traject van de auto besturen en onderweg een sleutel krijgen om uit de kamer te ontsnappen.
Aangezien dit project deel uitmaakte van een opleiding Mechatronica gegeven aan de Université Libre de Bruxelles (U. L. B.) en de Vrije Universiteit Brussel (V. U. B.), België, werden in het begin enkele vereisten voorgesteld, zoals:
- Gebruiken en combineren van mechanica, elektronica en programmeren
- Een budget van 200€
- Een afgewerkte en werkende robot hebben die iets nieuws brengt
En omdat het zou worden gebruikt in real-life escape game-sessies, soms meerdere sessies achter elkaar, moesten er nog een paar vereisten worden vervuld:
- Autonomie: een manier vinden om de robot semi-autonoom te maken om de spelbeperkingen te respecteren
- Gebruiksvriendelijk: gebruiksvriendelijk, aanwezigheid van een scherm met feedback van de camera
- Robuustheid: sterke materialen die de schokken kunnen absorberen
- Veiligheid: spelers niet in direct contact met robot
Stap 1: Hoofdconcept en motivatie
Zoals uitgelegd in de inleiding, is het belangrijkste concept van dit project het creëren en bouwen van een semi-autonome robot, eerst bestuurd door de spelers van het ontsnappingsspel, en vervolgens in staat om de controle terug te nemen van de spelers.
Het principe is het volgende: Stel je voor dat je met een groep vrienden opgesloten zit in een kamer. De enige mogelijkheid om de kamer uit te komen is door een sleutel te vinden. De sleutel zit verstopt in een doolhof onder je voeten, in een donkere tussenverdieping. Om die sleutel te krijgen, heb je drie dingen in je bezit: een afstandsbediening, een kaart en een scherm. Met de afstandsbediening kunt u een auto besturen die zich al op de tussenverdieping bevindt, door een raadsel op te lossen dat is bedacht op de bestaande bedieningsknoppen van de afstandsbediening. Als je dat raadsel eenmaal hebt opgelost, wordt de auto aangezet (zie Stap 5: Coderen - hoofdfunctie genaamd 'loop()'), en kun je beginnen met het begeleiden van de auto door het doolhof met behulp van de gegeven kaart. Het scherm is er om live weer te geven wat de auto ziet, dankzij een camera die voor de robot is bevestigd, en helpt je daarom de trajecten en, nog belangrijker, de sleutel te zien. Zodra je de sleutel hebt gekregen dankzij een magneet aan de onderkant van de robot, en zodra je het einde van het doolhof hebt bereikt, ben je in staat om de sleutel te pakken en te ontsnappen uit de kamer waarin je was opgesloten.
De belangrijkste componenten van de robot zijn daarom:
- Raadsel op te lossen op afstandsbediening
- Besturing van de robot door de spelers met afstandsbediening
- Bedieningsweergave op basis van live gefilmde video door de camera
Omdat in dergelijke spellen tijd de belangrijkste beperking is (in de meeste escape-spellen heb je tussen de 30 minuten en 1 uur om eruit te komen om te slagen), is er een sensor bevestigd en aangesloten aan de basis van de robot zodat als je als spelers overschrijdt een bepaalde tijd (in ons geval 30 minuten), neemt de robot de controle terug en voltooit het parcours zelf, zodat je een kans hebt om de sleutel van de kamer te krijgen voordat de timer van het spel afgaat (in ons geval 1 uur)
Omdat de auto zich in een volledig donkere kamer bevindt, zijn LED's niet ver van de sensor bevestigd om het signaal van de grond te helpen lezen.
De wens achter dit groepsproject was om ons te baseren op wat er al op de markt is, het te wijzigen door een persoonlijke waarde toe te voegen en het in een leuk en interactief veld te kunnen gebruiken. Nadat we in contact waren geweest met een succesvolle Escape Room in Brussel, België, ontdekten we trouwens dat escape-games niet alleen steeds bekender worden, maar dat ze vaak geen interactiviteit hebben en dat klanten klagen dat ze niet genoeg "deel uitmaken van " het spel.
We hebben daarom geprobeerd een idee te bedenken van een robot die aan de gestelde eisen zou voldoen en de spelers zou uitnodigen om echt deel uit te maken van het spel.
Hier is een samenvatting van wat er in de robot gebeurt:
- Het niet-autonome deel: een afstandsbediening is via een ontvanger aan Arduino gekoppeld. Spelers besturen de afstandsbediening en daarmee de Arduino die de motoren bestuurt. De Arduino wordt ingeschakeld voordat het spel begint, maar het gaat naar de hoofdfunctie wanneer spelers een raadsel oplossen op de afstandsbediening. Een draadloze IR-camera is al ingeschakeld (wordt tegelijkertijd met het "geheel" (aangestuurd door de Arduino) ingeschakeld wanneer het in-/uitschakelen is ingeschakeld). Spelers besturen de auto met een afstandsbediening: ze regelen de snelheid en de richting (cfr. Stap 5: stroomschema). Wanneer de timer die start wanneer de hoofdfunctie wordt ingevoerd gelijk is aan 30 minuten, wordt de besturing van de controller uitgeschakeld.
- Het autonome deel: de besturing wordt dan beheerd door de Arduino. Na 30 minuten begint de IR-lijntrackersensor een lijn op de grond te volgen om het parcours af te maken.
Stap 2: Materiaal & Gereedschap
MATERIAAL
Elektronische onderdelen
-
Microcontroller:
- Arduino UNO
- Arduino motorschild - Reichelt - 22.52€
-
Sensoren:
IR-lijntracker - Mc Hobby - 16.54€
-
Batterijen:
6x 1.5V batterij
-
Ander:
- Protobord
- Draadloze camera (ontvanger) - Banggood - 21.63 €
- Afstandsbediening (zender + ontvanger) - Amazon - 36.99€
- Oplaadstation (Qi-ontvanger) - Reichelt - 22.33€ (niet gebruikt - zie Stap 7: Conclusie)
- LED - Amazon - 23.60€
Mechanisch onderdeel
-
DIY auto chassis kit - Amazon - 14.99 €
-
Gebruikt:
- 1x schakelaar
- 1x zwenkwiel
- 2x wielen
- 2x DC-motor
- 1x batterijhouder
-
Niet gebruikt:
- 1x autochassis
- 4x M3*30 schroef
- 4x L12 afstandhouder
- 4x bevestigingsmiddelen
- 8x M3*6 schroef
- M3 moer
-
- Magneet - Amazon - 9.99€
-
Bouten, moeren, schroeven
- M2*20
- M3*12
- M4*40
- M12*30
- alle respectieve noten
-
3D geprinte stukken:
- 5x veren
- 2x motorbevestiging
- 1x L-vormige lijntracker fixatie
-
Lasergesneden stukken:
- 2x ronde platte plaat
- 5x rechthoek klein plat bord
HULPMIDDEL
-
Machines:
- 3D-printer
- Lasersnijder
- Schroevendraaiers
- Handboor
- Limoen
- Elektronica soldeer
Stap 3: (Laser)snijden & (3D) Printen
We hebben zowel lasersnijden als 3D-printtechnieken gebruikt om sommige van onze componenten te verkrijgen. U kunt alle CAD-bestanden vinden in het bestand.step hieronder
Lasersnijder
De twee belangrijkste bevestigingsstukken van de robot zijn lasergesneden:(Materiaal = MDF-karton van 4 mm)
- 2 ronde platte schijven om de basis (of chassis) van de robot te maken
- Verschillende gaten in de twee schijven om plaats te bieden aan mechanische en elektronische componenten
- 5 rechthoekige kleine platen om de veren tussen de twee chassisplaten te bevestigen
3D-printer (Ultimakers & Prusa)
Verschillende elementen van de robot werden 3D-geprint om ze tegelijkertijd weerstand en flexibiliteit te geven:(Materiaal = PLA)-5 veren: merk op dat de veren worden afgedrukt als blokken, zodat het nodig is ze te vijlen om te geven ze hun 'lente' vormen !
- 2 rechthoekige uitgeholde delen om de motoren te bevestigen
- L-vormig stuk voor de Line-tracker
Stap 4: Montage van de elektronica
Zoals je op de elektronische schetsen kunt zien, is de Arduino zoals verwacht het centrale onderdeel van het elektronische deel.
Connexion Arduino - Line tracker:(cfr. corresponderende volgerschets)
Connexion Arduino - Motoren:(cfr. overeenkomstige algemene schets - links)
Connexion Arduino - Afstandsbediening-ontvanger:(cfr. overeenkomstige algemene schets - omhoog)
Connexion Arduino - LED's:(cfr. overeenkomstige algemene schets - links)
Een protoboard wordt gebruikt om het aantal 5V- en GND-poorten te vergroten en alle verbindingen te vergemakkelijken.
Deze stap is niet de gemakkelijkste, omdat deze moet voldoen aan de hierboven genoemde vereisten (autonomie, gebruiksvriendelijk, robuustheid, veiligheid), en omdat elektrische schakelingen bijzondere aandacht en voorzorg vereisen.
Stap 5: Coderen
Het coderingsgedeelte betreft de Arduino, motoren, afstandsbediening, lijntracker en LED's.
U vindt op de code:
1. Declaratie van variabelen:
- Verklaring van pin gebruikt door RC-ontvanger
- Verklaring van pin gebruikt door DC Motors
- Verklaring van pin gebruikt door LED's
- Declaratie van variabelen gebruikt door functie 'Riddle'
- Verklaring van pin gebruikt door IR-sensoren
- Declaratie van variabelen gebruikt door IR Deck
2. Initialisatiefunctie: initialiseer de verschillende pinnen en LED's
Functie 'setup()'
3. Functie voor motoren:
- Functie 'turn_left()'
- Functie 'turn_right()'
- Functie 'CaliRobot()'
4. Functielijnvolger: gebruikt de vorige 'CaliRobot()'-functie tijdens het semi-autonome gedrag van de robot
Functie 'Volger()'
5. Functie voor afstandsbediening (raadsel): bevat de juiste oplossing voor het raadsel dat aan de spelers wordt gepresenteerd
Functie 'Riddle()'
6. Hoofdlusfunctie: stelt de spelers in staat om de auto te besturen zodra ze de oplossing voor het raadsel hebben gevonden, start een timer en schakelt de invoer van digitaal (op afstand bestuurbaar) naar digitaal (autonoom) zodra de timer boven de 30 minuten komt
Functie 'loop()'
Het hoofdproces van de code wordt uitgelegd in het stroomschema hierboven, met de belangrijkste functies gemarkeerd.
Je kunt de hele code voor dit project ook vinden in het bijgevoegde bestand.ino, dat is geschreven met behulp van de ontwikkelinterface Arduino IDE.
Stap 6: Montage
Zodra we alle componenten hebben lasergesneden, 3D-geprint en klaar: we kunnen het hele ding monteren!
Eerst bevestigen we de 3D-geprinte veren op hun lasergesneden rechthoekige platen met bouten met een diameter die gelijk is aan de diameter van de gaten in de veren.
Zodra de 5 veren op hun kleine platen zijn bevestigd, kunnen we deze met kleinere bouten op de onderste chassisplaat bevestigen.
Ten tweede kunnen we de motoren bevestigen aan de 3D-geprinte motorbevestigingen, onder de onderste chassisplaat met kleine bouten.
Zodra deze zijn bevestigd, kunnen we de 2 wielen op de motoren komen bevestigen in de gaten van de onderste chassisplaat.
Ten derde kunnen we het zwenkwiel, ook onder de onderste chassisplaat, vastzetten met kleine bouten zodat de onderste chassisplaat horizontaal staat
We kunnen nu alle andere componenten repareren
-
Onderste chassisplaat:
-
Onderstaand:
- Lijntracker
- LED
-
Over:
- Afstandsbediening ontvanger
- Arduino & Motorschild
- LED
-
-
Bovenste chassisplaat:
-
Onderstaand:
Camera
-
Over:
- Batterijen
- Aan / uit knop
-
Ten slotte kunnen we de twee chassisplaten aan elkaar monteren.
Let op: Wees voorzichtig bij het monteren van alle componenten! In ons geval is een van de kleine platen voor de veren beschadigd geraakt tijdens het monteren van de twee chassisplaten, omdat deze te dun was. We zijn opnieuw begonnen met een grotere breedte. Zorg ervoor dat u sterke materialen gebruikt bij het lasersnijden (evenals de 3D-printer) en controleer de afmetingen zodat uw stukken niet te dun of te kwetsbaar zijn.
Stap 7: Conclusie
Zodra alle componenten zijn gemonteerd (zorg ervoor dat alle componenten goed vastzitten en niet het risico lopen eraf te vallen), de ontvanger van de camera aangesloten op een scherm (dwz tv-scherm) en de batterijen (6x 1.5V) op de batterijhouder, je bent klaar om het hele ding te testen!
We hebben geprobeerd het project nog een stap verder te brengen door de batterijen (6x 1.5V) te vervangen door een draagbare batterij, door:
- het bouwen van een laadstation (draadloze oplader bevestigd in een lasergesneden laadstation (zie foto's));
- het toevoegen van een ontvanger (Qi-ontvanger) op de draagbare batterij (zie foto's);
- het schrijven van een functie op de Arduino en de robot vragen om de lijn op de grond in de tegenovergestelde richting te volgen om het laadstation te bereiken en de batterij op te laden, zodat de hele robot autonoom klaar is voor de volgende spelsessie.
Aangezien we problemen ondervonden bij het vervangen van de batterijen door een draagbare batterij vlak voor de deadline van het project (herinnering: dit project werd begeleid door onze professoren van de ULB/VUB, we hadden dus een deadline die we moesten respecteren), konden we de definitieve versie niet testen. robot. U kunt hier niettemin een video vinden van de robot die wordt gevoed door de computer (USB-verbinding) en wordt bestuurd door de afstandsbediening.
Desalniettemin hebben we alle toegevoegde waarden kunnen bereiken die we voor ogen hadden: - Robuustheid - Ronde vorm - Inschakelbaar raadsel - Bedieningsschakelaar (afstandsbediening -> autonoom) Als dit project uw aandacht en nieuwsgierigheid heeft vastgehouden, zijn we daarom zeer nieuwsgierig om te zien wat je hebt gedaan, om te zien of je sommige stappen anders hebt gedaan dan wij, en om te zien of je erin bent geslaagd het autonome laadproces te doen!
Aarzel niet om ons te vertellen wat u van dit project vindt!
Aanbevolen:
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Game-saves kopiëren naar een MU van Microsoft of een derde partij op een eenvoudige manier: 9 stappen
Game Saves kopiëren naar een Microsoft of 3rd Party MU op de GEMAKKELIJKE MANIER .: Originele tutorial HIER Er zijn tal van Softmod-tutorials die er zijn en ze zijn allemaal goed, maar het is lastig om de opslagbestanden op de Xbox HDD te krijgen, ik heb een leven gemaakt cd die het eenvoudig maakt om dat te doen. Dit is geen complete softmod-tutorial, dit
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: 5 stappen
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: de standaard disclaimer - Dit is hoe ik het deed. Het werkte voor mij. Als je je G5, Radeon X800 XT, of je huis, auto, boot, enz. laat ontploffen, ben ik niet aansprakelijk! Ik geef informatie op basis van mijn eigen kennis en ervaring. Ik geloof dat alle st
Maak een webverbonden robot (voor ongeveer $ 500) (met behulp van een Arduino en netbook): 6 stappen (met afbeeldingen)
Maak een webverbonden robot (voor ongeveer $ 500) (met behulp van een Arduino en netbook): deze Instructable laat u zien hoe u uw eigen webverbonden robot kunt bouwen (met behulp van een Arduino-microcontroller en Asus eee pc). Waarom zou u een web willen Verbonden robot? Om mee te spelen natuurlijk. Rij met je robot van de andere kant van de kamer of over de tel
Voeg een pc-synchronisatie-aansluiting toe aan een Nikon Sc-28 Ttl-kabel (gebruik de automatische instellingen voor een aan-cameraflits en trigger-uit-cameraflitsen!!): 4 stappen
Voeg een Pc Sync-aansluiting toe aan een Nikon Sc-28 TTL-kabel (gebruik Auto-instellingen voor een on Camera Flash en Trigger Off Camera Flashes !!): in deze instructable laat ik je zien hoe je een van die vervelende gepatenteerde 3-pins TTL-connectoren op de zijkant van een Nikon SC-28 off-camera TTL-kabel en vervang deze door een standaard pc-synchronisatieconnector. hierdoor kunt u een speciale flitser gebruiken, s