Turinys:

TA-ZON-BOT (linijos sekėjas): 3 žingsniai (su nuotraukomis)
TA-ZON-BOT (linijos sekėjas): 3 žingsniai (su nuotraukomis)

Video: TA-ZON-BOT (linijos sekėjas): 3 žingsniai (su nuotraukomis)

Video: TA-ZON-BOT (linijos sekėjas): 3 žingsniai (su nuotraukomis)
Video: Part 08 - Moby Dick Audiobook by Herman Melville (Chs 089-104) 2024, Lapkritis
Anonim
TA-ZON-BOT (linijos sekėjas)
TA-ZON-BOT (linijos sekėjas)
TA-ZON-BOT (linijos sekėjas)
TA-ZON-BOT (linijos sekėjas)

TA-ZON-BOT

El tazón siguelineas

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

„Haido“ir „proyecto express“, skirtas dalyvavimui OSHWDEN de A Coruña.

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

traductor google

TA-ZON-BOT

Dubuo eina tokia linija

Padėjome šį robotą sekti paskui jus padedant mūsų studentams (ačiū minimaliems kūrėjams).

Tai buvo skubus projektas dalyvauti A Coruña OSHWDEN.

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

Google vertėjas

1 žingsnis: 1 žingsnis: komponentai

1 žingsnis: komponentai
1 žingsnis: komponentai
1 žingsnis: komponentai
1 žingsnis: komponentai
1 žingsnis: komponentai
1 žingsnis: komponentai

Los komponentai yra 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 koncentrar al robot en la linea).

2 ruedas de un juguete reciclado.

2 konkretūs motociklai:

Konkretus (6V punktas):

Matmenys: 26 x 10 x 12 mm

Reduktoriaus santykis: 30: 1

Išorinis skersmuo: 3 mm (con ranura de bloqueo)

Nominali įtampa: 6 Vcc (3–9 Vcc)

Greitis greitis: 1000 aps./min

Sumažinta apkrova: 120mA (1600mA su kroviniu)

Sukimo momentas: 0,6 kg/cm (maks.)

Pesas: 10 gramų

Pridėkite prie interneto internete:

1 vieta Arduino UNO (reciclada de un proyecto antiguo)

1 skydas „Adafruit v2.3“moto:

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 matrica QTR-8RC, susidedanti iš charakteringų charakteristikų;

„QTR-8x Reflectance Sensor Array“specifikacijos • Matmenys: 2,95 "x 0,5" • QTR-8RC išvesties formatas: 8 skaitmeniniai įvesties/išvesties signalai, kuriuos galima nuskaityti kaip didelio laiko impulsą; • Optimalus jutimo atstumas: 3 mm (0,125 colio) • Maksimalus rekomenduojamas QTR-8A jutimo atstumas: 0,25 colio (6 mm) • Didžiausias rekomenduojamas QTR-8RC jutimo atstumas: 0,375 colio (9,5 mm) • Svoris be kaiščių: 3,1 g (0,11 uncijos) Lo podéis encontrar en:

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

Pakartotinis veiksmas… promiksas ir vaizdo įrašas dar vienas…

Mūsų naudojami komponentai buvo šie.

Apvalus metakrilato gabalas. (Galite naudoti bet kokį dizainą, mūsų bazė yra tiek, kad dubenį būtų galima apversti aukštyn kojomis).

1 Pusryčių dubuo (naudojamas robotui sutelkti ant linijos).

2 ratai perdirbto žaislo.

2 varikliai su šiomis specifikacijomis:

Specifikacijos (6 V): Matmenys: 26 x 10 x 12 mm Reduktoriaus santykis: 30: 1 Veleno skersmuo: 3 mm (su fiksavimo grioveliu) Nominali įtampa: 6 Vdc (gali veikti nuo 3 iki 9 V DC) Sukimo greitis be apkrovos: 1000 aps / min be apkrovos: 120 mA (1600 mA su apkrova) Sukimo momentas: 0,6 kg / cm (maks.) Svoris: 10 gramų

Internetinės parduotuvės nuoroda:

1 „Arduino UNO“plokštė (perdirbta iš seno projekto)

1 skydas „Adafruit v2.3“varikliams:

1 8 AAA baterijų laikiklis (nenaudojame 2 maitinimo šaltinių).

6 varžtai ir veržlės elementams sujungti, kaip parodyta paveikslėlyje

variklių flanšai, elastinga guma akumuliatoriaus laikikliui laikyti ir plastikinio lakšto gabalas akumuliatoriaus laikiklio pagrindui.

1 QTR-8RC jutiklių, turinčių šias charakteristikas, masyvas;

„QTR-8x Reflectance Sensor Array“specifikacijos • Matmenys: 2,95 "x 0,5" • QTR-8RC išvesties formatas: 8 skaitmeniniai įvesties / išvesties signalai, kuriuos galima nuskaityti kaip didelio laiko impulsą; • Optimalus jutimo atstumas: 3 mm (0,125 colio) • Maksimalus rekomenduojamas QTR-8A jutimo atstumas: 0,25 colio (6 mm) • Didžiausias rekomenduojamas QTR-8RC jutimo atstumas: 0,375 colio (9,5 mm) • Svoris be kaiščių: 3,1 g (0,11 uncijos).

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

Surinkite viską… netrukus išsamesnis vaizdo įrašas…

2 veiksmas: 2 žingsnis: įkvėpimas

Para probar el funcionamiento del los

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

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

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

Kalibruojamo jutiklio QTR-8RC pamokų mišinys

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

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

Norėdami patikrinti variklių našumą, sekėme šį tinklaraščio palaikymą www.programarfacil.com

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

Tai labai gera įvairių variklių, kuriuos valdo šis skydas, santrauka.

Norėdami kalibruoti QTR-8RC jutiklį, vadovaukitės pamoka

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

Ir paskutinė nuoroda, kuri jums gali padėti, yra ši pamokoma;

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

3 žingsnis: 3 žingsnis: kodas

Image
Image

las conexiones entre el array de

sensores y las placas las hicimos de la siguiente manera:

„El Led ON“skaitmeninis 12

Los 8 sensores van desde el

número 1 al pin 8

número 2 ar kaištis 9

número 3 al 2

número 4 al 3

número 5 al 4

número 6 al 5

número 7 al 6

número 8 al pin 7

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

#įtraukti

#įtraukti

#įtraukti

#įtraukti

// Sukurkite variklio skydo objektą su numatytuoju I2C adresu

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Arba sukurkite jį kitu I2C adresu (tarkime, kraunant)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Pasirinkite, kuris „prievadas“yra M1, M2, M3 ar M4. Šiuo atveju M1

Adafruit_DCMotor *motor1 = AFMS.getMotor (1);

// Taip pat galite pagaminti kitą variklį M2 prievade

Adafruit_DCMotor *motor2 = AFMS.getMotor (2);

// Pakeiskite toliau nurodytas vertes, kad jos atitiktų jūsų roboto variklius, svorį, rato tipą ir kt.

#define 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 // naudojamų jutiklių skaičius

#define TIMEOUT 2500 // laukia 2500 m., kol jutiklių išvestys sumažės

#define EMITTER_PIN 12 // spinduliuotę valdo 2 skaitmeninis kaištis

#define DEBUG 0 // jei reikia serijinio derinimo išvesties, nustatykite 1

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

unsigned int sensorValues [NUM_SENSORS];

negaliojanti sąranka ()

{

vėlavimas (1000);

rankinis_kalibravimas ();

„set_motors“(0, 0);

}

int lastError = 0;

int paskutinis_proporcinis = 0;

int integralas = 0;

tuštumos kilpa ()

{

Serial.begin (9600); // nustatyti serijos biblioteką esant 9600 bps

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

AFMS.begin (); // kurti numatytuoju dažniu 1,6KHz

//AFMS.begin(1000); // ARBA su kitu dažniu, tarkime, 1KHz

// Nustatykite paleidimo greitį nuo 0 (išjungtas) iki 255 (maksimalus greitis)

motor1-> setSpeed (70);

motor1-> paleisti (į priekį);

// įjungti variklį

motor1-> run (RELEASE);

motor2-> setSpeed (70);

variklis2-> važiuoti (Į priekį);

// įjungti variklį

motor2-> run (RELEASE);

nepasirašyti int jutikliai [5];

int pozicija = qtrrc.readLine (jutikliai);

int klaida = pozicija - 2000;

int motorSpeed = KP * klaida + KD * (klaida - paskutinė klaida);

lastError = klaida;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// nustatykite variklio greitį naudodami du aukščiau pateiktus variklio greičio kintamuosius

set_motors (leftMotorSpeed, rightMotorSpeed);

}

void set_motors (int motor1speed, int motor2speed)

{

if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // apriboti didžiausią greitį

if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // apriboti didžiausią greitį

if (motor1speed <0) motor1speed = 0; // laikyti variklį aukščiau 0

if (motor2speed <0) motor2speed = 0; // išlaikyti variklio greitį virš 0

motor1-> setSpeed (motor1speed); // nustatyti variklio greitį

motor2-> setSpeed (motor2speed); // nustatyti variklio greitį

motor1-> paleisti (į priekį);

variklis2-> važiuoti (Į priekį);

}

void manual_calibration () {

int i;

(i = 0; i <250; i ++) // kalibravimas užtruks kelias sekundes

{

qtrrc.calibrate (QTR_EMITTERS_ON);

vėlavimas (20);

}

if (DEBUG) {// jei tiesa, generuokite jutiklio duomenis per serijinę išvestį

Serial.begin (9600);

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

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Serial.println ();

(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 OSHWDEM.

Rekomenduojamas: