Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Marble Maze Labyrinth

Componenten en benodigdheden

Arduino UNO
× 1
SG90 Micro-servomotor
× 2
Broodplank (algemeen)
× 1
Modulo-joystick
× 1
Jumperdraden (algemeen)
× 1

Benodigde gereedschappen en machines

Hot lijmpistool (algemeen)
Sharp-Blade Knife

Apps en online services

Arduino IDE

Over dit project

Ik laat je zien hoe je een Arduino-gestuurd Marble Maze Labyrinth-bordspel maakt dat supergemakkelijk en leuk is om te maken. En het beste is dat het van karton is gemaakt.

Het idee van het spel is om de knikker door het doolhof te navigeren om aan het einde het portaal te bereiken om het spel te winnen.

Natuurlijk zijn er veel ideeën om dit spel te verbeteren en leuker te maken, zoals pudding wat sensoren aan het einde, zoemer om een ​​toon te spelen tijdens het spelen of zelfs wat gaten in het doolhof zelf te knijpen.

Het idee

Ik verveelde me van elektronische spellen en ik zei dat ik moest zoeken naar de fysieke behendigheidsspellen, dus ik heb het labyrint gevonden en ik vond het leuk.

Wat is het Labyrinth ?

Labyrinth is een fysiek behendigheidsspel dat bestaat uit een doos met een doolhof met gaten en een stalen knikker. Het doel van het spel is om te proberen het speelveld te kantelen om de knikker naar het einde van het doolhof te leiden, zonder hem in een van de gaten te laten vallen. Sommige versies van het spel hebben een zwevend doolhofoppervlak dat rond twee assen draait, die elk worden bestuurd door een knop. Er worden kleine handheld-versies van het spel verkocht, waarbij de doos volledig wordt gesloten met een transparante hoes bovenop. Het spel is ontwikkeld door BRIO in Zweden en daar voor het eerst uitgebracht in 1946.

Ontwerp

Ik begon mijn eigen labyrint-doolhof te ontwerpen met Sketch Up Pro om me voor te stellen hoe dit spel eruit zal zien. En ik was voorzichtig om het de juiste maat te geven en het vrij gemakkelijk te maken, omdat kinderen misschien ook hun eigen doolhof begonnen te bouwen.

De ontwerpbestanden kunnen worden gedownload om in slechts 1 uur je eigen spel van karton te maken.

Gereedschappen en materialen

· Karton 3mm

· Hete lijm

· Scherp mes

· Liniaal

· Potlood

Onderdelen

Arduino (elk type bord)

Mini broodplank

Doorverbindingsdraden

2X servomotor 9g

Joystickmodule

2 schroeven en moeren 12 mm bij 3 mm

Knip de vorm uit

Druk het bijgevoegde bestand af en volg de volgende instructies om het karton uit te knippen:

1. Knip een vierkant van 20 cm bij 20 cm uit voor de basis van het labyrint.

2. Knip twee gelijkbenige trapeziums van 14 cm bij 16 cm uit voor de zijkanten van het labyrint.

3. Maak een rechthoekig gat in een van deze twee stukken voor de servomotor (X-as).

4. Boor een gat van 3 mm in het andere stuk in het exacte midden om tegen de servo-as aan de andere kant (X-as) te komen.

5. Vervolgens moet je vier rechthoeken van 14 cm bij 4 cm uitknippen voor de ondersteuning in het binnenste van het labyrint.

6. Boor een gat van 3 mm in het andere stuk in het exacte midden om tegen de servo-as aan de andere kant (Y-as) te komen.

7. Maak een rechthoekig gat in het midden zoals getoond in een van deze vier stukken voor de servomotor (Y-as).

8. Kies je eigen doolhof uit de bijgevoegde bestanden in het artikel en knip vervolgens 12 cm bij 12 cm vierkant uit voor het doolhof.

9. Tip*Lijm het papieren doolhof als richtlijn voor je.

10. Je moet minimaal acht rechthoeken van 1,5 cm bij 12 cm uitsnijden voor de muren in je labyrint. Vervolgens moet je ze knippen zodat ze de juiste maat hebben en in je labyrint passen.

