Obsah:
Video: Arduino ovládané robotické rameno z Lego Mindstorm: 6 kroků
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Upravte dva staré motory Lego Mindstorm na drapákové rameno ovládané Arduino Uno.
Jedná se o projekt Hack Sioux Falls, kde jsme vyzvali děti, aby s Arduinem postavily něco skvělého.
Krok 1: Potřebné součásti
Potřebné zásoby:
- 2 velké motory Lego ev3 mindstorm
- Sortiment technických dílů a ozubených kol Lego
- Arduino Uno
- Motorová deska
- Kousek perfboardu
- Dlouhé dráty
- 4 odpory
- 4 tlačítka
- Přenosná baterie USB
- USB nabíječka
- Páječka a páječka
- Sada šroubováků
- Řezačka drátu
Krok 2: Demontujte kryt motoru
Začněte odšroubováním šroubů na zadní straně obou motorů a poté odstraňte bílé krytky. Poté je můžete zahodit.
Vytáhněte motory ven a ujistěte se, že nevyjímáte žádné převody uvnitř. Pokud některý z ozubených kol odstraníte, jednoduše jej zasuňte zpět na místo.
Jakmile jsou motory odstraněny, odřízněte zásuvku na konci motoru řezačkou drátu.
Krok 3: Pájka na delších vodičích
Pájejte nový, delší drát. Je to mnohem jednodušší, než to vypadá, a pokud víte, co děláte, zabere to jen pár sekund.
Vraťte motor zpět do plastového pouzdra a poté jej zašroubujte zpět. Nyní můžete zahájit konstrukci ramene. Můžete si vytvořit svůj vlastní design nebo odejít z obrázku na obrázku.
Krok 4: Přidejte motory na motorovou desku
Pomocí šroubováku Phillips zapojte vodiče přicházející z motorů do desky motoru, jak je znázorněno na obrázku. Poté připojte desku k Arduino Uno.
Rozřízněte USB nabíječku na polovinu a odhalte vodič uvnitř. Odizolujte izolaci a poté odizolujte dva kladné a záporné vodiče. Poté jej zapojte do desky motoru
Krok 5: Sestavte rozváděč
Pájka na odporech, spínačích a vodičích na perfboard jako na obrázku.
Přidejte několik kolíků konektorů na desce perfboard a motoru, jak ukazuje obrázek, a poté oba propojte.
Krok 6:
Připojte Arduino k počítači a nahrajte tento kód do Arduina.
Použili jsme tuto knihovnu ovladačů motorů od společnosti Adafruit, ale fungovala by i jiná knihovna ovladačů.
#zahrnout
int tlačítko Left = A0; int buttonRight = A1; tlačítko intOtevřeno = A2; int tlačítko Zavřít = A3; AF_DCMotor motorRotate (1); AF_DCMotorový drapák (2); neplatné nastavení () {Serial.begin (9600); // nastavení sériové knihovny na 9600 bps Serial.println ("Motor test!"); pinMode (buttonLeft, INPUT); pinMode (buttonRight, INPUT); pinMode (buttonOpen, INPUT); pinMode (buttonClose, INPUT); // zapněte motor motorRotate.setSpeed (200); motorGrabber.setSpeed (200); motorRotate.run (RELEASE); motorGrabber.run (RELEASE); } void loop () {int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = digitalRead (buttonRight); int buttonStateOpen = digitalRead (buttonOpen); int buttonStateClose = digitalRead (buttonClose); if (buttonStateLeft == HIGH) {Serial.println ("Button Left"); motorRotate.run (BACKWARD); zpoždění (250); motorRotate.run (RELEASE); } else if (buttonStateRight == HIGH) {Serial.println ("Button Right"); motorRotate.run (VPŘED); zpoždění (250); motorRotate.run (RELEASE); } else if (buttonStateOpen == HIGH) {Serial.println ("Tlačítko otevřené"); motorGrabber.run (BACKWARD); zpoždění (150); motorGrabber.run (RELEASE); } else if (buttonStateClose == HIGH) {Serial.println ("Tlačítko Zavřít"); motorGrabber.run (VPŘED); zpoždění (150); motorGrabber.run (RELEASE); }}