Talaan ng mga Nilalaman:

TA-ZON-BOT (Tagasunod sa Linya): 3 Mga Hakbang (na may Mga Larawan)
TA-ZON-BOT (Tagasunod sa Linya): 3 Mga Hakbang (na may Mga Larawan)

Video: TA-ZON-BOT (Tagasunod sa Linya): 3 Mga Hakbang (na may Mga Larawan)

Video: TA-ZON-BOT (Tagasunod sa Linya): 3 Mga Hakbang (na may Mga Larawan)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Nobyembre
Anonim
TA-ZON-BOT (Tagasunod sa Linya)
TA-ZON-BOT (Tagasunod sa Linya)
TA-ZON-BOT (Tagasunod sa Linya)
TA-ZON-BOT (Tagasunod sa Linya)

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 participar en la OSHWDEN de A Coruña.

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

traductor google

TA-ZON-BOT

Ang sumusunod na mangkok

Ginawa namin ang robot na ito na sumusunod sa iyo sa tulong ng aming mga mag-aaral, (salamat sa mga minimaker).

Ito ay naging isang malinaw na proyekto upang lumahok sa OSHWDEN ng A Coruña.

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

Tagasalin ng Google

Hakbang 1: Hakbang 1: Mga Componentes

Hakbang 1: Mga Componentes
Hakbang 1: Mga Componentes
Hakbang 1: Mga Componentes
Hakbang 1: Mga Componentes
Hakbang 1: Mga Componentes
Hakbang 1: Mga Componentes

Los mga sangkap sa 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 concentrar al robot en la linea).

2 ruedas de un juguete reciclado.

2 motores con las siguientes especificaciones:

Especificaciones (Para 6V):

Mga Dimensyon: 26 x 10 x 12 mm

Ratio de la reductora: 30: 1

Diámetro del eje: 3mm (con ranura de bloqueo)

Nominal na Voltaje: 6Vcc (puede funcionar entre 3 a 9Vcc)

Velocidad de giro sin carga: 1000rpm

Consumo sin carga: 120mA (1600mA con carga)

Torque: 0.6kg / cm (max)

Peso: 10 gramo

Enlace de tienda online:

1 placa Arduino UNO (reciclada de un proyecto antiguo)

1 kalasag 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 sa los motores, una sa iyong mga serbisyo para sa mga sumusunod na porta pilas y un trozo de una lamina de plásticos para sa base del porta pilas.

1 array de sensores QTR-8RC con las siguientes características;

Mga pagtutukoy para sa QTR-8x Reflectance Sensor Array • Mga Dimensyon: 2.95 "x 0.5" • Operating boltahe: 3.3-5.0 V • Kasalukuyang supply: 100 mA • Output format para sa QTR-8A: 8 analog voltages mula sa 0 V hanggang sa ibinigay na boltahe • Format ng output para sa QTR-8RC: 8 digital na mga signal na I / O na katugmang mababasa bilang isang inorasan na mataas na pulso • Optimal na distansya ng pag-sensing: 0.125 "(3 mm) • Maximum na inirekumendang distansya ng pag-sensing para sa QTR-8A: 0.25" (6 mm) • Maximum na inirekumendang distansya ng sensing para sa QTR-8RC: 0.375 "(9.5 mm) • Timbang nang walang mga pin ng header: 0.11 oz (3.1 g) Lo podéis encontrar en:

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

Ipinapakita ang…

Ang mga sangkap na ginamit namin ay ang mga sumusunod.

Isang bilog na piraso ng methacrylate. (Maaari mong gamitin ang anumang disenyo, ang aming mga panukala sa base sapat lamang upang ilagay ang mangkok ng baligtad).

1 Almusal mangkok (ginamit upang ituon ang robot sa linya).

2 gulong ng isang recycled na laruan.

2 engine na may mga sumusunod na pagtutukoy:

Mga pagtutukoy (Para sa 6V): Mga Dimensyon: 26 x 10 x 12 mm Ratio ng reducer: 30: 1 diameter ng Shaft: 3mm (na may locking uka) Nominal boltahe: 6Vdc (maaaring mapatakbo sa pagitan ng 3 hanggang 9Vdc) Bilis ng pag-on nang walang pag-load: 1000rpm Pagkonsumo nang walang karga: 120mA (1600mA na may karga) Torque: 0.6kg / cm (max) Timbang: 10 gramo

Link ng online na tindahan:

1 Arduino UNO board (na-recycle mula sa isang lumang proyekto)

1 kalasag para sa mga makina ng Adafruit v2.3:

1 Isang may hawak ng baterya ng 8 AAA na baterya (hindi kami gumagamit ng 2 mga power supply).

6 na mga turnilyo at nut upang sumali sa mga elemento tulad ng nakikita sa imahe

flanges para sa mga motor, isang nababanat na goma upang hawakan ang may hawak ng baterya at isang piraso ng isang sheet ng plastik para sa base ng may hawak ng baterya.

1 hanay ng mga sensor ng QTR-8RC na may mga sumusunod na katangian;

