Kazalo:
Video: TA-ZON-BOT (Line Follower): 3 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
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 participar en la OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traductor google
TA-ZON-BOT
Posoda sledi vrstici
Ta robot vam je sledil s pomočjo naših študentov (hvala minimakerjem).
To je bil ekspresni projekt za sodelovanje v OSHWDEN A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
Google prevajalnik
1. korak: 1. korak: Komponente
Vse komponente, ki jih uporabljate
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 motores con las siguientes especificaciones:
Specifikacije (odstavek 6V):
Dimenzije: 26 x 10 x 12 mm
Razmerje de la reductora: 30: 1
Premer delca: 3 mm (con ranura de bloqueo)
Nazivna napetost: 6Vcc (puede funcionar entre 3 a 9Vcc)
Hitrost prenosa energije: 1000rpm
Poraba energije: 120 mA (1600 mA s kargo)
Navor: 0,6 kg/cm (max)
Peso: 10 gramov
Enlace de tienda na spletu:
1 plošča Arduino UNO (reciclada de un proyecto antiguo)
1 ščit za motor Adafruit v2.3:
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 la imen
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 matrika senzorjev QTR-8RC con las siguientes características;
Specifikacije matrike senzorja odsevnosti QTR-8x • Mere: 2,95 "x 0,5" • Delovna napetost: 3,3-5,0 V • Napajalni tok: 100 mA • Izhodni format za QTR-8A: 8 analognih napetosti v razponu od 0 V do napajane napetosti • Izhodni format za QTR-8RC: 8 digitalnih V/I-kompatibilnih signalov, ki jih je mogoče prebrati kot časovno omejen visok impulz • Optimalna razdalja zaznavanja: 0,125 "(3 mm) • Največja priporočena razdalja zaznavanja za QTR-8A: 0,25" (6 mm) • Največja priporočena razdalja zaznavanja za QTR-8RC: 9,5 mm (0,375 palca) • Teža brez zatičev glave: 3,1 g (0,11 oz)
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo… próximamente un vídeo más detalado…
Komponente, ki smo jih uporabili, so naslednje.
Okrogel kos metakrilata. (Uporabite lahko katero koli zasnovo, naša osnova meri ravno toliko, da skledo postavite na glavo).
1 Posoda za zajtrk (uporablja se za koncentriranje robota na linijo).
2 kolesi reciklirane igrače.
2 motorja z naslednjimi specifikacijami:
Tehnični podatki (za 6V): Mere: 26 x 10 x 12 mm Razmerje reduktorja: 30: 1 Premer gredi: 3 mm (z zapornim utorom) Nazivna napetost: 6Vdc (lahko deluje med 3 do 9Vdc) Hitrost obračanja brez obremenitve: 1000 vrt / min Poraba brez obremenitve: 120mA (1600mA z obremenitvijo) Navor: 0,6 kg / cm (max) Teža: 10 gramov
Povezava do spletne trgovine:
1 Arduino UNO plošča (reciklirano iz starega projekta)
1 ščit za motorje Adafruit v2.3:
1 Držalo za baterije 8 AAA baterij (ne uporabljamo 2 napajalnikov).
6 vijakov in matic za povezovanje elementov, kot je prikazano na sliki
prirobnice za motorje, elastična guma za držanje akumulatorja in kos pločevine za podlago nosilca akumulatorja.
1 niz senzorjev QTR-8RC z naslednjimi značilnostmi;
Specifikacije matrike senzorja odsevnosti QTR-8x • Mere: 2,95 "x 0,5" • Delovna napetost: 3,3-5,0 V • Napajalni tok: 100 mA • Izhodni format za QTR-8A: 8 analognih napetosti v razponu od 0 V do napajane napetosti • Izhodni format za QTR-8RC: 8 digitalnih V / I-kompatibilnih signalov, ki jih je mogoče prebrati kot časovno omejen visok impulz • Optimalna razdalja zaznavanja: 0,125 "(3 mm) • Največja priporočena razdalja zaznavanja za QTR-8A: 0,25" (6 mm) • Največja priporočena razdalja zaznavanja za QTR-8RC: 0,375 "(9,5 mm) • Teža brez zatičev glave: 3,1 g
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Vse sestavite … kmalu podrobnejši video …
2. korak: 2. korak: Navdih
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.
Za kalibracijo senzorja QTR-8RC si oglejte navodila za uporabo
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Za preizkus delovanja motorjev smo sledili podpori za spletni dnevnik www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
To je zelo dober povzetek različnih motorjev, ki jih nadzoruje ta ščit.
Če želite umeriti senzor QTR-8RC, sledite navodilom
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
In zadnja povezava, ki vam lahko pomaga, je ta navodila;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
3. korak: 3. korak: Koda
las conexiones entre el array de
sensores y las placas las hicimos de la siguiente manera:
El Led ON digitalni va al pin 12
Los 8 senzorjev van desde el
številka 1 ali 8 pin
numero 2 ali pin 9
numero 3 ali pin 2
numero 4 ali pin 3
numero 5 ali pin 4
numero 6 ali pin 5
numero 7 ali pin 6
numero 8 ali pin 7
El código va sin repasarlo (se aceptan sugerencias)
#vključi
#vključi
#vključi
#vključi
// Ustvarite objekt motornega ščita s privzetim naslovom I2C
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Ali pa ga ustvarite z drugim naslovom I2C (recimo za zlaganje)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Izberite, katera 'vrata' M1, M2, M3 ali M4. V tem primeru M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// Na vratih M2 lahko naredite tudi drug motor
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Spodnje vrednosti spremenite tako, da ustrezajo motorjem, masi, vrsti koles itd.
#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 // število uporabljenih senzorjev
#define TIMEOUT 2500 // čaka na 2500 us, da se izhodi senzorjev znižajo
#define EMITTER_PIN 12 // oddajnik krmili digitalni pin 2
#define DEBUG 0 // nastavljeno na 1, če je potreben izhod za serijsko odpravljanje napak
QTRSensorsRC qtrrc ((brez podpisanega znaka ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
nepodpisani int sensorValues [NUM_SENSORS];
void setup ()
{
zamuda (1000);
manual_calibration ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int integral = 0;
void loop ()
{
Serial.begin (9600); // nastavitev serijske knjižnice pri 9600 bps
Serial.println ("Adafruit Motorshield v2 - preizkus enosmernega motorja!");
AFMS.begin (); // ustvarjanje s privzeto frekvenco 1,6KHz
//AFMS.begin(1000); // ALI z drugo frekvenco, recimo 1KHz
// Nastavite hitrost za zagon, od 0 (izklop) do 255 (največja hitrost)
motor1-> setSpeed (70);
motor1-> tek (NAPREJ);
// vklop motorja
motor1-> teči (RELEASE);
motor2-> setSpeed (70);
motor2-> tek (NAPREJ);
// vklop motorja
motor2-> teči (RELEASE);
nepodpisani int senzorji [5];
int position = qtrrc.readLine (senzorji);
int napaka = položaj - 2000;
int motorSpeed = KP * napaka + KD * (napaka - lastError);
lastError = napaka;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// nastavimo hitrosti motorja z uporabo zgornjih dveh spremenljivk hitrosti motorja
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
če (hitrost motorja> M1_MAX_SPEED) hitrost motorja = M1_MAX_SPEED; // omeji največjo hitrost
če je (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // omeji največjo hitrost
if (hitrost motorja <0) hitrost motorja = 0; // motor naj bo nad 0
if (motor2speed <0) motor2speed = 0; // ohranite hitrost motorja nad 0
motor1-> setSpeed (hitrost motorja1); // nastavite hitrost motorja
motor2-> setSpeed (motor2speed); // nastavite hitrost motorja
motor1-> tek (NAPREJ);
motor2-> tek (NAPREJ);
}
void manual_calibration () {
int i;
for (i = 0; i <250; i ++) // kalibracija bo trajala nekaj sekund
{
qtrrc.calibrate (QTR_EMITTERS_ON);
zamuda (20);
}
if (DEBUG) {// če je res, ustvarite senzorske podatke prek serijskega izhoda
Serial.begin (9600);
za (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
za (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ón del OSHWDEM.
Priporočena:
Line Follower na Tinkercadu: 3 koraki
Line Follower na Tinkercadu: A-Line Follower Robot, kot že ime pove, je avtomatizirano vodeno vozilo, ki sledi vizualni liniji, vgrajeni na tla ali strop. Običajno je vizualna črta pot, po kateri gre robot za sledenje črtam, in bo črna črta na
PID Line Follower Atmega328P: 4 koraki
PID Line Follower Atmega328P: UVOD Ta pouk govori o učinkovitem in zanesljivem Line Followerju s PID (proporcionalno-integralno-izpeljano) kontrolo (matematično), ki teče v njegovih možganih (Atmega328P)
Arduino Line Follower Wallrides tabla za učilnico: 8 korakov (s slikami)
Arduino Line Follower Wallrides Omarica za učilnico: Slediti liniji na tleh je preveč dolgočasno! Na sledilce linij smo poskušali pogledati z drugega zornega kota in jih pripeljati na drugo ravnino - na šolsko tablo. Poglejte, kaj je iz tega nastalo
BrickPi3 Line Follower: 4 koraki
BrickPi3 Line Follower: Tu je projekt, ki prikazuje, kako lahko Dexter Industries Line Follower uporabite za to, da bo robot BrickPi3 sledil liniji
ROBOT LINE FOLLOWER -- ARDUINO NADZOR: 11 korakov (s slikami)
ROBOT LINE FOLLOWER || ARDUINO NADZOR: V TEM NAVODILU POKAŽEM, KAKO SPREMENITI ROBOTSKI AVTOMOBIL (VOZILNIK), DA BODILO ROBOTA