11. Volg de richtlijnen en lijm de stukken op hun plaats om de muur van het doolhof te worden.

12. Lijm de servomotoren op hun plaats zoals afgebeeld.

13. Lijm de servomotorhoorn in de rechthoekige stukken.

Bedrading

Sluit de draden van de servo's en joystick aan zoals weergegeven

Arduino Pin 8 naar gele draad in servo 1 (X-as)

Arduino Pin 9 naar gele draad in servo 1 (Y-as)

Rode en bruine draden naar breadboard.

Arduino Pin A0 naar Joystick pin VRx

Arduino Pin A1 naar Joystick pin VRy

Joystick VCC en GND naar breadboard.

Arduino 5V en GND naar breadboard.

Code

Verbind je Arduino-bord met de pc via de USB-kabel.

Arduino IED openen

Kopieer de en plak de code in een nieuwe schets

Controleer de naam van de seriële poort door te klikken op het menu Extra> bord> kies de actieve seriële poort

Klik op de bovenste ronde knop om de code te uploaden.

Zodra je het bericht hebt ontvangen, ben je klaar om te gaan.

Code

  • controle doolhof met joystick
controle doolhof met joystickArduino
#include Servo myServoX; // definieer servomotor voor X-as Servo myServoY; // definieer servomotor voor Y-as int ServoXPin =8; // definieer X-as pinint ServoYPin =9; // definieer Y-as pinint ServoXHomePos =90; // stel startpositie in voor servosint ServoYHomePos =90; int ServoXPos =103;int ServoYPos =135; int XAxlePin =A0; // definieer X-as pin-besturing voor joystick A0int YAxlePin =A1; // definieer de Y-as-pinbesturing voor joystick A1int XAxleValue =0; // stel opstartwaarde in voor joystickint YAxleValue =0;int Direction =0;int range =12; // uitvoerbereik van X- of Y-beweging in het midden =bereik / 2; // rustpositiewaardeint drempel =bereik/4; // rustdrempelwaarde setup () {myServoX.attach (ServoXPin); // bevestigen van servo X myServoY.attach (ServoYPin); // servo YServoXPos =ServoXHomePos bevestigen; // update ServoXPos met startpositie als startupServoYPos =ServoYHomePos; // update ServoYPos met startpositie als startupmyServoX.write(ServoXPos);myServoY.write(ServoYPos);Serial.begin(9600);}void loop(){XAxleValue =readAxis(XAxlePin);YAxleValue =readAxis(YAxlePin);Serial.begin(9600);}void loop(){XAxleValue =readAxis(XAxlePin);YAxleValue =readAxis(YAxlePin); .print(XAxleValue,DEC);Serial.print(" - ");Serial.println(YAxleValue,DEC);// controleer de waarden van de joystick en beweeg de servo's soepel met een vertraging van 100 milliseconden (XAxleValue>0) { ServoXPos++; myServoX.write(ServoXPos); vertraging(100*(7-XAxleValue)); }if (XAxleValue<0) { ServoXPos--; myServoX.write(ServoXPos); vertraging (100*(7+XAxleValue)); }if (YAxleValue>0) { ServoYPos++; mijnServoY.write(ServoYPos); vertraging (100*(7-YAxleValue)); }if (YAxleValue<0) { ServoYPos--; mijnServoY.write(ServoYPos); vertraging (100*(7+YAxleValue)); }if (ServoXPos>ServoXHomePos+20) { ServoXPos=ServoXHomePos+20; }if (ServoXPosServoYHomePos+20) { ServoYPos=ServoYHomePos+20; }if (ServoYPos  

Aangepaste onderdelen en behuizingen

Schema's


Productieproces

  1. TinyML-taaldetector-gebaseerd op Edge Impulse &Arduino
  2. Arduino-gyroscoopspel met MPU-6050
  3. Arduino digitale dobbelstenen
  4. Iron Man
  5. Vind mij
  6. Arduino-luchtbevochtigerbediening
  7. Sonar met arduino en weergave op verwerkings-IDE
  8. MobBob:doe-het-zelf Arduino-robot bestuurd door Android-smartphone
  9. Arduino Audio Reactive Desk Light
  10. NeoMatrix Arduino Pong
  11. Arduino-joystick