Inhoudsopgave:

Het hoofd van meneer Wallplate draait zich om u te volgen: 9 stappen (met afbeeldingen)
Het hoofd van meneer Wallplate draait zich om u te volgen: 9 stappen (met afbeeldingen)

Video: Het hoofd van meneer Wallplate draait zich om u te volgen: 9 stappen (met afbeeldingen)

Video: Het hoofd van meneer Wallplate draait zich om u te volgen: 9 stappen (met afbeeldingen)
Video: MIJN EIGEN FORTNITE TOERNOOI LIVE!! - Royalistiq Fortnite Livestream (Nederlands) 2024, Juli-
Anonim
Image
Image
Motor voor de sensor
Motor voor de sensor

Dit is een meer geavanceerde versie van Mr. Wallplate's Eye Illusion Robot https://www.instructables.com/id/Mr-Wallplates-Eye-Illusion. Met een ultrasone sensor kan het hoofd van meneer Wallplate u volgen terwijl u voor hem loopt.

Het proces kan als volgt worden samengevat. De sensor draait eerst 60 graden tegen de klok in (links) en draait vervolgens naar rechts tijdens het scannen naar een object dat dichterbij is dan 3 voet. Als het niets detecteert voordat het 60 graden naar rechts bereikt, herhaalt het de bocht naar links en scant het vervolgens totdat het een object detecteert. Dan draait het hoofd ernaartoe, draait de sensor naar links naar de linkerlimiet (-60 graden) en scant opnieuw naar rechts. Dit hoofddraaien en scannen gaat door totdat het object verder dan 3 voet teruggaat of te ver naar links of rechts gaat. Een meer gedetailleerde samenvatting van de programmalogica vindt u in stap #6.

Deze trackingmethode is niet geschikt voor snel bewegende objecten, zoals blijkt uit de video. Er zijn enkele opmerkingen helemaal aan het einde van dit artikel, waarin een andere volgmethode wordt beschreven met behulp van verschillende ultrasone sensoren.

De sensormotor is ingesteld om met een vrij lage snelheid te bewegen. Ik probeerde hogere snelheden, maar ze resulteerden in schokkerige bewegingen die er niet goed uitzagen, en het volgen was niet veel sneller.

Een interessant punt is dat de sensor het beste werkt om objecten te detecteren met harde oppervlakken die geluid goed reflecteren. Een object met een zacht oppervlak, zoals iemand die een dikke trui draagt, wordt mogelijk helemaal niet gedetecteerd als het te ver weg is (meer dan ongeveer 3 voet in mijn tests). Toen ik een stuk golfkarton ongeveer 13 "x20" voor me hield en naar de sensor liep, detecteerde het me ongeveer 2 meter verderop.

In de video bleef ik met opzet ongeveer 2 voet weg terwijl ik naar de zijkant bewoog, zodat de sensor en het hoofd naar mij wijzen. Bij tests op kortere afstanden wees de sensor iets naar links, want de rechterrand van het gezichtsveld van de sensor detecteerde mijn arm. Het gezichtsveld is ongeveer 25 of 30 graden.

De Mindstorms EV3-software op een computer wordt gebruikt om een programma te genereren, dat vervolgens wordt gedownload naar een microcontroller die een EV3-steen wordt genoemd. De programmeermethode is gebaseerd op pictogrammen en maakt gebruik van programmeerblokken zoals een motorblok, ultrasoon sensorblok, wiskundeblok, enz. Elk blok heeft opties en parameters. Het is heel gemakkelijk en veelzijdig. Ook voor testdoeleinden, wanneer de steen op de computer is aangesloten en het programma draait, toont het display op de computer in realtime de hoek van elke motor en de afstand waarop de sensor een object detecteert. Bovendien kan de muiscursor over een datadraad in het programma worden geplaatst en wordt de waarde van die datadraad (in realtime) weergegeven in een klein venster bij de cursor. (Een datadraad wordt gebruikt om waarden van het ene programmeerblok naar het andere over te dragen.)

Benodigdheden

  1. LEGO Mindstorms EV3-set.
  2. LEGO Mindstorms EV3 ultrasone sensor. Het is niet inbegrepen in de EV3-set.
  3. 2 ronde, plastic, meeneemcontainers met een diameter van niet minder dan 6 ¼ inch (16 cm) en 1 ¾ inch (4 ½ cm) hoog. Of een kuip met dezelfde diameter en ongeveer 3 ½ inch hoog zou ook goed zijn.
  4. 4 #8 bouten met platte kop, 1 ½ inch (ongeveer 4 cm) lang.
  5. 4 moeren voor de bouten.
  6. 2 #6 schroeven met ronde kop, ongeveer ½ inch (1 cm) lang, bij voorkeur dezelfde kleur als de afhaalcontainers.

GEREEDSCHAP:

  1. Boren en boren.
  2. Schroevendraaier.
  3. Schaar.

Stap 1: Motor voor de sensor

Motor voor de sensor
Motor voor de sensor
Motor voor de sensor
Motor voor de sensor
Motor voor de sensor
Motor voor de sensor

Plaats een grote motor in een van de afhaalcontainers en markeer waar u 2 gaten op de bodem moet boren. Mijn containers hebben een cirkelvormige inkeping en ik besloot de gaten er net in te maken, zodat de boutkoppen niet zouden uitsteken en de eenheid wiebelig zou maken.

Bevestig de motor met behulp van 2 bouten die door de gaten omhoog gaan, met zwarte LEGO-elementen met 3 gaten om de motor te ondersteunen.

Knip met de schaar een stuk uit de achterkant van de container om ruimte te maken voor de kabels.

Bevestig de ultrasone sensor aan de motor met behulp van de 3 grijze LEGO-elementen zoals weergegeven in een van de foto's.

Stap 2: Motor voor het hoofd

Motor voor het hoofd
Motor voor het hoofd
Motor voor het hoofd
Motor voor het hoofd
Motor voor het hoofd
Motor voor het hoofd

Gebruik eerst de schaar om de verticale lip van de andere afhaalcontainer af te knippen, zodat deze ondersteboven in de rand van de eerste container past. De 2 horizontale randen worden later met schroeven bevestigd, om de 2 containers stevig vast te houden.

Plaats de andere grote motor bovenop de omgekeerde afhaalcontainer, met de kabelaansluiting ongeveer ½ inch over de rand. Dit is nodig om de kop goed op de container te laten passen. Markeer en boor 2 gaten voor de 2 verste gaten van de motor.

Bevestig de motor met behulp van 2 bouten die door de gaten omhoog gaan, met zwarte elementen met 3 gaten om de motor te ondersteunen.

Knip met de schaar een stuk uit de zijkant van de container om een opening te maken van ongeveer 11 cm breed. Dit is nodig om de ultrasone sensor uit te laten steken en heen en weer te bewegen. De as van de motor moet uitgelijnd zijn met het midden van de opening.

Stap 3: Wijzig de kop

Wijzig de kop
Wijzig de kop
Wijzig de kop
Wijzig de kop
Wijzig de kop
Wijzig de kop

Neem het Mr. Wallplate-hoofd van Mr. Wallplate’s Eye Illusion”-robot en verwijder de achterste standaard. Het kan er eenvoudig uit worden getrokken.

Verwijzend naar een van de foto's, neem 2 X-vormige zwarte elementen en 2 blauwe elementen met een doorsnede zoals een "X" aan het ene uiteinde en een "O" aan het andere uiteinde. Bevestig ze aan het onderste element op het hoofd zoals afgebeeld. Het hoofd zal rond de container op hen schuiven.

Stap 4: Bevestig de kop aan de motor

