Mundarija:

TA-ZON-BOT (chiziq izdoshi): 3 qadam (rasmlar bilan)
TA-ZON-BOT (chiziq izdoshi): 3 qadam (rasmlar bilan)

Video: TA-ZON-BOT (chiziq izdoshi): 3 qadam (rasmlar bilan)

Video: TA-ZON-BOT (chiziq izdoshi): 3 qadam (rasmlar bilan)
Video: Создание АКЦЕНТНОЙ СТЕНЫ, когда произошло что-то ИДЕАЛЬНОЕ 2024, Noyabr
Anonim
TA-ZON-BOT (chiziq izdoshi)
TA-ZON-BOT (chiziq izdoshi)
TA-ZON-BOT (chiziq izdoshi)
TA-ZON-BOT (chiziq izdoshi)

TA-ZON-BOT

El tazón siguelineas

Hamma real robot robotlari, eng kichik o'quvchilar (gracias minimakers).

Haqiqatan ham, OSHWDEN A Coruña -da ishtirok eting.

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

savdogar google

TA-ZON-BOT

Idish quyidagi qatorda

Biz bu robotni talabalarimiz yordamida sizga ergashtirdik, (minimakerlarga rahmat).

A Coruña OSHWDENda qatnashish ekspress loyiha bo'ldi.

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

Google tarjimon

1 -qadam: 1 -qadam: Komponentlar

1 -qadam: Komponentlar
1 -qadam: Komponentlar
1 -qadam: Komponentlar
1 -qadam: Komponentlar
1 -qadam: Komponentlar
1 -qadam: Komponentlar

Qimmatli qog'ozlar komponentlari

han sido los siguientes.

Metacrilato -ni tanlang. (Podéis utilizar cualquier kasalligi, eng asosiysi, bu juda muhim).

1 Ta'kidlash joizki, bu robot bilan ishlash uchun mo'ljallangan.

2 ta ro'yxat.

2 dvigatelli kon las siguientes especificaciones:

Maxsus xususiyatlar (6V -band):

Olchamlari: 26 x 10 x 12 mm

Redüktör nisbati: 30: 1

Diametri 3 mm (diametri)

Nominal voltaj: 6Vcc (3 dan 9Vccgacha bo'lgan funktsiyalar)

Mashinaning tezligi: 1000 rpm

Quvvat iste'moli: 120mA (1600mA)

Tork: 0,6 kg/sm (maksimal)

Peso: 10 gramm

Tijoratni onlayn tarzda joylashtiring:

1 -o'rin: Arduino UNO (recclada de un proyecto antiguo)

Adafruit v2.3 dvigatellari uchun 1 ta qalqon:

1 ta AAA 8 ta plyaska (2 ta ma'lumot yo'q).

6 tornillos y tuercas para unir los elementos como se en 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 ta sensorlar qatori QTR-8RC con las siguientes características;

QTR-8x reflektorli sensorlar majmuasi uchun spetsifikatsiyalar • O'lchamlari: 2,95 "x 0,5" • Ishlash kuchlanishi: 3,3-5,0 V • Besleme oqimi: 100 mA • QTR-8A uchun chiqish formati: 8 analog kuchlanish 0 V dan berilgan kuchlanishgacha. • QTR-8RC uchun chiqish formati: 8 ta raqamli kirish-chiqish moslamali signallar, ularni vaqtli yuqori puls sifatida o'qish mumkin • Optimal sezish masofasi: 0,125 dyuym (3 mm) • QTR-8A uchun tavsiya etilgan maksimal sezish masofasi: 0,25 " (6 mm) • QTR-8RC uchun maksimal tavsiya etilgan sezish masofasi: 0,375 dyuym (9,5 mm) • Sarlavhali pimsiz og'irlik: 0,11 oz (3,1 g)

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

Boshqaruv ishlari… próximamente un vídeo más detallado…

Biz ishlatgan komponentlar quyidagilar edi.

Dumaloq bo'lak metakrilat. (Siz har qanday dizayndan foydalanishingiz mumkin, bizning tayanch o'lchovimiz piyolani teskari joylashtirish uchun etarli).

1 nonushta kosasi (robotni chiziqqa jamlash uchun ishlatiladi).

