Inhoudsopgave:
- Benodigdheden
- Stap 1: Bevestig bouten aan de muurplaat
- Stap 2: Maak de voorste standaard
- Stap 3: Bevestig de motor
- Stap 4: Bevestig de ogen
- Stap 5: Maak de lippen
- Stap 6: Maak de achterste standaard
- Stap 7: Maak het “haar”
- Stap 8: Bevestig het “haar”
- Stap 9: Ontwikkel het programma
- Stap 10: Verbind de EV3-steen met Mr. Wallplate
- Stap 11: Download het programma naar de EV3-steen
- Stap 12: Toekomstige verbeteringen
Video: Mr. Wallplate's Eye Illusion Robot - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Dit project is ontworpen om mijn familie en vrienden te amuseren wanneer ze op bezoek komen. Het is een heel eenvoudige 'robot'. De interactie tussen een persoon en Mr. Wallplate is gescript. Er is hier geen kunstmatige intelligentie of deep learning bij betrokken. Als hij op de persoon reageert, lijkt meneer Wallplate over intelligentie te beschikken, maar het is erg kunstmatig. Te kunstmatig om als kunstmatige intelligentie te worden beschouwd.
Ik besloot algemene items te gebruiken die normaal niet voor een robot zouden worden gebruikt: een knevel/duplex-wandplaat voor het gezicht, ½ pingpongballen voor de ogen en een paardenstaarthouder voor de lippen. De ogen lijken een persoon te volgen die door de kamer beweegt, maar het is een optische illusie. Een motor beweegt de lippen synchroon met de woorden van meneer Wallplate. Het enige geavanceerde item zijn de hersenen, namelijk LEGO Mindstorms EV3.
De Mindstorms EV3-software die op een computer draait, genereert een programma, dat vervolgens wordt gedownload naar een microcontroller die een EV3-steen wordt genoemd. De programmeermethode is op pictogrammen gebaseerd en van hoog niveau. Het is heel gemakkelijk en veelzijdig.
Benodigdheden
- LEGO Mindstorms EV3-set
- 1 knevel/duplex wandplaat
- 3 bouten, #6 of #8, 1 ½ inch (ongeveer 4 cm) lang
- 9 moeren voor de bouten
- 1 pingpongbal zonder schrift erop, of 2 ballen als er schrift op staat
- Dun stuk stevig karton, ongeveer 5x10 cm of iets groter
- 2 ronde, donkere stickers ter grootte van de iris van een oog (ongeveer 1,2 cm). Ik heb bruine schroefknoppen gebruikt, die bedoeld zijn om schroeven in meubels te bedekken
- 1 rode paardenstaarthouder
- Rode draad van dezelfde tint als de paardenstaarthouder
- 2 paperclips
- Ongeveer 10 cm doorzichtige tape
- Punttang
-
Schroevendraaier voor de bouten
Stap 1: Bevestig bouten aan de muurplaat
Steek 1 bout door het gat tussen de “ogen” en zet vast met een moer. Er is een tweede noot nodig, met een ruimte van ⅝ inch (1,6 cm) tussen de nootjes, om ruimte te laten voor de ½ pingpongballen.
Draai een moer op elk van de andere 2 bouten en steek ze door de andere 2 gaten in de muurplaat. Draai op elk van deze bouten nog een moer vast zoals op de foto. De ruimte tussen de boutkop en de moer, aan de voorkant van de muurplaat, is net breed genoeg voor de paardenstaarthouder.
Stap 2: Maak de voorste standaard
Zoek de benodigde elementen in de EV3-set, volgens de foto, en bevestig ze aan elkaar en aan de muurplaat zoals afgebeeld.
Stap 3: Bevestig de motor
Zoek opnieuw de elementen in de EV3-set (eerste foto) en bevestig ze aan elkaar zoals weergegeven in de tweede foto. De motor wordt bevestigd aan de wandplaat, zoals weergegeven op de derde foto. Het gat van de motoras is uitgelijnd met het rechthoekige gat in de muurplaat.
Stap 4: Bevestig de ogen
Snijd de pingpongbal indien mogelijk doormidden langs de naad. Ik gebruikte een mes voor een deel van de snede en een kleine schaar om het af te maken.
Plak de ronde stickers in het midden van de binnenkant van de pingpongbalhelften.
Plaats het karton op de muurplaat zoals op de foto en gebruik doorzichtige tape om de ½ pingpongballen aan het zwarte LEGO-element te bevestigen.
Stap 5: Maak de lippen
Buig een van de paperclips naar de vorm die rechtsonder op de eerste foto wordt weergegeven. Dit past in het asgat van de motor en zal de lippen bewegen wanneer de motor draait.
Buig de binnenste lus van de andere paperclip naar één kant en gebruik deze om de motor in de juiste uitlijning te draaien, zodat de eerste paperclip horizontaal past, zoals weergegeven in de tweede foto. Het draait niet gemakkelijk en heeft dan de neiging om door te schieten.
Mijn paardenstaarthouders zijn net iets te groot en de "lippen" zijn niet gesloten wanneer ze op het "gezicht" worden geplaatst. Ik gebruikte de rode draad om 2 lussen te maken met een diameter van ongeveer ⅜ inch (1 cm). Het helpt om een rond voorwerp zoals een pen met de juiste diameter te hebben. Schuif de draadlussen op de uiteinden van de paardenstaarthouder, ongeveer 1 cm vanaf het uiteinde. Duw de paardenstaarthouder op de bouten zoals weergegeven in de derde foto.
Stap 6: Maak de achterste standaard
Zoek de elementen in de EV3-set (eerste foto) en bevestig ze aan elkaar zoals weergegeven. Deze achterstandaard past op de achterkant van de muurplaat, zoals weergegeven op de derde foto. Er is maar één plek waar het past.
Stap 7: Maak het “haar”
Er zijn verschillende EV3-elementen nodig voor één kant van het "haar", zoals te zien is op de eerste foto. De grijze connector is 2 3/16 inch (5,5 cm) lang. Ze zijn bevestigd zoals op de tweede foto.
De andere kant van het "haar" is een spiegelbeeld van de eerste kant, behalve dat het 3 elementen bovenaan heeft in plaats van 4, en dus wordt een kortere (1 ⅞ inch of 4,7 cm) zwarte connector gebruikt in plaats van de grijze connector. De eerste foto is een gids voor welke elementen nodig zijn.
Er zijn extra EV3-elementen nodig, zoals weergegeven in het midden van de derde foto, en ze zijn allemaal bevestigd zoals weergegeven in de vierde foto. Dit is niet zo lastig als het lijkt, maar het is belangrijk om goed naar de foto's te kijken.
Stap 8: Bevestig het “haar”
Het "haar" hecht zich aan het zwarte element achter de ogen. De bout past in het middelste gat van het grijze element.
Stap 9: Ontwikkel het programma
LEGO Mindstorms heeft een zeer handige op pictogrammen gebaseerde programmeermethode. Blokken worden weergegeven aan de onderkant van het scherm en kunnen worden gesleept en neergezet in het programmeervenster om een programma te bouwen. De screenshot hierboven toont het EV3-venster wanneer een project voor het eerst wordt gestart. De projectnaam wordt toegewezen wanneer een programma voor het eerst wordt opgeslagen.
Het programma zorgt ervoor dat Mr. Wallplate communiceert met een persoon die tegen hem spreekt. De reacties zijn gescript. Hier komt geen kunstmatige intelligentie of deep learning bij kijken.
Elke interactie bestaat uit drie blokken:
1. Een wachtblok (in de oranje categorie Flow Control) geeft een persoon de tijd om een opmerking te maken.
2. Een Geluidsblok (in de groene categorie Actie) maakt woorden of geluiden. De meest rechtse optie in het blok is ingesteld op "1" (eenmaal spelen) zodat het volgende blok (het motorblok) onmiddellijk kan beginnen. De motor draait dus terwijl het geluid wordt gemaakt. De enige uitzondering is het voorlaatste blok, dat "0" (Wacht op voltooiing) in de meest rechtse optie heeft.
3. Een Medium Motor Block (in de groene categorie Actie) beweegt de lippen, een halve omwenteling voor elke lettergreep die door Mr. Wallplate wordt uitgesproken. De Power-optie is ingesteld op 48 om de lipbeweging te synchroniseren met het spreken van meneer Wallplate.
Ik kon er niet achter komen hoe ik het downloaden van het programma voor jullie moest instellen, en daarom laat ik een lijst met de onderstaande blokken zien. Het zou niet veel tijd moeten kosten om het programma te ontwikkelen en/of aan te passen aan uw behoeften. Zoals altijd is het een goed idee om het programma tijdens de ontwikkeling regelmatig op te slaan.
- Het Startblok is automatisch aanwezig wanneer een programma wordt ontwikkeld.
- Wacht Blok wacht 3 seconden. De persoon zegt: "Hallo, meneer Wallplate."
- Geluidsblok zegt: "Hallo."
- Medium Motor Block draait de motor 1 omwenteling, waardoor de lippen twee keer worden geopend.
- Wachtblok wacht 1,5 seconden en de persoon zegt: "Hoe gaat het?"
- Sound Block zegt: "Fantastisch."
- Medium Motor Block draait de motor 1,5 omwentelingen, waardoor de lippen drie keer worden geopend.
- Wachtblok wacht 2 seconden en de persoon zegt: "Je ziet er goed uit."
- Geluidsblok zegt: "Bedankt."
- Medium Motorblok draait de motor 1 omwenteling, waardoor de lippen twee keer worden geopend.
- Sound Block maakt een "Blip 2" geluid.
- Wachtblok wacht 3 seconden en de persoon zegt: "Hoeveel vingers?" terwijl je 4 vingers voor Mr. Wallplate houdt.
- Geluidsblok zegt: "Vier."
- Medium Motor Block draait de motor.5 rotatie, die de lippen eenmaal opent.
- Wachtblok wacht 3 seconden en de persoon zegt: "Heeft u huisdieren?"
- Geluidsblok zegt: "Ja."
- Medium Motor Block draait de motor.5 rotatie, die de lippen eenmaal opent.
- Wachtblok wacht 0,5 seconde.
- Sound Block maakt een olifantenroep.
- Wachtblok wacht 3 seconden en de persoon zegt: "Een olifant?"
- Geluidsblok lacht.
- Medium Motor Block draait de motor 0,25 omwenteling, die de lippen opent.
- Wachtblok wacht 1 seconde.
- Medium Motorblok draait de motor 0,25 omwenteling, die de lippen sluit.
- Wachtblok wacht 3 seconden en de persoon zegt: "Oké, we zien je ooit weer."
- Geluidsblok zegt: "Tot ziens."
- Medium Motorblok draait de motor 1 omwenteling, waardoor de lippen twee keer worden geopend.
- Sound Block maakt een power-down geluid. Dit is het enige geluidsblok met "0" (Wacht op voltooiing) in de meest rechtse optie.
- Stop Program Block (in de blauwe groep Advanced) stopt het programma.
Stap 10: Verbind de EV3-steen met Mr. Wallplate
Gebruik een van de platte kabels in de EV3-set om de motor aan te sluiten op poort A op de EV3-steen.
Stap 11: 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. De tekst "EV3" aan de rechterkant wordt rood. Als u op het juiste pictogram onder deze "EV3" klikt, 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 worden gestart op de EV3-steen
Stap 12: Toekomstige verbeteringen
Als de tijd het toelaat, denk ik erover om het hoofd te laten draaien om een persoon te volgen die door de kamer beweegt. Dit zou een basis nodig hebben om een motor vast te houden om het hoofd te draaien, en een motor en ultrasone sensor om de persoon te lokaliseren.
Dit was een leuk project. Ik hoop dat u het ook interessant vindt.