Bevestig de kop aan de motor
Bevestig de kop aan de motor
Bevestig de kop aan de motor
Bevestig de kop aan de motor
Bevestig de kop aan de motor
Bevestig de kop aan de motor

Neem de elementen die op de eerste foto worden getoond (behalve de lange) en bevestig ze aan elkaar zoals weergegeven in de tweede foto. Bevestig dat vervolgens aan de onderkant van het hoofd, zoals weergegeven. Dit ondersteunt het hoofd en voorkomt dat het op en neer knikt.

Bevestig de motor aan de gaten onder de lip-motor, met behulp van het lange, grijze X-dwarsdoorsnede-element. Schuif het element verder naar de steun uit de vorige paragraaf, zoals weergegeven.

Stap 5: Verbind de EV3-steen met Mr. Wallplate

Verbind de EV3-steen met Mr. Wallplate
Verbind de EV3-steen met Mr. Wallplate
Verbind de EV3-steen met Mr. Wallplate
Verbind de EV3-steen met Mr. Wallplate

De platte kabels in de EV3-set worden als volgt op de Brick aangesloten:

Poort A: 14 inch (35 cm) kabel naar de kleine lip-motor.

Poort B: 10 inch (26 cm) kabel naar de grote motor voor de kop.

Poort C: 14 inch (35 cm) kabel naar de grote motor voor de ultrasone sensor.

Poort 4: De langste kabel naar de ultrasone sensor, met een lus in de buurt van de Brick. Door de lus kan de sensor beter bewegen.

Controleer of de sensor recht uit de houder is gericht. U kunt de sensormotor met de hand draaien. Plaats de kopmontage bovenop de sensorcontainer, zodat de sensor in het midden van de opening uitsteekt. Boor 2 geleidegaten door beide containerranden ongeveer 1 inch voorbij de randen van de opening. Draai de 2 schroeven door deze gaten om de 2 containers stevig vast te houden.

Stap 6: Beschrijving van het programma

De programmalogica wordt hieronder samengevat. Ik denk dat stappen #3 en #6 waarschijnlijk anders zouden worden uitgevoerd in een programma voor een ander systeem zoals Arduino. LEGO Mindstorms EV3 is erg handig en gemakkelijk te gebruiken, maar er zijn enkele beperkingen in wat kan worden gedaan. De enige manier om te scannen die ik kon achterhalen, was om de sensor 10 graden per keer te draaien en te controleren of er een object werd gedetecteerd.

  1. Initialiseren: variabelen op nul zetten en 7 seconden wachten.
  2. Draai de sensor tegen de klok in (links), naar de linker limiet (-60 graden).
  3. Draai de sensor 10 graden naar rechts.
  4. Is de sensor naar de juiste limiet (+60 graden) bewogen?
  5. Zo ja, controleer of er iemand is gedetecteerd. Indien niet gedetecteerd, draait de sensor 120 graden naar links en gaat het programma verder met de volgende stap. Indien gedetecteerd, is de persoon weggegaan. Het programma zegt "Tot ziens", het hoofd en de sensor draaien naar voren en het programma stopt.
  6. Loop terug naar stap #3 als de sensor niets binnen 36 inch ziet.
  7. Deze stap wordt uitgevoerd als de sensor iets binnen 36 inch heeft gedetecteerd. Draai het hoofd naar de gedetecteerde persoon. Zeg 'Hallo' als er eerder niemand is gedetecteerd.
  8. Ga terug naar stap #2 om door te gaan met scannen. Maar als de lus 20 keer wordt herhaald, gaat het programma verder met de volgende stap.
  9. Zeg 'Game over'. Het hoofd en de sensor draaien naar voren en het programma stopt.

Stap 7: Bouw het programma

Bouw het programma
Bouw het programma
Bouw het programma
Bouw het programma
Bouw het programma
Bouw het programma