Qayta ishlangan o'yinchoqning 2 g'ildiragi.

Quyidagi texnik xususiyatlarga ega 2 ta dvigatel:

Xususiyatlar (6V uchun): Olchamlari: 26 x 10 x 12 mm Redüktör nisbati: 30: 1 Mil diametri: 3 mm (qulflash truba bilan) Nominal kuchlanish: 6Vdc (3 dan 9 Vdc gacha ishlashi mumkin) Yuklanmasdan aylanish tezligi: 1000 rpm yuklamasdan: 120mA (yuk bilan 1600mA) Turk: 0,6 kg / sm (maksimal) Og'irligi: 10 gramm

Onlayn do'kon havolasi:

1 Arduino UNO kengashi (eski loyihadan qayta ishlangan)

Adafruit v2.3 dvigatellari uchun 1 ta qalqon:

1 8 ta AAA batareyali batareya ushlagichi (biz 2 ta quvvat manbasidan foydalanmaymiz).

Elementlarni birlashtirish uchun 6 vint va yong'oq

motorlar uchun gardish, akkumulyator ushlagichini ushlab turuvchi elastik kauchuk va akkumulyator ushlagichining tagligi uchun plastmassa varaq.

Quyidagi xususiyatlarga ega 1 ta QTR-8RC datchiklari;

QTR-8x reflektorli sensorlar majmuasi uchun spetsifikatsiyalar • O'lchamlari: 2,95 "x 0,5" • Ishlash kuchlanishi: 3,3-5,0 V • Besleme oqimi: 100 mA • QTR-8A uchun chiqish formati: 8 analog kuchlanish 0 V dan berilgan kuchlanishgacha. • QTR-8RC uchun chiqish formati: 8 ta raqamli kirish-chiqish moslamali signallar, ularni vaqtli yuqori puls sifatida o'qish mumkin • Optimal sezish masofasi: 0,125 dyuym (3 mm) • QTR-8A uchun tavsiya etilgan maksimal sezish masofasi: 0,25 " (6 mm) • QTR-8RC uchun tavsiya etilgan maksimal sezish masofasi: 0,375 dyuym (9,5 mm) • Sarlavhali pimsiz og'irlik: 0,11 oz (3,1 g) Siz uni quyidagi manzilda topishingiz mumkin.

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

Hammasini yig'ing … tez orada batafsilroq video …

2 -qadam: 2 -qadam: Inspiración

Los muammosini hal qilish

Bloglar www.programarfacil.com saytida mavjud

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

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

QTR-8RC kalibrli datchiklar uchun qo'llanma

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

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

Dvigatellarning ishlashini sinab ko'rish uchun biz ushbu blogni qo'llab -quvvatladik www.programarfacil.com

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

Bu qalqon boshqaradigan turli dvigatellarning juda yaxshi xulosasi.

QTR-8RC sensorini kalibrlash uchun siz qo'llanmani kuzatib borishingiz mumkin

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

Va sizga yordam berishi mumkin bo'lgan oxirgi havola - bu ko'rsatma;

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

3 -qadam: 3 -qadam: Kod

Image
Image

las conexiones entre el array de

sensasiyalar y las placas las hicimos de la siguiente manera:

El Led ON va al pin raqamli 12

Los 8 sensorlar

1 ta pin 8

2 -pin 9

3 -pinli pin 2

4 -pin 3 -qator

5 -pin 4 -raqam

6 ta pin 5

7 -sonli pin 6

8 ta pin 7

El código va sin repasarlo (aceptan sugerencias)

#qo'shing

#qo'shing

#qo'shing

#qo'shing

// Dvigatel qalqoni ob'ektini standart I2C manzili bilan yarating

Adafruit_MotorShield AFMS = Adafruit_MotorShield ();

// Yoki uni boshqa I2C manzili bilan yarating (masalan, yig'ish uchun)

// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);

// M1, M2, M3 yoki M4 qaysi "port" ni tanlang. Bunday holda, M1

Adafruit_DCMotor *motor1 = AFMS.getMotor (1);

// Siz M2 portida boshqa dvigatel yasashingiz mumkin

Adafruit_DCMotor *motor2 = AFMS.getMotor (2);

// Quyidagi qiymatlarni robotning motoriga, vazniga, g'ildirak turiga va boshqalarga mos ravishda o'zgartiring.

#KP ni belgilang.2

#aniqlang KD 5

50. M1_DEFAULT_SPEED 50 ni aniqlang

M2_DEFAULT_SPEED 50 ni aniqlang

70 -sonni aniqlang

70. M2_MAX_SPEED 70 ni aniqlang

#MIDDLE_SENSOR 4 ni aniqlang

#aniqlang NUM_SENSORS 8 // ishlatilgan datchiklar soni

#define TIMEOUT 2500 // sensorlar chiqishi past bo'lishini 2500 bizni kutadi

#define EMITTER_PIN 12 // emitent raqamli pin 2 tomonidan boshqariladi

#define DEBUG 0 // ketma -ket disk raskadrovka chiqishi kerak bo'lsa, 1 ga o'rnating

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

imzosiz int sensorValues [NUM_SENSORS];

bo'sh o'rnatish ()

{

kechikish (1000);

qo'lda kalibrlash ();

set_motors (0, 0);

}

int lastError = 0;

int last_proportional = 0;

int integral = 0;

bo'sh halqa ()

{

Serial.begin (9600); // ketma -ket kutubxonani 9600 bps tezlikda sozlash

Serial.println ("Adafruit Motorshield v2 - DC dvigatelining sinovi!");

AFMS.begin (); // 1,6 kHz standart chastotasi bilan yarating

//AFMS.begin (1000); // YOKI boshqa chastotali, aytaylik 1KHz

// Tezlikni 0 (o'chirilgan) dan 255 (maksimal tezlik) gacha boshlang.

motor1-> setSpeed (70);

motor1-> yugurish (Oldinga);

// motorni yoqing

motor1-> ishga tushirish (RELEASE);

motor2-> setSpeed (70);

motor2-> yugurish (Oldinga);

// motorni yoqing

motor2-> ishga tushirish (RELEASE);

imzosiz int sensorlar [5];

int pozitsiyasi = qtrrc.readLine (sensorlar);

int xato = pozitsiya - 2000;

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

lastError = xato;

int leftMotorSpeed = M1_DEFAULT_SPEED + motor tezligi;

int rightMotorSpeed = M2_DEFAULT_SPEED - motor tezligi;

// yuqoridagi ikkita vosita tezligi o'zgaruvchisi yordamida vosita tezligini o'rnating

set_motors (chapMotorSpeed, o'ngMotorSpeed);

}

void set_motors (int motor1speed, int motor2speed)

{

agar (motor1 tezligi> M1_MAX_SPEED) motor1 tezligi = M1_MAX_SPEED; // maksimal tezlikni cheklash

agar (motor2 tezligi> M2_MAX_SPEED) motor2 tezligi = M2_MAX_SPEED; // maksimal tezlikni cheklash

agar (motor1 tezligi <0) motor1 tezligi = 0; // motorni 0 dan yuqori ushlab turing

agar (motor2 tezligi <0) motor2 tezligi = 0; // vosita tezligini 0 dan yuqori tuting

motor1-> setSpeed (motor1 tezligi); // vosita tezligini sozlash

motor2-> setSpeed (motor2 tezligi); // vosita tezligini sozlash

motor1-> yugurish (Oldinga);

motor2-> yugurish (Oldinga);

}

bekor manual_calibration () {

int i;

uchun (i = 0; i <250; i ++) // kalibrlash bir necha soniya davom etadi

{

qtrrc.calibrate (QTR_EMITTERS_ON);

kechikish (20);

}

if (DEBUG) {// agar rost bo'lsa, ketma -ket chiqish orqali sensorlar ma'lumotlarini yarating

Serial.begin (9600);

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

{

Serial.print (qtrrc.calibratedMinimumOn );

Serial.print ('');

}

Serial.println ();

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

{

Serial.print (qtrrc.calibratedMaximumOn );

Serial.print ('');

}

Serial.println ();

Serial.println ();

}

}

Bu OSHWDEM raqobatbardosh "ekspress" dasturini amalga oshirishga imkon beradi.

Tavsiya: