Sadržaj:
Video: TA-ZON-BOT (sljedbenik linije): 3 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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
Zdjela slijedi red
Napravili smo ovog robota koji vas prati uz pomoć naših učenika (hvala minimakerima).
Bio je to ekspresni projekt za sudjelovanje u OSHWDEN -u A Coruñe.
oshwdem.org/2017/06/oshwdem-2017/
Google prevoditelj
Korak 1: Korak 1: Komponente
Lose komponente koje koriste hemos
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:
Especificaciones (stavak 6V):
Dimenzije: 26 x 10 x 12 mm
Omjer de la reductora: 30: 1
Prečnik duljine: 3 mm (con ranura de bloqueo)
Nazivni napon: 6Vcc (puede funcionar entre 3 a 9Vcc)
Velocidad de giro sin carga: 1000 o / min
Potrošnja: 120mA (1600mA sa Carga)
Okretni moment: 0,6 kg/cm (max)
Pezo: 10 grama
Enlace de tienda online:
1 ploča Arduino UNO (reciclada de un proyecto antiguo)
1 štit za motore 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 array de sensores QTR-8RC con las siguientes características;
Specifikacije za niz senzora refleksije QTR-8x • Mjere: 2,95 "x 0,5" • Radni napon: 3,3-5,0 V • Opskrbna struja: 100 mA • Izlazni format za QTR-8A: 8 analognih napona u rasponu od 0 V do napajanog napona • Izlazni format za QTR-8RC: 8 digitalnih I/O-kompatibilnih signala koji se mogu čitati kao tempirani visoki impuls • Optimalna udaljenost sensinga: 0,125 "(3 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8A: 0,25" (6 mm) • Maksimalna preporučena udaljenost senzora za QTR-8RC: 975 mm (0,375 ")
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo… próximamente un vídeo más detalado…
Komponente koje smo koristili bile su sljedeće.
Okrugli komad metakrilata. (Možete koristiti bilo koji dizajn, naša baza mjeri tek toliko da zdjelu postavite naopako).
1 Zdjela za doručak (koristi se za koncentriranje robota na liniju).
2 kotača reciklirane igračke.
2 motora sa sljedećim specifikacijama:
Tehnički podaci (Za 6V): Mjere: 26 x 10 x 12 mm Omjer reduktora: 30: 1 Promjer osovine: 3 mm (sa bravom za zaključavanje) Nominalni napon: 6Vdc (može raditi između 3 do 9Vdc) Brzina okretanja bez opterećenja: 1000 o / min Potrošnja bez opterećenja: 120mA (1600mA s opterećenjem) Okretni moment: 0,6 kg / cm (max) Težina: 10 grama
Veza na internetsku trgovinu:
1 Arduino UNO ploča (reciklirano iz starog projekta)
1 štit za motore Adafruit v2.3:
1 Držač baterija od 8 AAA baterija (ne koristimo 2 izvora napajanja).
6 vijaka i matica za spajanje elemenata kao što je prikazano na slici
prirubnice za motore, elastična guma za držanje držača baterije i komad lista plastike za podnožje držača baterije.
1 niz QTR-8RC senzora sa sljedećim karakteristikama;
Specifikacije za niz senzora refleksije QTR-8x • Mjere: 2,95 "x 0,5" • Radni napon: 3,3-5,0 V • Opskrbna struja: 100 mA • Izlazni format za QTR-8A: 8 analognih napona u rasponu od 0 V do napajanog napona • Izlazni format za QTR-8RC: 8 digitalnih I / O-kompatibilnih signala koji se mogu čitati kao tempirani visoki impuls • Optimalna udaljenost sensinga: 0,125 "(3 mm) • Maksimalna preporučena udaljenost sensinga za QTR-8A: 0,25" (6 mm) • Maksimalna preporučena udaljenost senzora za QTR-8RC: 9,5 mm (0,375 ") • Težina bez igle zaglavlja: 3,1 g
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Skupite sve … uskoro detaljniji video …
Korak 2: Korak 2: Inspiracija
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 kalibracijski senzor QTR-8RC podéis seguir el tutorial de
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Kako bismo testirali performanse motora, pratili smo ovu blog podršku www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
To je vrlo dobar sažetak različitih motora kojima upravlja ovaj štit.
Za kalibriranje QTR-8RC senzora možete slijediti vodič
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
I posljednja poveznica koja vam može pomoći je ova instrukcija;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Korak 3: Korak 3: Kodirajte
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 senzora van desde el
número 1 al pin 8
número 2 ili pin 9
numero 3 ili pin 2
numero 4 ili pin 3
numero 5 ili pin 4
numero 6 ili pin 5
broj 7 ili pin 6
numero 8 ili pin 7
El código va sin repasarlo (se aceptan sugerencias)
#uključi
#uključi
#uključi
#uključi
// Stvorimo objekt štita motora sa zadanim I2C adresom
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Ili ga stvorite s drugom I2C adresom (recimo za slaganje)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Odaberite "port" M1, M2, M3 ili M4. U ovom slučaju, M1
Adafruit_DCMotor *motor1 = AFMS.getMotor (1);
// Također možete napraviti drugi motor na priključku M2
Adafruit_DCMotor *motor2 = AFMS.getMotor (2);
// Promijenite donje vrijednosti tako da odgovaraju motorima vašeg robota, težini, vrsti kotača itd.
#definirajte KP.2
#definiraj KD 5
#define M1_DEFAULT_SPEED 50
#define M2_DEFAULT_SPEED 50
#define M1_MAX_SPEED 70
#definirajte M2_MAX_SPEED 70
#define MIDDLE_SENSOR 4
#define NUM_SENSORS 8 // broj upotrijebljenih senzora
#define TIMEOUT 2500 // čeka 2500 us da se izlazi senzora smanje
#define EMITTER_PIN 12 // emiterom upravlja digitalni pin 2
#define DEBUG 0 // postavljeno na 1 ako je potreban serijski izlaz za ispravljanje pogrešaka
QTRSensorsRC qtrrc ((nepotpisani znak ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
nepotpisani int sensorValues [NUM_SENSORS];
void setup ()
{
kašnjenje (1000);
manual_calibration ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int integral = 0;
void loop ()
{
Serial.begin (9600); // postavljanje serijske knjižnice na 9600 bps
Serial.println ("Adafruit Motorshield v2 - test istosmjernog motora!");
AFMS.begin (); // kreiranje sa zadanom frekvencijom 1,6KHz
//AFMS.početak (1000); // ILI s drugom frekvencijom, recimo 1KHz
// Podesite početnu brzinu, od 0 (isključeno) do 255 (maksimalna brzina)
motor1-> setSpeed (70);
motor1-> trčanje (NAPRIJED);
// uključiti motor
motor1-> trčanje (OTPUŠTANJE);
motor2-> setSpeed (70);
motor2-> trčanje (NAPRIJED);
// uključiti motor
motor2-> trčanje (OTPUŠTANJE);
int senzori bez potpisa [5];
int position = qtrrc.readLine (senzori);
int pogreška = položaj - 2000;
int motorSpeed = KP * pogreška + KD * (pogreška - lastError);
lastError = pogreška;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// podešavamo brzine motora pomoću dviju gornjih varijabli brzine motora
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
if (brzina motora1> M1_MAX_SPEED) brzina motora1 = M1_MAX_SPEED; // ograničenje najveće brzine
if (brzina motora2> M2_MAX_SPEED) brzina motora2 = M2_MAX_SPEED; // ograničenje najveće brzine
if (motor1speed <0) motor1speed = 0; // držite motor iznad 0
if (motor2speed <0) motor2speed = 0; // održava brzinu motora iznad 0
motor1-> setSpeed (brzina motora1); // podešavanje brzine motora
motor2-> setSpeed (motor2speed); // podešavanje brzine motora
motor1-> trčanje (NAPRIJED);
motor2-> trčanje (NAPRIJED);
}
void manual_calibration () {
int i;
for (i = 0; i <250; i ++) // kalibracija će trajati nekoliko sekundi
{
qtrrc.calibrate (QTR_EMITTERS_ON);
kašnjenje (20);
}
if (DEBUG) {// ako je istina, generirajte senzorske podatke putem serijskog izlaza
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.
Preporučeni:
Sljedbenik linije na Tinkercadu: 3 koraka
Line Follower na Tinkercad-u: A-Line Follower Robot, kao što naziv govori, je automatizirano vozilo s vodičem, koje slijedi vizualnu liniju ugrađenu na pod ili strop. Obično je vizualna linija put kojim ide robot za praćenje linija i to će biti crna linija na
Jednostavan sljedbenik linije pomoću Arduina: 5 koraka
Jednostavni sljedbenik linija pomoću Arduina: Arduino sljedbenik robota U ovom vodiču ćemo raspravljati o radu robota koji slijedi Arduino, koji će slijediti crnu liniju u bijeloj pozadini i krenuti ispravnim zavojem kad god dosegne krivulje na svom putu. Arduino Line Follower Co
Dio 3: GPIO: ARM sklop: Sljedbenik linije: TI-RSLK: 6 koraka
Dio 3: GPIO: ARM sklop: Sljedbenik linije: TI-RSLK: Pozdrav. Ovo je sljedeći nastavak u kojem nastavljamo koristiti ARM sklop (umjesto jezika više razine). Inspiracija za ovaj Instructable Lab 6 je kompleta za učenje robotskog sustava Texas Instruments Robotics System ili TI-RSLK. Koristit ćemo mikrofon
Sljedbenik linije GoPiGo3: 8 koraka
GoPiGo3 sljedbenik linija: U ovom vodiču uzimamo sljedbenika linija i koristimo ga na GoPiGo3 kako bismo slijedili crnu liniju
Sljedbenik linije GiggleBot pomoću Pythona: 5 koraka
Sljedbenik linije GiggleBot pomoću Pythona: Ovaj put programiramo u MicroPythonu Dexter Industries GiggleBot da slijedi crnu liniju pomoću ugrađenog senzora sljedbenika linija. GiggleBot mora biti uparen s BBC micro: bitom kako bi mogao biti kontrolirana na odgovarajući način. Ako