LEGO Mindstorms EV3 heeft een zeer handige op pictogrammen gebaseerde programmeermethode. Programmeerblokken worden onder aan het scherm weergegeven en kunnen worden gesleept en neergezet in het venster Programmeercanvas om een programma te bouwen. Ik heb 4 "Mijn blokken" gebouwd, dit zijn miniprogramma's, zoals subroutines in reguliere programma's. Dit maakte de logica van het hoofdprogramma in de schermafbeelding gemakkelijker te begrijpen.

Ik kon er niet achter komen hoe ik het downloaden van het programma voor jullie moest instellen, en daarom heb ik screenshots van het programma toegevoegd. De schermafbeeldingen bevatten opmerkingen die beschrijven wat de blokken aan het doen zijn. Het zou niet veel tijd moeten kosten om het te bouwen en/of aan te passen aan uw behoeften. De schermafbeeldingen worden in de volgende volgorde weergegeven:

  1. Hoofdprogramma.
  2. "Initialiseer" mijn blok.
  3. “Draai sensor links naar de linker limiet” My Block.
  4. "Draai het hoofd" Mijn blok.
  5. "Voltooi" mijn blok.

Bij het bouwen van dit programma zou ik het volgende willen voorstellen:

  1. Bouw eerst de "Mijn blokken".
  2. Het is belangrijk om van links naar rechts te werken en de Loop- en Switch-blokken te vergroten voordat je andere blokken naar binnen sleept. Ik kwam rommelige problemen tegen toen ik extra blokken in de lussen probeerde te plaatsen tijdens het testen en verfijnen van het bijna voltooide programma.
  3. Het grotere lusblok moet bijna tot aan de rechterrand van het programmeercanvas worden vergroot voordat u blokken gaat invoegen. Dit is nodig om voldoende ruimte te hebben om de andere blokken naar binnen te slepen. Het kan daarna kleiner gemaakt worden.

Stap 8: Download het programma naar de EV3-steen

De EV3-steen kan via een USB-kabel, wifi of Bluetooth op de computer worden aangesloten. Wanneer het is aangesloten en ingeschakeld, wordt dit aangegeven in een klein venster in de rechterbenedenhoek van het EV3-venster op de computer. Door op het juiste pictogram in de rechterbenedenhoek te klikken, wordt het programma naar de EV3-steen gedownload en onmiddellijk uitgevoerd.

Na het downloaden kan de EV3-steen worden losgekoppeld van de computer en kan het programma op de EV3-steen worden gestart.

Stap 9: SLOTOPMERKINGEN

Dit was een leuk project en leerzaam over de ultrasone sensor. Ik hoop dat u het ook interessant vindt.

Er is een andere benadering van scannen: verschillende ultrasone sensoren kunnen naast elkaar worden geplaatst, uitwaaierend op ongeveer 25 of 30 graden van elkaar. Het hoofd kon draaien in de richting van de sensor die een object detecteerde. Deze methode zou een snel bewegend object veel beter detecteren dan de methode die in het bovenstaande project is beschreven. Het hoofd zou echter slechts een klein aantal richtingen hebben waarin het zou worden geconfronteerd. Deze methode zou mogelijk moeten zijn met Mindstorms EV3. De Brick heeft 4 sensorpoorten voor maximaal 4 ultrasone sensoren (voor de programmering moet een poortnummer worden toegewezen aan een sensor). Er kunnen meer sensoren worden ondergebracht door een tweede steen aan een ketting te koppelen.

Een idee om het aantal posities voor het hoofd te vergroten: als de sensoren misschien 20 graden uit elkaar zouden staan, zouden de gezichtsvelden elkaar overlappen en zouden 2 sensoren een object in het overlappende gebied detecteren. Het hoofd zou dan in de overlaprichting kunnen staan. Ik weet niet of dit mogelijk is; dat wil zeggen, als 2 sensoren een object in het overlappende gebied zouden kunnen detecteren zonder dat hun signalen met elkaar interfereren.

Aanbevolen: