Mündəricat:
Video: TA-ZON-BOT (Line Follower): 3 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
TA-ZON-BOT
Əlavə məlumat
Robotların hər biri bir -birindən fərqlənən robotları hazırlayır, (minimakerlər üçün).
Bu, OSHWDEN -in A Coruna oyununda iştirak etmək üçün heç bir proyektdə deyil.
oshwdem.org/2017/06/oshwdem-2017/
tacir google
TA-ZON-BOT
Çanaq ardıcıllıqla gəlir
Tələbələrimizin köməyi ilə sizi izləyən bu robotu etdik (minimakerlərə təşəkkürlər).
A Coruña OSHWDEN -də iştirak etmək üçün sürətli bir layihə oldu.
oshwdem.org/2017/06/oshwdem-2017/
Google tərcüməçi
Addım 1: Adım 1: Komponentlər
Bu komponentlərin hamısı istifadə edilə bilər
han sido los siguientes.
Metacrilato üçün ən yaxşı seçim. (Podéis utilizar cualquier xəstəliyi, nuestra əsas mide loco colocar el tazón bocabajo).
1 Tapşırıqlar (robotun ən böyük konsentrasiyası).
Jurnalın 2 versiyası.
2 maşın con las siguientes especificaciones:
Xüsusi xüsusiyyətlər (6V paraqrafı):
Ölçülər: 26 x 10 x 12 mm
Redaktorların nisbəti: 30: 1
Ölçü diametri: 3 mm
Güc nominal: 6Vcc (3 və 9Vcc funksiyaları)
Sürət həddi: 1000 rpm
İstehlakçı yükü: 120mA (1600mA yükləmə)
Tork: 0.6 kq/sm (maksimum)
Peso: 10 qram
İnternetdən istifadə edin:
1 yer Arduino UNO (reciclada de un proyecto antiguo)
Adafruit v2.3 motorlu 1 qalxan:
1 ədəd AAA -dan 8 -ə qədər pilotsuz (heç bir fayda yoxdur).
6 tornillos y tuercas üçün ən çox tələb olunan elementlər
motorlar, maşınlar və avtomobillər üçün ən yaxşı seçimdir.
1 sensorlar QTR-8RC con las siguientes características;
QTR-8x Reflectance Sensor Array üçün spesifikasiyalar • Ölçülər: 2.95 "x 0.5" • İşləmə gərginliyi: 3.3-5.0 V • Təchizat cərəyanı: 100 mA • QTR-8A üçün çıxış formatı: 0 V-dan verilən gərginliyə qədər 8 analog gərginlik • QTR-8RC üçün çıxış formatı: Zamanlanmış yüksək nəbz kimi oxuna bilən 8 rəqəmsal I/O-uyğun siqnal • Optimal algılama məsafəsi: 0.125 "(3 mm) • QTR-8A üçün tövsiyə olunan maksimum algılama məsafəsi: 0.25" (6 mm) • QTR-8RC üçün tövsiyə olunan maksimum algılama məsafəsi: 0.375 "(9.5 mm) • Başlıq sancaqları olmayan çəki: 0.11 oz (3.1 g)
tienda.bricogeek.com/componentes/257-array-…
Əlaqələndirici tapşırıqlar… əvvəlcədən öyrənildi…
İstifadə etdiyimiz komponentlər aşağıdakılardır.
Dairəvi bir metakrilat parçası. (İstənilən dizayndan istifadə edə bilərsiniz, əsas ölçülərimiz qabı alt -üst etmək üçün kifayətdir).
1 səhər yeməyi qabı (robotu xətdə cəmləşdirmək üçün istifadə olunur).
Yenidən işlənmiş oyuncağın 2 təkəri.
Aşağıdakı xüsusiyyətlərə malik 2 mühərrik:
Xüsusiyyətlər (6V üçün): Ölçülər: 26 x 10 x 12 mm Redüktörün nisbəti: 30: 1 Milin diametri: 3 mm (kilidləmə yivli) Nominal gərginlik: 6 Vdc (3 ilə 9 Vdc arasında işləyə bilər) Yük olmadan dönmə sürəti: 1000 rpm İstehlak yük olmadan: 120mA (yüklə 1600mA) Tork: 0.6 kq / sm (maksimum) Çəkisi: 10 qram
İnternet mağaza linki:
1 Arduino UNO lövhəsi (köhnə bir layihədən geri çevrildi)
Adafruit v2.3 mühərrikləri üçün 1 qalxan:
1 8 AAA batareyadan ibarət batareya tutucusu (2 enerji təchizatı istifadə etmirik).
Şəkildə göründüyü kimi elementləri birləşdirmək üçün 6 vida və qoz -fındıq
mühərriklər üçün flanşlar, batareya tutucusunu tutmaq üçün elastik bir rezin və batareya tutucusunun əsası üçün bir plastik təbəqə parçası.
Aşağıdakı xüsusiyyətlərə malik 1 sıra QTR-8RC sensorlar;
QTR-8x Reflectance Sensor Array üçün spesifikasiyalar • Ölçülər: 2.95 "x 0.5" • İşləmə gərginliyi: 3.3-5.0 V • Təchizat cərəyanı: 100 mA • QTR-8A üçün çıxış formatı: 0 V-dan verilən gərginliyə qədər 8 analog gərginlik • QTR-8RC üçün çıxış formatı: Zamanlanmış yüksək nəbz kimi oxuna bilən 8 rəqəmsal G / Ç-uyğun siqnal • Optimal algılama məsafəsi: 0.125 "(3 mm) • QTR-8A üçün tövsiyə olunan maksimum algılama məsafəsi: 0.25" (6 mm) • QTR-8RC üçün maksimum tövsiyə edilən algılama məsafəsi: 0.375 "(9.5 mm) • Başlıq sancaqları olmayan çəki: 0.11 oz (3.1 g) Bunu tapa bilərsiniz:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Hər şeyi yığın … tezliklə daha ətraflı bir video …
Adım 2: Adım 2: Inspiración
Araşdırma funksiyasını yerinə yetirin
www.programarfacil.com blogunu oxuya bilərsiniz
programarfacil.com/blog/arduino-blog/adafr…
Qalxanların mühərrikləri çox çətin deyil.
Dərslik QTR-8RC-dən istifadə etməklə sensorun ölçüsünü öyrənin
Y un ultimo enlace que os puede ayudar es este instruktiv;
www.instructables.com/id/Arduino-based-lin…
Mühərriklərin performansını yoxlamaq üçün bu blogu www.programarfacil.com izlədik
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Bu qalxanın idarə etdiyi fərqli mühərriklərin çox yaxşı bir xülasəsidir.
QTR-8RC sensorunu kalibr etmək üçün təlimatı izləyə bilərsiniz
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
Və sizə kömək edə biləcək son bir link bu təlimatlandırıcıdır;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Addım 3: Adım 3: Kod
las conexiones entre el array de
sensasiyalar y las placas las hicimos de la siguiente manera:
El Led ON və al pin digital 12
Los 8 sensorlar
numero 1 pin 8
2 nömrəli pin 9
düymə 3 pin 2
numero 4 pin 3
düymə 5 pin 4
numero 6 pin 5
numero 7 pin 6
numero 8 pin 7
El código va sin repasarlo (aceptan sugerencias)
#daxil edin
#daxil edin
#daxil edin
#daxil edin
// Varsayılan I2C ünvanı ilə motor qalxan obyekti yaradın
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Və ya fərqli bir I2C ünvanı ilə yaradın (yığmaq üçün deyin)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// M1, M2, M3 və ya M4 'limanı' seçin. Bu vəziyyətdə M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// M2 portunda başqa bir motor da edə bilərsiniz
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Aşağıdakı dəyərləri robotunuzun motorlarına, çəkisinə, təkər tipinə və s.
#KP təyin edin.2
#KD 5 təyin edin
#müəyyən M1_DEFAULT_SPEED 50
#M2_DEFAULT_SPEED 50 təyin edin
70. M1_MAX_SPEED 70
70. M2_MAX_SPEED 70 -i təyin edin
#MIDDLE_SENSOR təyin edin 4
#define NUM_SENSORS 8 // istifadə olunan sensorların sayı
#define TIMEOUT 2500 // sensor çıxışlarının aşağı düşməsini 2500 bizi gözləyir
#define EMITTER_PIN 12 // emitter rəqəmsal pin 2 ilə idarə olunur
#define DEBUG 0 // serial debug çıxışı lazımdırsa 1 olaraq təyin edin
QTRSensorsRC qtrrc ((işarəsiz simvol ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
imzasız int sensorValues [NUM_SENSORS];
boş quraşdırma ()
{
gecikmə (1000);
manual_calibration ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int inteqral = 0;
boşluq döngəsi ()
{
Serial.begin (9600); // 9600 bps -də Serial kitabxana qurun
Serial.println ("Adafruit Motorshield v2 - DC Motor testi!");
AFMS.begin (); // 1.6KHz standart tezliyi ilə yaradın
//AFMS.begin(1000); // YA fərqli bir tezliklə, 1KHz deyin
// Sürəti 0 (off) -dan 255 -ə (maksimum sürət) başlayacaq şəkildə təyin edin.
motor1-> setSpeed (70);
motor1-> qaç (İLƏ);
// motoru işə salın
motor1-> qaç (Çıxar);
motor2-> setSpeed (70);
motor2-> qaç (İLERİ);
// motoru işə salın
motor2-> qaç (Çıxar);
işarəsiz int sensorlar [5];
int mövqeyi = qtrrc.readLine (sensorlar);
int xətası = mövqe - 2000;
int motorSpeed = KP * xətası + KD * (səhv - lastError);
lastError = səhv;
int leftMotorSpeed = M1_DEFAULT_SPEED + motor Sürəti;
int rightMotorSpeed = M2_DEFAULT_SPEED - motor Sürəti;
// yuxarıdakı iki motor sürəti dəyişənindən istifadə edərək motor sürətlərini təyin edin
set_motors (solMotorSpeed, sağMotorSpeed);
}
boş_təmin_motors (int motor1speed, int motor2speed)
{
əgər (motor1 sürətli> M1_MAX_SPEED) motor1sürəti = M1_MAX_SPEED; // maksimum sürəti məhdudlaşdırın
əgər (motor2 sürət> M2_MAX_SPEED) motor2 sürət = M2_MAX_SPEED; // maksimum sürəti məhdudlaşdırın
əgər (motor1 sürətli <0) motor1sürəti = 0; // motoru 0 -dan yuxarı saxlayın
əgər (motor2 sürət <0) motor2 sürət = 0; // motor sürətini 0 -dan yuxarı saxlayın
motor1-> setSpeed (motor1 sürətli); // motor sürətini təyin edin
motor2-> setSpeed (motor2speed); // motor sürətini təyin edin
motor1-> qaç (İLƏ);
motor2-> qaç (İLERİ);
}
void manual_calibration () {
int i;
(i = 0; i <250; i ++) // üçün kalibrləmə bir neçə saniyə çəkəcək
{
qtrrc.calibrate (QTR_EMITTERS_ON);
gecikmə (20);
}
if (DEBUG) {// doğru olarsa, serial çıxışı vasitəsilə sensor datası yaradın
Serial.begin (9600);
üçün (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
üçün (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMaximumOn );
Serial.print ('');
}
Serial.println ();
Serial.println ();
}
}
Bu, OSHWDEM -in rəqabət qabiliyyətini "ifadə etmək" baxımından çox vacibdir.
Tövsiyə:
PICO ilə Line Follower Robot: 5 Addım (Şəkillərlə)
PICO ilə Line Follower Robotu: Bildiyimiz kimi sivilizasiyanı sona çatdıra biləcək və insan nəslinə son qoya biləcək bir robot yaratmağa qadirsiniz. Əvvəlcə yerdə çəkilmiş xətti izləyə bilən sadə robotlar yarada bilməlisiniz və burada
Arduino Line Follower Wallrides Classroom Whiteboard: 8 Addım (Şəkillərlə birlikdə)
Arduino Line Follower Wallrides Classroom Whiteboard: Yerdəki xətti izləmək çox darıxdırıcıdır! Xətt izləyicilərinə fərqli bir açıdan baxmağa və onları başqa bir təyyarəyə - məktəb lövhəsinə gətirməyə çalışdıq
Line Follower Robot: 11 Addım (Şəkillərlə birlikdə)
Line Follower Robot: 4 IR sensoru ilə təchiz edilmiş PIC16F84A mikroprosessorlu bir xətt izləyicisi robot etdim. Bu robot qara və ağ xətlərdə işləyə bilər
Line Follower Robot: 7 Adım (Şəkillərlə birlikdə)
Line Follower Robot: Bu ağ səthdə qara xətti izləyən bir robotdur
LINE FOLLOWER ROBOT -- ARDUINO KONTROL EDİLDİ: 11 addım (şəkillərlə)
LINE FOLLOWER ROBOT || ARDUINO KONTROL EDİLDİ: BU TƏLİMATDA ROBOT ARABASINI (CARBOT) NECƏ DƏYİŞTİRƏCƏYİNİ SÖYÜR İZLƏYİCİ ROBOT AÇMAQ ÜÇÜN GÖSTƏRİRƏM