Obsah:

TA-ZON-BOT (sledovateľ čiary): 3 kroky (s obrázkami)
TA-ZON-BOT (sledovateľ čiary): 3 kroky (s obrázkami)

Video: TA-ZON-BOT (sledovateľ čiary): 3 kroky (s obrázkami)

Video: TA-ZON-BOT (sledovateľ čiary): 3 kroky (s obrázkami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
TA-ZON-BOT (sledovateľ čiary)
TA-ZON-BOT (sledovateľ čiary)
TA-ZON-BOT (sledovateľ čiary)
TA-ZON-BOT (sledovateľ čiary)

TA-ZON-BOT

El tazón siguelineas

Väčšina robotických robotov, ktoré vyrábajú najkvalitnejšie hliníkové bloky, (minimálne množstvo gracias).

Väčšina našich expresných práv pre OSHWDEN de A Coruña.

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

traductor google

TA-ZON-BOT

Misa sleduje líniu

Urobili sme tohto robota, aby vás nasledoval s pomocou našich študentov, (vďaka minimakerom).

Bol to expresný projekt účasti na OSHWDEN mesta A Coruña.

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

Google Prekladač

Krok 1: Krok 1: Komponenty

Krok 1: Komponenty
Krok 1: Komponenty
Krok 1: Komponenty
Krok 1: Komponenty
Krok 1: Komponenty
Krok 1: Komponenty

Stratte všetky zložky, ktoré používajú

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 koncentrrar al robot en la linea).

2 ruedas de un juguete reciclado.

Špecifické dva motory:

Špecifické parametre (odsek 6V):

Rozmery: 26 x 10 x 12 mm

Pomer zníženia: 30: 1

Priemer: 3 mm (s priemerom)

Nominálne napätie: 6 Vcc (základné funkcie 3 a 9 Vcc)

Velocidad de giro sin carga: 1 000 ot./min

Spotreba energie: 120mA (1600mA)

Krútiaci moment: 0,6 kg/cm (max)

Peso: 10 gramov

Enlace de tienda online:

1 miesto Arduino UNO (reciclada de un proyecto antiguo)

1 štít pre motory Adafruit v2.3:

1 porta pilas from 8 pilas AAA (no use 2 spices of alimentación).

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

Väčšina motorov, ktoré sa môžu líšiť od toho, ako sa vaše vozidlo pilas y un trozo de una lamina de plásticos para la base del porta pilas.

1 pole senzorov QTR-8RC con las siguientes características;

Špecifikácie pre pole snímača odrazivosti QTR-8x • Rozmery: 2,95 "x 0,5" • Prevádzkové napätie: 3,3-5,0 V • Napájací prúd: 100 mA • Výstupný formát pre QTR-8A: 8 analógových napätí v rozsahu od 0 V do dodávaného napätia • Výstupný formát pre QTR-8RC: 8 digitálnych signálov kompatibilných s I/O, ktoré je možné čítať ako načasovaný vysoký impulz • Optimálna vzdialenosť snímania: 3 mm 0,125 • Maximálna odporúčaná vzdialenosť snímania pre QTR-8A: 0,25 " (6 mm) • Maximálna odporúčaná vzdialenosť snímania pre QTR-8RC: 0,375 "(9,5 mm) • Hmotnosť bez kolíkov konektora: 3,11 g

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

Ensamblar todo… hľadáte viac videí viac ako…

Komponenty, ktoré sme použili, boli nasledujúce.

Okrúhly kus metakrylátu. (Môžete použiť akýkoľvek dizajn, naša základňa je dostatočne veľká na to, aby ste misku položili hore dnom).

1 raňajková misa (slúži na koncentráciu robota na linku).

2 kolieska z recyklovanej hračky.

2 motory s nasledujúcimi špecifikáciami:

Špecifikácia (pre 6V): Rozmery: 26 x 10 x 12 mm Pomer reduktora: 30: 1 Priemer hriadeľa: 3 mm (s uzamykacou drážkou) Menovité napätie: 6 V DC (môže pracovať od 3 do 9 V DC) Rýchlosť otáčania bez zaťaženia: 1 000 ot / min Spotreba bez záťaže: 120mA (1600mA so záťažou) Krútiaci moment: 0,6kg / cm (max) Hmotnosť: 10 gramov

Odkaz na internetový obchod:

1 doska Arduino UNO (recyklovaná zo starého projektu)

1 štít pre motory Adafruit v2.3:

1 A držiak batérie 8 batérií AAA (nepoužívame 2 napájacie zdroje).

6 skrutiek a matíc na spojenie prvkov, ako je znázornené na obrázku

príruby pre motory, elastická guma na uchytenie držiaka batérie a kus plastového plátu pre základňu držiaka batérie.

1 pole senzorov QTR-8RC s nasledujúcimi charakteristikami;

Špecifikácia pre pole snímača odrazivosti QTR-8x • Rozmery: 2,95 "x 0,5" • Prevádzkové napätie: 3,3-5,0 V • Napájací prúd: 100 mA • Výstupný formát pre QTR-8A: 8 analógových napätí v rozsahu od 0 V do dodávaného napätia • Výstupný formát pre QTR-8RC: 8 digitálnych signálov kompatibilných s I / O, ktoré je možné čítať ako časovaný vysoký impulz • Optimálna vzdialenosť snímania: 3 mm (0,125 ") • Maximálna odporúčaná vzdialenosť snímania pre QTR-8A: 0,25" (6 mm) • Maximálna odporúčaná vzdialenosť snímania pre QTR-8RC: 0,375 “(9,5 mm) • Hmotnosť bez kolíkov konektora: 3,11 g (0,11 oz) Nájdete ho v:

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

Zostavte všetko … čoskoro podrobnejšie video …

Krok 2: Krok 2: Inšpirácia

Možné úmrtia

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

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

Obnoví sa mnoho ďalších motorov, ktoré môžu ovládať štít.

Para calibrar el sensor QTR-8RC podéis seguir el tutorial de

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

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

Aby sme otestovali výkonnosť motorov, sledovali sme podporu tohto blogu www.programarfacil.com

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

Je to veľmi dobré zhrnutie rôznych motorov, ktoré tento štít ovláda.

Pri kalibrácii senzora QTR-8RC môžete postupovať podľa návodu

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

A posledný odkaz, ktorý vám môže pomôcť, je tento návod;

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

Krok 3: Krok 3: Kód

Image
Image

las conexiones entre el array de

Senzory y las placas las hicimos de la siguiente manera:

El Led ON digitálny 12 pin

Vyhrajte 8 senzorov dodávok

número 1 al pin 8

número 2 al pin 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)

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

// Vytvorte objekt štítu motora s predvolenou adresou I2C

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Alebo ho vytvorte s inou adresou I2C (povedzme pre stohovanie)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Vyberte, ktorý 'port' M1, M2, M3 alebo M4. V tomto prípade M1

Adafruit_DCMotor *motor1 = AFMS.getMotor (1);

// Na porte M2 môžete tiež vyrobiť iný motor

Adafruit_DCMotor *motor2 = AFMS.getMotor (2);

// Zmeňte nižšie uvedené hodnoty tak, aby vyhovovali motorom, hmotnosti, typu kolesa vášho robota atď.

#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 // počet použitých senzorov

#define TIMEOUT 2500 // čaká na 2500 us, kým sa znížia výstupy senzorov

#define EMITTER_PIN 12 // vysielač je riadený digitálnym pinom 2

#define DEBUG 0 // nastavený na 1, ak je potrebný výstup sériového ladenia

QTRSensorsRC qtrrc ((znak bez znamienka ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

nepodpísaný int senzorValues [NUM_SENSORS];

neplatné nastavenie ()

{

oneskorenie (1000);

manual_calibration ();

set_motors (0, 0);

}

int lastError = 0;

int last_proportional = 0;

int integrál = 0;

prázdna slučka ()

{

Serial.begin (9600); // nastavenie sériovej knižnice na 9600 bps

Serial.println („Adafruit Motorshield v2 - test DC motora!“);

AFMS.begin (); // vytvorte s predvolenou frekvenciou 1,6 kHz

//AFMS.begin(1000); // ALEBO s inou frekvenciou, povedzme 1KHz

// Nastavte rýchlosť na štart, od 0 (vypnuté) do 255 (maximálna rýchlosť)

motor1-> setSpeed (70);

motor1-> beh (VPRED);

// zapni motor

motor1-> beh (UVOĽNENIE);

motor2-> setSpeed (70);

motor2-> beh (VPRED);

// zapni motor

motor2-> beh (UVOĽNENIE);

interné snímače bez znamienka [5];

int poloha = qtrrc.readLine (senzory);

int chyba = poloha - 2000;

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

lastError = chyba;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// nastavenie otáčok motora pomocou dvoch vyššie uvedených premenných otáčok motora

set_motors (leftMotorSpeed, rightMotorSpeed);

}

neplatné set_motors (int motor1speed, int motor2speed)

{

if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // obmedzenie maximálnej rýchlosti

if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // obmedzenie najvyššej rýchlosti

if (motor1speed <0) motor1speed = 0; // motor držte nad 0

if (motor2speed <0) motor2speed = 0; // udržujte otáčky motora nad 0

motor1-> setSpeed (motor1speed); // nastavenie otáčok motora

motor2-> setSpeed (motor2speed); // nastavenie otáčok motora

motor1-> beh (VPRED);

motor2-> beh (VPRED);

}

neplatné manual_calibration () {

int i;

pre (i = 0; i <250; i ++) // kalibrácia bude trvať niekoľko sekúnd

{

qtrrc.calibrate (QTR_EMITTERS_ON);

oneskorenie (20);

}

if (DEBUG) {// ak je pravda, generujte údaje senzorov prostredníctvom sériového výstupu

Serial.begin (9600);

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

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Serial.println ();

pre (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ón del OSHWDEM.

Odporúča: