Turinys:
Video: TA-ZON-BOT (linijos sekėjas): 3 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
TA-ZON-BOT
El tazón siguelineas
Hemos realizado este robot siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers).
„Haido“ir „proyecto express“, skirtas dalyvavimui OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traductor google
TA-ZON-BOT
Dubuo eina tokia linija
Padėjome šį robotą sekti paskui jus padedant mūsų studentams (ačiū minimaliems kūrėjams).
Tai buvo skubus projektas dalyvauti A Coruña OSHWDEN.
oshwdem.org/2017/06/oshwdem-2017/
Google vertėjas
1 žingsnis: 1 žingsnis: komponentai
Los komponentai yra 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 koncentrar al robot en la linea).
2 ruedas de un juguete reciclado.
2 konkretūs motociklai:
Konkretus (6V punktas):
Matmenys: 26 x 10 x 12 mm
Reduktoriaus santykis: 30: 1
Išorinis skersmuo: 3 mm (con ranura de bloqueo)
Nominali įtampa: 6 Vcc (3–9 Vcc)
Greitis greitis: 1000 aps./min
Sumažinta apkrova: 120mA (1600mA su kroviniu)
Sukimo momentas: 0,6 kg/cm (maks.)
Pesas: 10 gramų
Pridėkite prie interneto internete:
1 vieta Arduino UNO (reciclada de un proyecto antiguo)
1 skydas „Adafruit v2.3“moto:
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 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 matrica QTR-8RC, susidedanti iš charakteringų charakteristikų;
„QTR-8x Reflectance Sensor Array“specifikacijos • Matmenys: 2,95 "x 0,5" • QTR-8RC išvesties formatas: 8 skaitmeniniai įvesties/išvesties signalai, kuriuos galima nuskaityti kaip didelio laiko impulsą; • Optimalus jutimo atstumas: 3 mm (0,125 colio) • Maksimalus rekomenduojamas QTR-8A jutimo atstumas: 0,25 colio (6 mm) • Didžiausias rekomenduojamas QTR-8RC jutimo atstumas: 0,375 colio (9,5 mm) • Svoris be kaiščių: 3,1 g (0,11 uncijos) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Pakartotinis veiksmas… promiksas ir vaizdo įrašas dar vienas…
Mūsų naudojami komponentai buvo šie.
Apvalus metakrilato gabalas. (Galite naudoti bet kokį dizainą, mūsų bazė yra tiek, kad dubenį būtų galima apversti aukštyn kojomis).
1 Pusryčių dubuo (naudojamas robotui sutelkti ant linijos).
2 ratai perdirbto žaislo.
2 varikliai su šiomis specifikacijomis:
Specifikacijos (6 V): Matmenys: 26 x 10 x 12 mm Reduktoriaus santykis: 30: 1 Veleno skersmuo: 3 mm (su fiksavimo grioveliu) Nominali įtampa: 6 Vdc (gali veikti nuo 3 iki 9 V DC) Sukimo greitis be apkrovos: 1000 aps / min be apkrovos: 120 mA (1600 mA su apkrova) Sukimo momentas: 0,6 kg / cm (maks.) Svoris: 10 gramų
Internetinės parduotuvės nuoroda:
1 „Arduino UNO“plokštė (perdirbta iš seno projekto)
1 skydas „Adafruit v2.3“varikliams:
1 8 AAA baterijų laikiklis (nenaudojame 2 maitinimo šaltinių).
6 varžtai ir veržlės elementams sujungti, kaip parodyta paveikslėlyje
variklių flanšai, elastinga guma akumuliatoriaus laikikliui laikyti ir plastikinio lakšto gabalas akumuliatoriaus laikiklio pagrindui.
1 QTR-8RC jutiklių, turinčių šias charakteristikas, masyvas;
„QTR-8x Reflectance Sensor Array“specifikacijos • Matmenys: 2,95 "x 0,5" • QTR-8RC išvesties formatas: 8 skaitmeniniai įvesties / išvesties signalai, kuriuos galima nuskaityti kaip didelio laiko impulsą; • Optimalus jutimo atstumas: 3 mm (0,125 colio) • Maksimalus rekomenduojamas QTR-8A jutimo atstumas: 0,25 colio (6 mm) • Didžiausias rekomenduojamas QTR-8RC jutimo atstumas: 0,375 colio (9,5 mm) • Svoris be kaiščių: 3,1 g (0,11 uncijos).
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Surinkite viską… netrukus išsamesnis vaizdo įrašas…
2 veiksmas: 2 žingsnis: įkvėpimas
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.
Kalibruojamo jutiklio QTR-8RC pamokų mišinys
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Norėdami patikrinti variklių našumą, sekėme šį tinklaraščio palaikymą www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Tai labai gera įvairių variklių, kuriuos valdo šis skydas, santrauka.
Norėdami kalibruoti QTR-8RC jutiklį, vadovaukitės pamoka
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
Ir paskutinė nuoroda, kuri jums gali padėti, yra ši pamokoma;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
3 žingsnis: 3 žingsnis: kodas
las conexiones entre el array de
sensores y las placas las hicimos de la siguiente manera:
„El Led ON“skaitmeninis 12
Los 8 sensores van desde el
número 1 al pin 8
número 2 ar kaištis 9
número 3 al 2
número 4 al 3
número 5 al 4
número 6 al 5
número 7 al 6
número 8 al pin 7
El Código va sin repasarlo (se aceptan sugerencias)
#įtraukti
#įtraukti
#įtraukti
#įtraukti
// Sukurkite variklio skydo objektą su numatytuoju I2C adresu
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Arba sukurkite jį kitu I2C adresu (tarkime, kraunant)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Pasirinkite, kuris „prievadas“yra M1, M2, M3 ar M4. Šiuo atveju M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// Taip pat galite pagaminti kitą variklį M2 prievade
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Pakeiskite toliau nurodytas vertes, kad jos atitiktų jūsų roboto variklius, svorį, rato tipą ir kt.
#define KP.2
#define KD 5
#define M1_DEFAULT_SPEED 50
#define M2_DEFAULT_SPEED 50
#define M1_MAX_SPEED 70
#define M2_MAX_SPEED 70
#define MIDDLE_SENSOR 4
#define NUM_SENSORS 8 // naudojamų jutiklių skaičius
#define TIMEOUT 2500 // laukia 2500 m., kol jutiklių išvestys sumažės
#define EMITTER_PIN 12 // spinduliuotę valdo 2 skaitmeninis kaištis
#define DEBUG 0 // jei reikia serijinio derinimo išvesties, nustatykite 1
QTRSensorsRC qtrrc ((unsigned char ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues [NUM_SENSORS];
negaliojanti sąranka ()
{
vėlavimas (1000);
rankinis_kalibravimas ();
„set_motors“(0, 0);
}
int lastError = 0;
int paskutinis_proporcinis = 0;
int integralas = 0;
tuštumos kilpa ()
{
Serial.begin (9600); // nustatyti serijos biblioteką esant 9600 bps
Serial.println ("" Adafruit Motorshield v2 - DC Motor test! ");
AFMS.begin (); // kurti numatytuoju dažniu 1,6KHz
//AFMS.begin(1000); // ARBA su kitu dažniu, tarkime, 1KHz
// Nustatykite paleidimo greitį nuo 0 (išjungtas) iki 255 (maksimalus greitis)
motor1-> setSpeed (70);
motor1-> paleisti (į priekį);
// įjungti variklį
motor1-> run (RELEASE);
motor2-> setSpeed (70);
variklis2-> važiuoti (Į priekį);
// įjungti variklį
motor2-> run (RELEASE);
nepasirašyti int jutikliai [5];
int pozicija = qtrrc.readLine (jutikliai);
int klaida = pozicija - 2000;
int motorSpeed = KP * klaida + KD * (klaida - paskutinė klaida);
lastError = klaida;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// nustatykite variklio greitį naudodami du aukščiau pateiktus variklio greičio kintamuosius
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // apriboti didžiausią greitį
if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // apriboti didžiausią greitį
if (motor1speed <0) motor1speed = 0; // laikyti variklį aukščiau 0
if (motor2speed <0) motor2speed = 0; // išlaikyti variklio greitį virš 0
motor1-> setSpeed (motor1speed); // nustatyti variklio greitį
motor2-> setSpeed (motor2speed); // nustatyti variklio greitį
motor1-> paleisti (į priekį);
variklis2-> važiuoti (Į priekį);
}
void manual_calibration () {
int i;
(i = 0; i <250; i ++) // kalibravimas užtruks kelias sekundes
{
qtrrc.calibrate (QTR_EMITTERS_ON);
vėlavimas (20);
}
if (DEBUG) {// jei tiesa, generuokite jutiklio duomenis per serijinę išvestį
Serial.begin (9600);
(int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
(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 Competició del OSHWDEM.
Rekomenduojamas:
Linijos sekėjas „HoGent“- „Synthese“projektas: 8 žingsniai
Linijos sekėjas HoGent - Syntheseproject: Voor het vak syntheseproject kregen we de opdracht een linefollower te maken. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
„Tinkercad“linijos sekėjas: 3 žingsniai
„Tinkercad“linijos sekėjas: „A-Line Follower Robot“, kaip rodo pavadinimas, yra automatizuota transporto priemonė, valdoma pagal vizualią liniją, įterptą į grindis ar lubas. Paprastai vaizdinė linija yra kelias, kuriuo eina linijos sekėjas robotas, ir tai bus juoda linija
Įterptas UCL - linijos sekėjas B0B: 9 žingsniai
„UCL Embedded“-B0B „Linefollower“: tai yra B0B.*B0B yra bendras radijo bangomis valdomas automobilis, laikinai aptarnaujantis liniją sekantį robotą. Kaip ir daugelis prieš jį sekančių robotų, jis padarys viską, kad išliktų linija, kurią sukelia perėjimas tarp grindų ir kintamosios srovės
PID linijos sekėjas „Atmega328P“: 4 žingsniai
PID linijos sekėjas „Atmega328P“: ĮVADAS Ši instrukcija skirta efektyviam ir patikimam linijos sekėjui, kurio smegenyse veikia „PID“(proporcinio integralo darinio) kontrolė (matematinė) („Atmega328P“). Linijos sekėjas yra autonominis robotas, kuris seka vieną ar daugiau
Paprastas linijos sekėjas naudojant „Arduino“: 5 žingsniai
Paprastas linijos sekėjas naudojant „Arduino“: „Arduino“linijos sekimo robotas „Arduino Line“sekimo kompanija