Sisukord:

TA-ZON-BOT (rea jälgija): 3 sammu (piltidega)
TA-ZON-BOT (rea jälgija): 3 sammu (piltidega)

Video: TA-ZON-BOT (rea jälgija): 3 sammu (piltidega)

Video: TA-ZON-BOT (rea jälgija): 3 sammu (piltidega)
Video: НЕЗАКОННЫЕ Эксперименты c БОКСИ БУ из ПОППИ ПЛЕЙТАЙМ и ХАГИ ВАГИ в VR! 2024, November
Anonim
TA-ZON-BOT (rea jälgija)
TA-ZON-BOT (rea jälgija)
TA-ZON-BOT (rea jälgija)
TA-ZON-BOT (rea jälgija)

TA-ZON-BOT

El tazón siguelineas

Hemos realizado este robot siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers).

Ha sido un proyecto express para poder Participant en la OSHWDEN de A Coruña.

oshwdem.org/2017/06/oshwdem-2017/

traductor google

TA-ZON-BOT

Kauss järgib joont

Oleme selle roboti oma õpilaste abiga (tänu miinitegijatele) teile järgnenud.

A Coruña OSHWDENis osalemine on olnud kiirprojekt.

oshwdem.org/2017/06/oshwdem-2017/

Google tõlkeprogramm

1. samm: 1. samm: komponendid

Samm: komponendid
Samm: komponendid
Samm: komponendid
Samm: komponendid
Samm: komponendid
Samm: komponendid

Los komponendid que hemos utilizados

han sido los siguientes.

Una pieza redonda de metacrilato. (Podéis utilizar cualquier diseño, nuestra base mide lo justo para colocar el tazón bocabajo).

1 Tazón de desayuno (que sirve para kontsentrar al robot en la linea).

2 ruedas de un juguete reciclado.

2 erilist motosportlast:

Spetsiaalsed (lõige 6V):

Mõõtmed: 26 x 10 x 12 mm

Reduktori suhe: 30: 1

Läbimõõt: 3 mm (con ranura de bloqueo)

Nimipinge: 6Vcc (puede funcionar entre 3–9Vcc)

Kiirus kiirusel: 1000 pööret minutis

Laadimisvõimsus: 120 mA (1600 mA)

Pöördemoment: 0,6 kg/cm (max)

Peeso: 10 grammi

Lisage veebis veebis:

1 plats Arduino UNO (reciclada de un proyecto antiguo)

1 kilp para motores Adafruit v2.3:

1 Un porta pilas de 8 pilas AAA (no utilizamos 2 fuentes de alimentación).

6 tornillos y tuercas para unir los elementos como se ve en la imagen

bridas para los motores, una goma elástica para sujetar el porta pilas y un trozo de una lamina de plásticos para la base del porta pilas.

1 massiiv sensores QTR-8RC, millel on iseloomulikud karakteristikud;

QTR-8x peegeldusandurite massiivi spetsifikatsioonid • Mõõdud: 2,95 "x 0,5" • QTR-8RC väljundvorming: 8 digitaalset I/O-ühilduvat signaali, mida saab lugeda ajastatud kõrge impulsi kujul • Optimaalne kaugus: 0,125 "(3 mm) (6 mm) • Maksimaalne soovitatav kaugus QTR-8RC jaoks: 0,375 "(9,5 mm) • Kaal ilma päisetahvliteta: 3,1 g (0,11 oz) Lo podéis encontrar en:

tienda.bricogeek.com/componentes/257-array-…

Ensamblar todo… próximamente un video de detallado…

Meie kasutatud komponendid on olnud järgmised.

Ümmargune metakrülaadi tükk. (Võite kasutada mis tahes kujundust, meie alus mõõdab täpselt nii palju, et kauss tagurpidi asetada).

1 hommikusöögikauss (kasutatakse roboti joonele koondamiseks).

2 ratast taaskasutatud mänguasja.

2 mootorit, millel on järgmised spetsifikatsioonid:

Tehnilised andmed (6 V jaoks): Mõõtmed: 26 x 10 x 12 mm Reduktori suhe: 30: 1 Võlli läbimõõt: 3 mm (koos lukustussoonega) Nominaalne pinge: 6 Vdc (võib töötada vahemikus 3 kuni 9 V DC) Pöördekiirus ilma koormuseta: 1000 p / min Tarbimine ilma koormata: 120mA (1600mA koormusega) Pöördemoment: 0,6kg / cm (max) Kaal: 10 grammi

Veebipoe link:

1 Arduino UNO plaat (ümbertöödeldud vanast projektist)

1 kilp Adafruit v2.3 mootoritele:

1 Akuhoidja 8 AAA patareiga (me ei kasuta 2 toiteallikat).

6 kruvi ja mutrit elementide ühendamiseks, nagu pildil näha

mootorite äärikud, elastne kumm akuhoidiku hoidmiseks ja plastiklehe tükk akuhoidiku aluse jaoks.

1 järgmiste omadustega QTR-8RC andurite massiiv;

QTR-8x peegeldusandurite massiivi spetsifikatsioonid • Mõõdud: 2,95 "x 0,5" • QTR-8RC väljundvorming: 8 digitaalset I / O-ühilduvat signaali, mida saab lugeda ajastatud kõrge impulsi kujul. • Optimaalne kaugus: 0,125 "(3 mm) (6 mm) • Maksimaalne soovitatav kaugus QTR-8RC jaoks: 0,375 "(9,5 mm) • Kaal ilma päisetahvliteta: 3,1 g (0,11 oz) Selle leiate siit:

tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html

Koguge kõik kokku … varsti täpsem video …

2. samm: 2. samm: inspiratsioon

Para probar el funcionamiento del los

motores hemos seguido esta ayuda del blogi www.programarfacil.com

programarfacil.com/blog/arduino-blog/adafr…

Es un resumen muy bueno de los diferentes motores que controla esta shield.

Selle kalibraatori anduri QTR-8RC podise segu ja õpetuse kohta

Y un ultimo enlace que os puede ayudar es este instructable;

www.instructables.com/id/Arduino-based-lin…

Mootorite jõudluse testimiseks oleme järginud seda ajaveebi tuge www.programarfacil.com

programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/

See on väga hea kokkuvõte erinevatest mootoritest, mida see kilp juhib.

QTR-8RC anduri kalibreerimiseks võite järgida juhendit

www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6

Ja viimane link, mis võib teid aidata, on see juhendatav;

www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/

3. samm: 3. samm: kood

Image
Image

las conexiones entre el array de

sensores y las placas las hicimos de la siguiente manera:

El Led ON va al pin digital 12

Los 8 sensores van desde el

número 1 või tihvt 8

número 2 või tihvt 9

número 3 al pin 2

número 4 al pin 3

número 5 al pin 4

número 6 al pin 5

número 7 al pin 6

número 8 al pin 7

El código va sin repasarlo (se aceptan sugerencias)

#kaasake

#kaasake

#kaasake

#kaasake

// Looge I2C vaike -aadressiga mootorikilbi objekt

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Või looge see teise I2C -aadressiga (näiteks virnastamiseks)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Valige, milline 'port' M1, M2, M3 või M4. Sel juhul M1

Adafruit_DCMotor *mootor1 = AFMS.getMotor (1);

// Porti M2 saate teha ka teise mootori

Adafruit_DCMotor *mootor2 = AFMS.getMotor (2);

// Muutke allolevaid väärtusi vastavalt oma roboti mootoritele, kaalule, ratta tüübile jne.

#defineeri KP.2

#define KD 5

#define M1_DEFAULT_SPEED 50

#define M2_DEFAULT_SPEED 50

#define M1_MAX_SPEED 70

#define M2_MAX_SPEED 70

#define MIDDLE_SENSOR 4

#define NUM_SENSORS 8 // kasutatud andurite arv

#define TIMEOUT 2500 // ootab 2500 meid, kuni anduri väljundid vähenevad

#define EMITTER_PIN 12 // emitterit juhib digitaalne tihvt 2

#define DEBUG 0 // kui seeria silumise väljund on vajalik, seadistage 1

QTRSensorsRC qtrrc ((unsigned char ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

unsigned int sensorValues [NUM_SENSORS];

tühine seadistus ()

{

viivitus (1000);

käsitsi_kalibreerimine ();

komplekt_mootorid (0, 0);

}

int lastError = 0;

int viimane_proportsionaalne = 0;

int integraal = 0;

tühine tsükkel ()

{

Seriaalne algus (9600); // seadistage jadakogu kiirusega 9600 bps

Serial.println ("Adafruit Motorshield v2 - alalisvoolumootori test!");

AFMS.begin (); // luua vaikesagedusega 1.6KHz

//AFMS.begin(1000); // VÕI erineva sagedusega, näiteks 1KHz

// Määrake käivitamise kiirus, 0 (väljas) kuni 255 (maksimaalne kiirus)

mootor1-> setSpeed (70);

mootor1-> käima (EDASI);

// lülitage mootor sisse

mootor1-> töö (RELEASE);

mootor2-> setSpeed (70);

mootor2-> käima (EDASI);

// lülitage mootor sisse

mootor2-> töö (RELEASE);

allkirjastamata int -andurid [5];

int positsioon = qtrrc.readLine (andurid);

int viga = positsioon - 2000;

int motorSpeed = KP * viga + KD * (viga - lastError);

lastError = viga;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// määrake mootori kiirused, kasutades kahte ülaltoodud mootori kiiruse muutujat

set_motors (leftMotorSpeed, rightMotorSpeed);

}

void set_motors (int mootor1kiirus, int mootor2kiirus)

{

if (mootor1kiirus> M1_MAX_SPEED) mootor1kiirus = M1_MAX_SPEED; // piirata tippkiirust

if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // piirata tippkiirust

kui (mootor1kiirus <0) mootor1kiirus = 0; // hoia mootor üle 0

kui (mootor2kiirus <0) mootor2kiirus = 0; // hoia mootori pöörlemiskiirus üle 0

mootor1-> setSpeed (mootor1kiirus); // määrake mootori kiirus

mootor2-> setSpeed (mootor2kiirus); // määrake mootori kiirus

mootor1-> käima (EDASI);

mootor2-> käima (EDASI);

}

void manual_calibration () {

int i;

jaoks (i = 0; i <250; i ++) // kalibreerimine võtab paar sekundit

{

qtrrc.kalibreeri (QTR_EMITTERS_ON);

viivitus (20);

}

if (DEBUG) {// kui see on tõene, genereerige andurite andmed jadaväljundi kaudu

Seriaalne algus (9600);

jaoks (int i = 0; i <NUM_SENSORS; i ++)

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Serial.println ();

jaoks (int i = 0; i <NUM_SENSORS; i ++)

{

Serial.print (qtrrc.calibratedMaximumOn );

Serial.print ('');

}

Serial.println ();

Serial.println ();

}

}

Bueno a ver que tal se nos da este proyecto “express” en la Competició del del OSHWDEM.

Soovitan: