Brat robot controlat Arduino de la Lego Mindstorm: 6 pași
Brat robot controlat Arduino de la Lego Mindstorm: 6 pași

Video: Brat robot controlat Arduino de la Lego Mindstorm: 6 pași

Video: Brat robot controlat Arduino de la Lego Mindstorm: 6 pași
Video: Brat robotic la proinvent 2025, Ianuarie
Anonim
Image
Image

Reutilizați două motoare vechi Lego Mindstorm într-un braț de prindere controlat de un Arduino Uno.

Acesta este un proiect Hack Sioux Falls în care am provocat copiii să construiască ceva interesant cu un Arduino.

Pasul 1: Piese necesare

Consumabile necesare:

  • 2 motoare Lego ev3 mindstorm mari
  • Un sortiment de piese și unelte tehnice Lego
  • Un Arduino Uno
  • Placa motor
  • O bucată de perfboard
  • Firele lungi
  • 4 rezistențe
  • 4 butoane
  • O baterie USB portabilă
  • Un încărcător USB
  • Lipit și lipit
  • Set de șurubelnițe
  • Un tăietor de sârmă

Pasul 2: Scoateți carcasa motorului

Începeți prin îndepărtarea șuruburilor de pe partea din spate a ambelor motoare, apoi scoateți capacele albe. Apoi le puteți arunca.

Trageți motoarele afară, asigurându-vă că nu îndepărtați nici un angrenaj din interior. Dacă scoateți oricare dintre angrenaje, pur și simplu introduceți-le la loc.

Odată ce motoarele au fost scoase, tăiați mufa de la capătul motorului cu un tăietor de sârmă.

Pasul 3: lipiți pe fire mai lungi

Adăugați motoare la placa motorului
Adăugați motoare la placa motorului

Lipiți pe un fir nou, mai lung. Acest lucru este mult mai ușor decât pare și durează doar câteva secunde dacă știi ce faci.

Puneți motorul înapoi în carcasa din plastic, apoi înșurubați-l înapoi. Acum puteți începe construcția brațului. Puteți să vă creați propriul design sau să ieșiți din cel din imagine.

Pasul 4: Adăugați motoare la placa motor

Utilizați o șurubelniță Phillips pentru a conecta firele care vin de la motoare la placa motorului, așa cum se arată în imagine. Apoi conectați placa la Arduino Uno.

Tăiați încărcătorul USB în jumătate, expunând firul din interior. Îndepărtați izolația, apoi dezlipiți cele două conductoare pozitive și negative. Apoi conectați-l la placa motorului

Pasul 5: Construiți placa de comutare

Construiți placa de comutare
Construiți placa de comutare
Construiți placa de comutare
Construiți placa de comutare
Construiți placa de comutare
Construiți placa de comutare

Lipiți rezistențele, comutatoarele și firele pe panoul de perfecționare, ca în imagine.

Adăugați câțiva pini de conector de sex feminin pe placa de bord și pe placa motorului, așa cum arată imaginea, apoi conectați-i pe cei doi.

Pasul 6:

Imagine
Imagine
Imagine
Imagine

Conectați Arduino la un computer și încărcați acest cod în Arduino.

Am folosit această bibliotecă de drivere de la Adafruit, dar ar funcționa și o altă bibliotecă de drivere.

#include

int buttonLeft = A0; int buttonRight = A1; int buttonOpen = A2; buton int Închide = A3; AF_DCMotor motorRotate (1); AF_DCMotor motorGrabber (2); void setup () {Serial.begin (9600); // configurați biblioteca Serial la 9600 bps Serial.println ("Motor test!"); pinMode (buttonLeft, INPUT); pinMode (buttonRight, INPUT); pinMode (buttonOpen, INPUT); pinMode (buttonClose, INPUT); // porniți motor motorRotate.setSpeed (200); motorGrabber.setSpeed (200); motorRotate.run (RELEASE); motorGrabber.run (ELIBERARE); } void loop () {int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = digitalRead (buttonRight); int buttonStateOpen = digitalRead (buttonOpen); int buttonStateClose = digitalRead (buttonClose); if (buttonStateLeft == HIGH) {Serial.println ("Buton Stânga"); motorRotate.run (BACKWARD); întârziere (250); motorRotate.run (RELEASE); } else if (buttonStateRight == HIGH) {Serial.println ("Button Right"); motorRotate.run (FORWARD); întârziere (250); motorRotate.run (RELEASE); } else if (buttonStateOpen == HIGH) {Serial.println ("Buton Deschis"); motorGrabber.run (BACKWARD); întârziere (150); motorGrabber.run (ELIBERARE); } else if (buttonStateClose == HIGH) {Serial.println ("Închidere buton"); motorGrabber.run (FORWARD); întârziere (150); motorGrabber.run (ELIBERARE); }}