Përmbajtje:
Video: TA-ZON-BOT (Ndjekësi i linjës): 3 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:28
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 participant en la OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traductor google
TA-ZON-BOT
Linja vijuese e tasit
Ne e kemi bërë këtë robot duke ju ndjekur me ndihmën e studentëve tanë, (faleminderit prodhuesit minimal).
Ka qenë një projekt i shpejtë për të marrë pjesë në OSHWDEN të A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
perkthyesi i Google
Hapi 1: Hapi 1: Komponentët
Los componentes que hemos utilizados
han sido los siguientes.
Una pieza redonda de metacrilato..
1 Tazón de desayuno (që është para koncentratorit të robotit në linjë).
2 ruedas de un juguete reciclado.
2 motore con las siguientes especificaciones:
Especificaciones (Para 6V):
Përmasat: 26 x 10 x 12 mm
Raporti i reduktimit: 30: 1
Diámetro del eje: 3mm (con ranura de bloqueo)
Voltaje nominale: 6Vcc (puede funcionar entre 3 a 9Vcc)
Shpejtësia e ngarkesës së ngarkesës: 1000rpm
Ngarkesa e konsumit të mëkatit: 120mA (1600mA e ngarkuar)
Çift rrotullues: 0.6kg/cm (max)
Peso: 10 gram
Enlace de tienda online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 mburojë për motorët Adafruit v2.3:
1 Un porta pilas nga 8 pila AAA (pa përdorim 2 ushqime të ushqimit).
6 tornillos y tuercas para unir los elementos como se ve 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 array de sensores QTR-8RC con las siguientes Karakteristikat;
Specifikimet për grupin e sensorit të reflektimit QTR-8x • Përmasat: 2.95 "x 0.5" • Tensioni i funksionimit: 3.3-5.0 V • Rryma e furnizimit: 100 mA • Formati i daljes për QTR-8A: 8 tensione analoge që variojnë nga 0 V në tensionin e furnizuar • Formati i daljes për QTR-8RC: 8 sinjale dixhitale të pajtueshme me I/O që mund të lexohen si një impuls i lartë i caktuar me kohë • Distanca optimale e ndijimit: 0.125 "(3 mm) • Distanca maksimale e rekomanduar e ndijimit për QTR-8A: 0.25" (6 mm) • Distanca maksimale e rekomanduar e ndijimit për QTR-8RC: 0.375 "(9.5 mm) • Pesha pa kunjat e kokës: 0.11 oz (3.1 g) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo… próximamente un vídeo más detallado…
Komponentët që kemi përdorur kanë qenë më poshtë.
Një pjesë e rrumbullakët e metakrilatit. (Ju mund të përdorni çdo dizajn, masat tona bazë mjaftojnë për ta vendosur tasin me kokë poshtë).
1 tas për mëngjes (përdoret për të përqendruar robotin në linjë).
2 rrota të një lodre të ricikluar.
2 motorë me specifikimet e mëposhtme:
Specifikimet (Për 6V): Përmasat: 26 x 10 x 12 mm Raporti i zvogëluesit: 30: 1 Diametri i boshtit: 3mm (me brazdë mbyllëse) Tensioni nominal: 6Vdc (mund të funksionojë midis 3 deri në 9Vdc) Shpejtësia e kthesës pa ngarkesë: 1000rpm Konsumi pa ngarkesë: 120mA (1600mA me ngarkesë) Çift rrotullues: 0.6kg / cm (max) Pesha: 10 gram
Lidhja e dyqanit online:
1 bord Arduino UNO (i ricikluar nga një projekt i vjetër)
1 mburojë për motorët Adafruit v2.3:
1 Një mbajtës i baterisë me 8 bateri AAA (ne nuk përdorim 2 furnizime me energji elektrike).
6 vida dhe arra për t'u bashkuar me elementët siç shihet në imazh
fllanxha për motorët, një gome elastike për të mbajtur mbajtësen e baterisë dhe një copë një fletë plastike për bazën e mbajtësit të baterisë.
1 grup sensorë QTR-8RC me karakteristikat e mëposhtme;
Specifikimet për grupin e sensorit të reflektimit QTR-8x • Përmasat: 2.95 "x 0.5" • Tensioni i funksionimit: 3.3-5.0 V • Rryma e furnizimit: 100 mA • Formati i daljes për QTR-8A: 8 tensione analoge që variojnë nga 0 V në tensionin e furnizuar • Formati i daljes për QTR-8RC: 8 sinjale dixhitale të pajtueshme me I / O që mund të lexohen si një impuls i lartë i caktuar me kohë • Distanca optimale e ndijimit: 0.125 "(3 mm) • Distanca maksimale e rekomanduar e ndijimit për QTR-8A: 0.25" (6 mm) • Distanca maksimale e rekomanduar e ndijimit për QTR-8RC: 0.375 "(9.5 mm) • Pesha pa kunjat e kokës: 0.11 oz (3.1 g) Mund ta gjeni në:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Mblidhni gjithçka … së shpejti një video më të detajuar …
Hapi 2: Hapi 2: Frymëzimi
Para probar el funcionamiento del los
motores hemos seguido esta ayuda del blog www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafr…
Ju mund të rifilloni një lëvizje të ndryshme të motorëve që mbrojnë mburojën.
Për kalibrin e sensorit QTR-8RC ju mund të përdorni një tutorial
Y un ultimo enlace que os puede ayudar es este udhëzues;
www.instructables.com/id/Arduino-based-lin…
Për të testuar performancën e motorëve ne kemi ndjekur këtë mbështetje në blog www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Shtë një përmbledhje shumë e mirë e motorëve të ndryshëm që kontrollon kjo mburojë.
Për të kalibruar sensorin QTR-8RC mund të ndiqni mësimin e
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
Dhe një lidhje e fundit që mund t'ju ndihmojë është kjo e udhëzueshme;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Hapi 3: Hapi 3: Kodi
las conexiones entre el array de
sensores y las placas las hicimos de la siguiente manera:
El Led ON va al pin dixhitale 12
Los 8 sensores van desde el
número 1 al pin 8
numër 2 në pin 9
numër 3 në pin 2
numër 4 në pin 3
numër 5 në pin 4
numër 6 në pin 5
número 7 në pin 6
número 8 në pin 7
El código va sin repasarlo (se aceptan sugerencias)
#përfshi
#përfshi
#përfshi
#përfshi
// Krijoni objektin e mburojës motorike me adresën e paracaktuar I2C
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Ose, krijojeni atë me një adresë të ndryshme I2C (thoni për grumbullimin)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Zgjidhni cilin 'port' M1, M2, M3 ose M4. Në këtë rast, M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// Ju gjithashtu mund të bëni një motor tjetër në portin M2
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Ndryshoni vlerat e mëposhtme për t'iu përshtatur motorëve të robotit tuaj, peshës, llojit të rrotës, etj.
#përcakto PK.2
#përcakto KD 5
#përcakto M1_DEFAULT_SPEED 50
#përcakto M2_DEFAULT_SPEED 50
#përcakto M1_MAX_SPEED 70
#përcakto M2_MAX_SPEED 70
#përcaktoSIDENSIN_MES MIDDLE 4
#përcakto NUM_SENSORS 8 // numri i sensorëve të përdorur
#define TIMEOUT 2500 // na pret 2500 që daljet e sensorit të ulen
#define EMITTER_PIN 12 // emetuesi kontrollohet nga kunja dixhitale 2
#define DEBUG 0 // vendoseni në 1 nëse nevojitet dalje serike e korrigjimit
QTRSensorsRC qtrrc ((shenja pa shenjë ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, KOHA, EMITTER_PIN);
sensori int i pa firmosur Vlerat [NUM_SENSORS];
void setup ()
{
vonesa (1000);
manual_kalibrimi ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int integral = 0;
lak void ()
{
Serial.filloj (9600); // vendosni bibliotekën serike në 9600 bps
Serial.println ("Adafruit Motorshield v2 - Test Motor DC!");
AFMS.filloj (); // krijoni me frekuencën e paracaktuar 1.6KHz
//AFMS.filloj (1000); // OSE me një frekuencë të ndryshme, të themi 1KHz
// Vendosni shpejtësinë për të filluar, nga 0 (fikur) në 255 (shpejtësia maksimale)
motor1-> setSpeed (70);
motor1-> vrapim (PARA);
// ndizni motorin
motor1-> vrapim (LIRIM);
motor2-> setSpeed (70);
motor2-> vrapim (PARA);
// ndizni motorin
motor2-> vrapim (LIRIM);
sensorë int të panënshkruar [5];
int pozicion = qtrrc.readLine (sensorë);
gabimi int = pozicioni - 2000;
int motorSpeed = KP * gabim + KD * (gabim - lastError);
lastError = gabim;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// vendosni shpejtësitë e motorit duke përdorur dy ndryshoret e shpejtësisë së motorit më lart
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
nëse (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // kufizoni shpejtësinë maksimale
nëse (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // kufizoni shpejtësinë maksimale
nëse (motor1speed <0) motor1speed = 0; // mbajeni motorin mbi 0
nëse (motor2speed <0) motor2speed = 0; // mbani shpejtësinë e motorit mbi 0
motor1-> setSpeed (motor1speed); // vendosni shpejtësinë e motorit
motor2-> setSpeed (motor2speed); // vendosni shpejtësinë e motorit
motor1-> vrapim (PARA);
motor2-> vrapim (PARA);
}
void manual_calibration () {
int i;
për (i = 0; i <250; i ++) // kalibrimi do të marrë disa sekonda
{
qtrrc.kalibroni (QTR_EMITTERS_ON);
vonesa (20);
}
nëse (DEBUG) {// nëse është e vërtetë, gjeneroni të dhëna të sensorit përmes daljes serike
Serial.filloj (9600);
për (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.kalibruarMinimumOn );
Serial.print ('');
}
Serial.println ();
për (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.kalibruarMaksimumOn );
Serial.print ('');
}
Serial.println ();
Serial.println ();
}
}
Bueno a ver que tal se nos da este proyecto "express" en la competición del OSHWDEM.
Recommended:
Ndjekësi i linjës HoGent - Syntheseprojekt: 8 hapa
Folfollower HoGent - Syntheseproject: Ju lutemi të lexoni një projekt të tillë që të krijoni një linjë ndjekëse të linjës. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Ndjekësi i linjës në Tinkercad: 3 hapa
Ndjekësi i linjës në Tinkercad: Roboti i Ndjekësit A-Line, siç sugjeron emri, është një automjet i drejtuar automatikisht, i cili ndjek një vijë vizuale të ngulitur në dysheme ose tavan. Zakonisht, linja vizuale është rruga në të cilën shkon roboti ndjekës i linjës dhe do të jetë një vijë e zezë
UCL Embedded - B0B ndjekësi i linjës: 9 hapa
UCL Embedded-B0B the Linefollower: Ky është B0B.*B0B është një makinë e përgjithshme e kontrolluar nga radio, që shërben përkohësisht në bazë të një roboti që ndjek linjën. Ashtu si shumë robotë që ndjekin linjën para tij, ai do të bëjë çmos për të qëndruar aa vija e shkaktuar nga një kalim midis dyshemesë dhe ak
Pjesa 3: GPIO: Kuvendi i ARM-së: Ndjekësi i linjës: TI-RSLK: 6 hapa
Pjesa 3: GPIO: Asambleja e ARM-së: Ndjekësi i linjës: TI-RSLK: Përshëndetje. Ky është kësti tjetër ku ne vazhdojmë të përdorim asamblenë ARM (në vend të një gjuhe të nivelit më të lartë). Frymëzimi për këtë Instructable është Lab 6 i Sistemit të Mësimit të Sistemit Robotik të Texas Instruments, ose TI-RSLK. Ne do të përdorim mikrofonin
Ndjekësi i Linjës GoPiGo3: 8 hapa
Ndjekësi i Linjës GoPiGo3: Në këtë tutorial, ne po marrim një ndjekës të linjës dhe e përdorim atë në GoPiGo3 për ta bërë atë të ndjekë një vijë të zezë