2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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
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
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.