Mga pagtutukoy para sa QTR-8x Reflectance Sensor Array • Mga Dimensyon: 2.95 "x 0.5" • Operating boltahe: 3.3-5.0 V • Kasalukuyang supply: 100 mA • Output format para sa QTR-8A: 8 analog voltages mula sa 0 V hanggang sa ibinigay na boltahe • Format ng output para sa QTR-8RC: 8 mga digital na signal na I / O na katugmang mababasa bilang isang inorasan na mataas na pulso • Optimal na distansya ng pag-sensing: 0.125 "(3 mm) • Maximum na inirekumendang distansya ng pag-sensing para sa QTR-8A: 0.25" (6 mm) • Maximum na inirekumendang distansya ng sensing para sa QTR-8RC: 0.375 "(9.5 mm) • Timbang nang walang mga header pin: 0.11 oz (3.1 g) Maaari mo itong makita sa:

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

Ipunin ang lahat … sa lalong madaling panahon isang mas detalyadong video …

Hakbang 2: Hakbang 2: Inspiración

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.

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

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

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

Upang masubukan ang pagganap ng mga engine na sinundan namin ang suporta sa blog na ito www.programarfacil.com

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

Ito ay isang napakahusay na buod ng iba't ibang mga makina na kinokontrol ng kalasag na ito.

Upang i-calibrate ang sensor ng QTR-8RC maaari mong sundin ang tutorial ng

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

At ang isang huling link na makakatulong sa iyo ay maituro ito;

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

Hakbang 3: Hakbang 3: Code

Image
Image

las conexiones entre el array de

sensores y las placas las hicimos de la siguiente manera:

El Led ON sa al al pin digital 12

Los 8 sensores van desde el

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)

# isama

# isama

# isama

# isama

// Lumikha ng object ng kalasag ng motor na may default na I2C address

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// O, likhain ito ng ibang I2C address (sabihin para sa stacking)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// Piliin kung aling 'port' M1, M2, M3 o M4. Sa kasong ito, M1

Adafruit_DCMotor * motor1 = AFMS.getMotor (1);

// Maaari ka ring gumawa ng isa pang motor sa port M2

Adafruit_DCMotor * motor2 = AFMS.getMotor (2);

// Baguhin ang mga halaga sa ibaba upang umangkop sa mga motor ng iyong robot, timbang, uri ng gulong, atbp.

# tukuyin ang KP.2

# tukuyin ang KD 5

# tukuyin ang M1_DEFAULT_SPEED 50

# tukuyin ang M2_DEFAULT_SPEED 50

# tukuyin ang M1_MAX_SPEED 70

# tukuyin ang M2_MAX_SPEED 70

# tukuyin ang MIDDLE_SENSOR 4

# tukuyin ang NUM_SENSORS 8 // bilang ng mga ginamit na sensor

# tukuyin ang TIMEOUT 2500 // naghihintay ng 2500 sa amin para sa mga output ng sensor na maging mababa

#define EMITTER_PIN 12 // emitter ay kinokontrol ng digital pin 2

#define DEBUG 0 // itakda sa 1 kung kinakailangan ng serial debug output

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

unsigned int sensorValues [NUM_SENSORS];

walang bisa ang pag-setup ()

{

pagkaantala (1000);

manual_calibration ();

set_motors (0, 0);

}

int lastError = 0;

int last_proportional = 0;

int integral = 0;

walang bisa loop ()

{

Serial.begin (9600); // set up Serial library sa 9600 bps

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

AFMS.begin (); // lumikha gamit ang default na dalas ng 1.6KHz

//AFMS.begin(1000); // O may iba't ibang dalas, sabihin ang 1KHz

// Itakda ang bilis upang magsimula, mula sa 0 (off) hanggang 255 (max na bilis)

motor1-> setSpeed (70);

motor1-> patakbuhin (FORWARD);

// buksan ang motor

motor1-> patakbuhin (BAKAS);

motor2-> setSpeed (70);

motor2-> patakbuhin (FORWARD);

// buksan ang motor

motor2-> patakbuhin (RELEASE);

unsigned int sensor [5];

int posisyon = qtrrc.readLine (sensor);

int error = posisyon - 2000;

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

lastError = error;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;

int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

// itakda ang mga bilis ng motor gamit ang dalawang variable ng bilis ng motor sa itaas

set_motors (leftMotorSpeed, kananMotorSpeed);

}

void set_motors (int motor1speed, int motor2speed)

{

kung (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // limitahan ang pinakamataas na bilis

kung (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // limitahan ang pinakamataas na bilis

kung (motor1speed <0) motor1speed = 0; // panatilihin ang motor sa itaas 0

kung (motor2speed <0) motor2speed = 0; // panatilihin ang bilis ng motor sa itaas 0

motor1-> setSpeed (motor1speed); // itakda ang bilis ng motor

motor2-> setSpeed (motor2speed); // itakda ang bilis ng motor

motor1-> patakbuhin (FORWARD);

motor2-> patakbuhin (FORWARD);

}

walang bisa manual_calibration () {

int i;

para sa (i = 0; i <250; i ++) // ang pagkakalibrate ay tatagal ng ilang segundo

{

qtrrc.calibrate (QTR_EMITTERS_ON);

pagkaantala (20);

}

kung (DEBUG) {// kung totoo, bumuo ng mga sensor dats sa pamamagitan ng serial output

Serial.begin (9600);

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

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ( );

}

Serial.println ();

para sa (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 compición del OSHWDEM.

Inirerekumendang: