INHOUDSOPGAWE:
Video: TA-ZON-BOT (lynvolgers): 3 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
TA-ZON-BOT
El tazón siguelineas
Hemos realizado este robot siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers).
Ons kan ook 'n uitdruklike deelname aan 'n deelnemer aan OSHWDEN de A Coruña gee.
oshwdem.org/2017/06/oshwdem-2017/
traductor google
TA-ZON-BOT
Die bak volg lyn
Ons het gemaak dat hierdie robot u volg met die hulp van ons studente, (dankie minimakers).
Dit was 'n uitdruklike projek om deel te neem aan die OSHWDEN van A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
Google vertaler
Stap 1: Stap 1: Komponente
Los komponente wat ons kan gebruik
hy sido los siguientes.
Una pieza redonda de metacrilato. (Ons kan dit meer gereeld gebruik, maar dit is 'n basiese basis vir 'n kolocar el tazón bocabajo).
1 Tazón de desayuno (que sirve para concentrar al robot en la linea).
2 ruedas de un juguete reciclado.
2 spesies met die volgende spesifikasies:
Spesifikasies (Para 6V):
Afmetings: 26 x 10 x 12 mm
Verhoudingsverhouding: 30: 1
Afmetings: 3 mm (con ranura de bloqueo)
Nominale volume: 6Vcc (funksie tussen 3 en 9Vcc)
Snelheid van die motor: 1000 rpm
Verbruik: 120mA (1600mA)
Wringkrag: 0,6 kg/cm (maksimum)
Pesos: 10 gram
Skep die tyd aanlyn:
1 plek Arduino UNO (reciclada de un proyecto antiguo)
1 skild vir motors Adafruit v2.3:
1 Een pilas van 8 pilas AAA (geen gebruik van 2 fuentes de alimentación).
6 tornillos y tuercas para unir los elementos como se ve en la image
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 reeks sensore QTR-8RC con las siguientes características;
Spesifikasies vir die QTR-8x-refleksiesensoropstelling • Afmetings: 2,95 "x 0,5" • Uitsetformaat vir die QTR-8RC: 8 digitale I/O-versoenbare seine wat as 'n tydsberekende hoë pols gelees kan word • Optimale waarnemingsafstand: 0,125 "(3 mm) • Maksimum aanbevole waarnemingsafstand vir die QTR-8A: 0,25" (6 mm) • Maksimum aanbevole meetafstand vir die QTR-8RC: 0,375 "(9,5 mm) • Gewig sonder koppenne: 3,11 g (0.11 oz) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Soek ons…
Die komponente wat ons gebruik het, was die volgende.
'N Ronde stuk metakrylaat. (U kan enige ontwerp gebruik; ons basis meet net genoeg om die bak onderstebo te plaas).
1 Ontbytbak (gebruik om die robot op die lyn te konsentreer).
2 wiele van 'n herwinde speelding.
2 enjins met die volgende spesifikasies:
Spesifikasies (vir 6V): afmetings: 26 x 10 x 12 mm Verhouding van die verkleiner: 30: 1 asdiameter: 3 mm (met vergrendelingsgroef) Nominale spanning: 6Vdc (kan tussen 3 en 9Vdc werk) Draaisnelheid sonder las: 1000 rpm Verbruik sonder vrag: 120mA (1600mA met las) Wringkrag: 0.6kg / cm (maksimum) Gewig: 10 gram
Skakel aanlyn winkel:
1 Arduino UNO -bord (herwin uit 'n ou projek)
1 skild vir Adafruit v2.3 -enjins:
1 'n Batteryhouer van 8 AAA -batterye (ons gebruik nie 2 kragbronne nie).
6 skroewe en moere om die elemente aan te sluit soos in die prentjie gesien
flense vir die motors, 'n elastiese rubber om die batteryhouer vas te hou en 'n stuk plastiek vir die basis van die batteryhouer.
1 reeks QTR-8RC-sensors met die volgende eienskappe;
Spesifikasies vir die QTR-8x-refleksiesensoropstelling • Afmetings: 2,95 "x 0,5" • Uitsetformaat vir die QTR-8RC: 8 digitale I / O-versoenbare seine wat gelees kan word as 'n tydsberekende hoë pols • Optimale waarnemingsafstand: 0,125 "(3 mm) • Maksimum aanbevole waarnemingsafstand vir die QTR-8A: 0,25" (6 mm) • Maksimum aanbevole waarnemingsafstand vir die QTR-8RC: 0,375 "(9,5 mm) • Gewig sonder kopstukke: 0,11 oz (3,1 g) U kan dit vind in:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Monteer alles … binnekort 'n meer gedetailleerde video …
Stap 2: Stap 2: Inspirasie
Para probar el funcionamiento del los
motor's hemos seguido esta ayuda del blog www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafr…
Dit is 'n resumen wat die verskillende motors kan kontroleer.
Met die QTR-8RC-sensor kan u die tutoriaal ken
U kan uiteindelik leer dat ons dit kan leer;
www.instructables.com/id/Arduino-based-lin…
Om die prestasie van die enjins te toets, het ons hierdie blogondersteuning www.programarfacil.com gevolg
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Dit is 'n baie goeie opsomming van die verskillende enjins wat hierdie skild beheer.
Om die QTR-8RC-sensor te kalibreer, kan u die handleiding volg van
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
En 'n laaste skakel wat u kan help, is hierdie instruksionele;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Stap 3: Stap 3: Kode
las conexiones entre el array de
Sensors en las placas las hicimos de la siguiente manera:
El Led ON digitaal 12
Los 8 sensores van desde el
nommer 1 van pen 8
nommer 2 of pen 9
nommer 3 of pen 2
nommer 4 of pen 3
nommer 5 of pin 4
nommer 6 of pin 5
nommer 7 of pen 6
nommer 8 of pen 7
El código va sin repasarlo (se aceptan sugerencias)
#insluit
#insluit
#insluit
#insluit
// Skep die motorskermvoorwerp met die standaard I2C -adres
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Of, skep dit met 'n ander I2C -adres (sê vir stapel)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Kies watter 'poort' M1, M2, M3 of M4. In hierdie geval, M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// U kan ook nog 'n motor op poort M2 maak
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Verander die onderstaande waardes volgens u motor se motors, gewig, wieltipe, ens.
#definieer KP.2
#definieer KD 5
#definieer M1_DEFAULT_SPEED 50
#definieer M2_DEFAULT_SPEED 50
#definieer M1_MAX_SPEED 70
#definieer M2_MAX_SPEED 70
#definieer MIDDLE_SENSOR 4
#definieer NUM_SENSORS 8 // aantal sensors wat gebruik word
#define TIMEOUT 2500 // wag vir 2500 ons totdat sensoruitsette laag word
#define EMITTER_PIN 12 // emitter word beheer deur digitale pen 2
#define DEBUG 0 // gestel op 1 indien reeksopsporingopsporing nodig is
QTRSensorsRC qtrrc ((ongetekende karakter ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
ongetekende int sensorWaardes [NUM_SENSORS];
leemte opstelling ()
{
vertraging (1000);
handleiding_kalibrasie ();
stel_motors (0, 0);
}
int lastError = 0;
int last_proportioneel = 0;
int integraal = 0;
leemte lus ()
{
Serial.begin (9600); // Stel die seriële biblioteek op teen 9600 bps
Serial.println ("Adafruit Motorshield v2 - DC Motortoets!");
AFMS.begin (); // skep met die standaardfrekwensie 1.6KHz
//AFMS.begin(1000); // OF met 'n ander frekwensie, sê 1KHz
// Stel die beginsnelheid in, van 0 (af) tot 255 (maksimum spoed)
motor1-> setSpeed (70);
motor1-> hardloop (VOORUIT);
// skakel motor aan
motor1-> hardloop (RELEASE);
motor2-> setSpeed (70);
motor2-> hardloop (VOORUIT);
// skakel motor aan
motor2-> hardloop (RELEASE);
ongetekende int sensors [5];
int posisie = qtrrc.readLine (sensors);
int fout = posisie - 2000;
int motorSpeed = KP * fout + KD * (fout - lastError);
lastError = fout;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// stel motorsnelhede in met behulp van die twee motorsnelheidsveranderlikes hierbo
set_motors (leftMotorSpeed, rightMotorSpeed);
}
leeg stel_motors (int motor1speed, int motor2speed)
{
as (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // beperk spoed
as (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // beperk spoed
as (motor1snelheid <0) motor1snelheid = 0; // hou motor bo 0
as (motor2speed <0) motor2speed = 0; // hou motorsnelheid bo 0
motor1-> setSpeed (motor1speed); // stel motorsnelheid in
motor2-> setSpeed (motor2speed); // stel motorsnelheid in
motor1-> hardloop (VOORUIT);
motor2-> hardloop (VOORUIT);
}
leegte handmatige_kalibrasie () {
int ek;
vir (i = 0; i <250; i ++) // sal die kalibrasie 'n paar sekondes neem
{
qtrrc.kalibreer (QTR_EMITTERS_ON);
vertraging (20);
}
as (DEBUG) {// indien waar, genereer sensordata via seriële uitvoer
Serial.begin (9600);
vir (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
vir (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMaximumOn );
Serial.print ('');
}
Serial.println ();
Serial.println ();
}
}
Ons kan nie 'n “uitdrukking” in die kompetisie van OSHWDEM hê nie.
Aanbeveel:
Lynvolgers op Tinkercad: 3 stappe
Line Follower op Tinkercad: A-Line Follower Robot, soos die naam aandui, is 'n outomatiese geleide voertuig wat 'n visuele lyn volg wat op die vloer of plafon ingebed is. Gewoonlik is die visuele lyn die pad waarin die lynvolgrobot gaan, en dit sal 'n swart lyn op 'n hoek wees
PID -lynvolgers Atmega328P: 4 stappe
PID Line Follower Atmega328P: INLEIDING Hierdie instruksie handel oor die maak van 'n doeltreffende en betroubare Line Follower met PID (proporsioneel-integraal-afgeleide) Control (Mathematical) in sy brein (Atmega328P)
Eenvoudige lynvolgers met behulp van Arduino: 5 stappe
Eenvoudige lynvolgers met behulp van Arduino: Arduino lynvolgersrobot In hierdie tutoriaal bespreek ons die werking van 'n Arduino -lynvolgende robot wat 'n swart lyn op 'n wit agtergrond sal volg en die regte draai sal neem wanneer dit krommes in sy pad bereik. Arduino Line Follower Co
GiggleBot -lynvolgers met behulp van Python: 5 stappe
GiggleBot-lynvolgers met behulp van Python: Hierdie keer programmeer ons in MicroPython die Dexter Industries GiggleBot om 'n swart lyn te volg met behulp van die ingeboude lynvolgersensor. Die GiggleBot moet gekoppel word aan 'n BBC micro: bit sodat dit kan behoorlik beheer word.As
Lynvolgers met behulp van Arduino - Maklike DIY -projek: 6 stappe
Lynvolgers met behulp van Arduino | Maklike selfdoenprojek: in hierdie tutoriaal maak ons 'n lynvolger met behulp van ArduinoParts Needed: Chasis: BO Motors and Wheels: https://amzn.to/2Yjh9I7 L298n motorbestuurder: https://amzn.to/2IWNMWF IR -sensor : https://amzn.to/2FFtFu3 Arduino Uno: https://amzn.to/2FyTrjF J