Cuprins:
Video: TA-ZON-BOT (Line Follower): 3 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
TA-ZON-BOT
El tazón siguelineas
Hemos realizated this robot siguelineas with the help of our our students, (gracias minimakers).
Ha sido un proyecto express para poder participa la OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traducator Google
TA-ZON-BOT
Castronul urmează linia
Am făcut ca acest robot să vă urmărească cu ajutorul studenților noștri (mulțumesc creatorilor).
A fost un proiect expres să particip la OSHWDEN din A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
Google Traducere
Pasul 1: Pasul 1: Componente
Los componentes que hemos utilizados
han sido los siguientes.
Una pieza redonda de metacrilat. (Podéis use any design, nuestra base mide lo justo para colocar el tazón bocabajo).
1 Tazón de desayuno (care sirve pentru concentrarea robotului în linie).
2 ruedas de un juguete reciclado.
2 motoare cu următoarele specificații:
Specificații (Para 6V):
Dimensiuni: 26 x 10 x 12 mm
Raportul reducerii: 30: 1
Diámetro del eje: 3mm (cu ranura de bloco)
Voltaj nominal: 6Vcc (poate funcționa între 3 și 9Vcc)
Viteza de gir fără încărcare: 1000rpm
Consum fără încărcare: 120mA (1600mA cu încărcare)
Cuplu: 0,6 kg / cm (max)
Peso: 10 gramos
Enlace de tienda online:
1 placa Arduino UNO (reciclată de un proiect vechi)
1 scut pentru motoare 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 imagen
bridas pentru motori, o goma elástica pentru subiectul portii pilas si un trozo de o lamina de plastici pentru baza bazei portilor pilas.
1 matrice de senzori QTR-8RC cu următoarele caracteristici;
Specificații pentru matricea senzorului de reflexie QTR-8x • Dimensiuni: 2,95 "x 0,5" • Tensiune de funcționare: 3,3-5,0 V • Curent de alimentare: 100 mA • Format de ieșire pentru QTR-8A: 8 tensiuni analogice variind de la 0 V la tensiunea furnizată • Format de ieșire pentru QTR-8RC: 8 semnale digitale compatibile I / O care pot fi citite ca un impuls înalt temporizat • Distanță de detectare optimă: 0,125 "(3 mm) • Distanță maximă de detectare recomandată pentru QTR-8A: 0,25" (6 mm) • Distanța maximă de detectare recomandată pentru QTR-8RC: 0,375 "(9,5 mm) • Greutate fără știfturi de antet: 3,1 g (0,11 oz)
tienda.bricogeek.com/componentes/257-array-…
Adunați totul … în prealabil un videoclip mai detaliat …
Componentele pe care le-am folosit au fost următoarele.
O bucată rotundă de metacrilat. (Puteți utiliza orice design, baza noastră măsoară suficient cât să plasați bolul cu capul în jos).
1 castron pentru micul dejun (folosit pentru a concentra robotul pe linie).
2 roți ale unei jucării reciclate.
2 motoare cu următoarele specificații:
Specificații (pentru 6V): Dimensiuni: 26 x 10 x 12 mm Raportul reductorului: 30: 1 Diametru ax: 3mm (cu șanț de blocare) Tensiune nominală: 6Vdc (poate funcționa între 3 și 9Vdc) Viteza de virare fără sarcină: 1000rpm Consum fără sarcină: 120mA (1600mA cu sarcină) Cuplu: 0,6 kg / cm (max) Greutate: 10 grame
Link magazin online:
1 placa Arduino UNO (reciclată dintr-un proiect vechi)
1 scut pentru motoarele Adafruit v2.3:
1 Un suport pentru baterii de 8 baterii AAA (nu folosim 2 surse de alimentare).
6 șuruburi și piulițe pentru a uni elementele așa cum se vede în imagine
flanșe pentru motoare, un cauciuc elastic pentru a ține suportul bateriei și o bucată dintr-o foaie de plastic pentru baza suportului bateriei.
1 gamă de senzori QTR-8RC cu următoarele caracteristici;
Specificații pentru matricea senzorului de reflexie QTR-8x • Dimensiuni: 2,95 "x 0,5" • Tensiune de funcționare: 3,3-5,0 V • Curent de alimentare: 100 mA • Format de ieșire pentru QTR-8A: 8 tensiuni analogice variind de la 0 V la tensiunea furnizată • Format de ieșire pentru QTR-8RC: 8 semnale digitale I / O compatibile, care pot fi citite ca un impuls înalt temporizat • Distanță de detectare optimă: 0,125 "(3 mm) • Distanță maximă de detectare recomandată pentru QTR-8A: 0,25" (6 mm) • Distanța maximă de detectare recomandată pentru QTR-8RC: 0,375 "(9,5 mm) • Greutate fără știfturi antet: 3,1 g (0,11 oz) O puteți găsi în:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Asamblați totul … în curând un videoclip mai detaliat …
Pasul 2: Pasul 2: Inspirație
Pentru probarea funcționării del
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.
Pentru calibrarea senzorului QTR-8RC se poate urmări tutorialul
Y un ultimo enlace that os can help is este instructable;
www.instructables.com/id/Arduino-based-lin…
Pentru a testa performanța motoarelor, am urmărit acest suport de blog www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
Este un rezumat foarte bun al diferitelor motoare pe care le controlează acest scut.
Pentru a calibra senzorul QTR-8RC puteți urma tutorialul
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
Și un ultim link care vă poate ajuta este acest lucru instructiv;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Pasul 3: Pasul 3: Cod
las conexiuni intre el array de
senzorii și plăcile la următorul mod:
El Led ON va al pin digital 12
Los 8 sensores van de el
numărul 1 la pinul 8
numărul 2 la pinul 9
numărul 3 la pinul 2
numărul 4 la pinul 3
numărul 5 la pinul 4
numărul 6 la pinul 5
numărul 7 la pinul 6
numărul 8 la pinul 7
El code va sin repasarlo (se acceptă sugerențe)
#include
#include
#include
#include
// Creați obiectul ecranului motorului cu adresa I2C implicită
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Sau, creați-o cu o altă adresă I2C (să zicem pentru stivuire)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Selectați „portul” M1, M2, M3 sau M4. În acest caz, M1
Adafruit_DCMotor * motor1 = AFMS.getMotor (1);
// De asemenea, puteți face un alt motor pe portul M2
Adafruit_DCMotor * motor2 = AFMS.getMotor (2);
// Schimbați valorile de mai jos pentru a se potrivi cu motoarele robotului, greutatea, tipul de roată etc.
#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 // numărul de senzori utilizați
#define TIMEOUT 2500 // ne așteaptă la 2500 pentru ca ieșirile senzorului să scadă
#define EMITTER_PIN 12 // emițătorul este controlat de pinul digital 2
#define DEBUG 0 // setat la 1 dacă este necesară o ieșire de depanare serială
QTRSensorsRC qtrrc ((unsigned char ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int senzorValori [NUM_SENSORS];
configurare nulă ()
{
întârziere (1000);
manual_calibration ();
set_motors (0, 0);
}
int lastError = 0;
int last_proportional = 0;
int integral = 0;
bucla nulă ()
{
Serial.begin (9600); // configurați biblioteca serial la 9600 bps
Serial.println ("Adafruit Motorshield v2 - Test motor DC!");
AFMS.begin (); // creați cu frecvența implicită 1.6KHz
//AFMS.begin(1000); // SAU cu o frecvență diferită, să zicem 1KHz
// Setați viteza de pornire, de la 0 (oprit) la 255 (viteză maximă)
motor1-> setSpeed (70);
motor1-> rulează (ÎNAINTE);
// porniți motorul
motor1-> rulați (ELIBERAȚI);
motor2-> setSpeed (70);
motor2-> rulează (ÎNAINTE);
// porniți motorul
motor2-> rulați (ELIBERAȚI);
senzori int nesemnați [5];
int position = qtrrc.readLine (senzori);
int eroare = poziție - 2000;
int motorSpeed = KP * error + KD * (error - lastError);
lastError = eroare;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// setați turațiile motorului utilizând cele două variabile de turație ale motorului de mai sus
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // limitează viteza maximă
if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // limitează viteza maximă
if (motor1speed <0) motor1speed = 0; // mențineți motorul peste 0
if (motor2speed <0) motor2speed = 0; // mențineți viteza motorului peste 0
motor1-> setSpeed (motor1speed); // setați turația motorului
motor2-> setSpeed (motor2speed); // setați turația motorului
motor1-> rulează (ÎNAINTE);
motor2-> rulează (ÎNAINTE);
}
void manual_calibration () {
int i;
pentru (i = 0; i <250; i ++) // calibrarea va dura câteva secunde
{
qtrrc.calibrate (QTR_EMITTERS_ON);
întârziere (20);
}
dacă (DEBUG) {// dacă este adevărat, generați datele senzorului prin ieșire serială
Serial.begin (9600);
for (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
for (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 this project “express” in the competition of OSHWDEM.
Recomandat:
Line Follower Robot Siebe Deetens: 4 pași
Line Follower Robot Siebe Deetens: Bij de opleiding Elektromechanica Automatisering aan HOGENT (3e bachelor), hebben we vanuit het vak Syntheseproject de opdracht gekregen om een line follower robot te maken.Hier kan je het hele bouwproces lezen met zit over uitleg sla
Follower Line pe Tinkercad: 3 pași
Line Follower pe Tinkercad: A-Line Follower Robot, așa cum sugerează și numele, este un vehicul ghidat automat, care urmează o linie vizuală încorporată pe podea sau tavan. De obicei, linia vizuală este calea pe care merge robotul care urmărește linia și va fi o linie neagră pe un wh
PID Line Follower Atmega328P: 4 pași
PID Line Follower Atmega328P: INTRODUCERE Acest instructiv este despre realizarea unui Line Follower eficient și fiabil cu control PID (proporțional-integral-derivat) (matematic) care rulează în creierul său (Atmega328P). Următorul de linie este un robot autonom care urmează fie b
Tablă albă de clasă Arduino Line Follower Wallrides: 8 pași (cu imagini)
Arduino Line Follower Wallrides Classroom Whiteboard: Urmarea liniei de la sol este prea plictisitoare! Am încercat să privim un unghi diferit la adepții liniei și să-i aducem pe un alt avion - la tabla albă a școlii
ROBOT LINE FOLLOWER -- ARDUINO CONTROLAT: 11 pași (cu imagini)
ROBOT LINE FOLLOWER || ARDUINO CONTROLAT: ÎN ACEST INSTRUCTABIL, ARĂT CUM MODIFICĂ O MAȘINĂ ROBOT (CARBOT) PENTRU A FACE UN ROBOT URMĂTOR