Índice:
Vídeo: TA-ZON-BOT (seguidor de linha): 3 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
TA-ZON-BOT
El tazón siguelineas
Hemos realizado este robô siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers).
Foi um projeto expresso para poder participar do OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
Google Tradutor
TA-ZON-BOT
A tigela segue a linha
Fizemos este robô seguindo você com a ajuda de nossos alunos, (obrigado minimakers).
Tem sido um projeto expresso participar no OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
tradutor Google
Etapa 1: Etapa 1: Componentes
Los componentes que hemos utilizados
han sido los siguientes.
Una pieza redonda de metacrilato. (Podéis usar cualquier diseño, nuestra base mide lo justo para colocar 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 motores con las siguientes especificaciones:
Especificaciones (Para 6V):
Dimensões: 26 x 10 x 12 mm
Ratio de la reductora: 30: 1
Diámetro del eje: 3mm (con ranura de bloqueo)
Voltaje nominal: 6Vcc (pode funcionar entre 3 a 9Vcc)
Velocidade de giro sem carga: 1000 rpm
Consumo sem carga: 120mA (1600mA com carga)
Torque: 0,6 kg / cm (máx.)
Peso: 10 gramos
Enlace de tienda online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 escudo para motores Adafruit v2.3:
1 Un porta pilas de 8 pilas AAA (não utilizamos 2 fuentes de alimentación).
6 tornillos y tuercas para unir los elementos como se ve en la imagen
bridas para os motores, uma goma elástica para sujetar el porta pilas e um trozo de uma lâmina plástica para la base del porta pilas.
1 array de sensores QTR-8RC com as características siguientes;
Especificações para a matriz do sensor de refletância QTR-8x • Dimensões: 2,95 "x 0,5" • Tensão operacional: 3,3-5,0 V • Corrente de alimentação: 100 mA • Formato de saída para o QTR-8A: 8 tensões analógicas variando de 0 V à tensão fornecida • Formato de saída para o QTR-8RC: 8 sinais digitais compatíveis com E / S que podem ser lidos como um pulso alto cronometrado • Distância de detecção ideal: 0,125 "(3 mm) • Distância de detecção máxima recomendada para o QTR-8A: 0,25" (6 mm) • Distância máxima de detecção recomendada para o QTR-8RC: 0,375 "(9,5 mm) • Peso sem pinos de cabeçalho: 0,11 onças (3,1 g) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo… próximamente un vídeo más detallado…
Os componentes que usamos são os seguintes.
Um pedaço redondo de metacrilato. (Você pode usar qualquer desenho, nossa base mede apenas o suficiente para colocar a tigela de cabeça para baixo).
1 tigela de café da manhã (usada para concentrar o robô na linha).
2 rodas de um brinquedo reciclado.
2 motores com as seguintes especificações:
Especificações (para 6V): Dimensões: 26 x 10 x 12 mm Relação do redutor: 30: 1 Diâmetro do eixo: 3mm (com ranhura de travamento) Tensão nominal: 6Vdc (pode operar entre 3 a 9Vdc) Velocidade de giro sem carga: 1000 rpm Consumo sem carga: 120mA (1600mA com carga) Torque: 0,6kg / cm (máx.) Peso: 10 gramas
Link da loja online:
1 placa Arduino UNO (reciclada de um projeto antigo)
1 escudo para motores Adafruit v2.3:
1 Um suporte de bateria de 8 baterias AAA (não usamos 2 fontes de alimentação).
6 parafusos e porcas para unir os elementos como visto na imagem
flanges para os motores, uma borracha elástica para segurar o porta-baterias e um pedaço de folha de plástico para a base do porta-baterias.
1 matriz de sensores QTR-8RC com as seguintes características;
Especificações para a matriz do sensor de refletância QTR-8x • Dimensões: 2,95 "x 0,5" • Tensão operacional: 3,3-5,0 V • Corrente de alimentação: 100 mA • Formato de saída para o QTR-8A: 8 tensões analógicas variando de 0 V à tensão fornecida • Formato de saída para o QTR-8RC: 8 sinais digitais compatíveis com E / S que podem ser lidos como um pulso alto cronometrado • Distância de detecção ideal: 0,125 "(3 mm) • Distância de detecção máxima recomendada para o QTR-8A: 0,25" (6 mm) • Distância máxima de detecção recomendada para o QTR-8RC: 0,375 "(9,5 mm) • Peso sem pinos de cabeçalho: 0,11 oz (3,1 g) Você pode encontrá-lo em:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Monte tudo … em breve um vídeo mais detalhado …
Etapa 2: Etapa 2: Inspiração
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.
Para calibrar o sensor QTR-8RC, podéis seguir o tutorial de
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Para testar o desempenho dos motores seguimos este blog de suporte www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
É um ótimo resumo dos diferentes motores que este escudo controla.
Para calibrar o sensor QTR-8RC, você pode seguir o tutorial de
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
E um último link que pode ajudá-lo é este instrutível;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Etapa 3: Etapa 3: Código
las conexiones entre el array de
sensores y las placas las hicimos de la siguiente manera:
El Led ON va al pin digital 12
Los 8 sensores van desde el
número 1 al pino 8
número 2 al pino 9
número 3 al pino 2
número 4 al pino 3
número 5 al pino 4
número 6 al pino 5
número 7 al pino 6
número 8 al pino 7
El código va sin repasarlo (se aceptan sugestões)
#incluir
#incluir
#incluir
#incluir
// Crie o objeto de blindagem do motor com o endereço I2C padrão
Adafruit_MotorShield AFMS = Adafruit_MotorShield ();
// Ou crie-o com um endereço I2C diferente (digamos, para empilhamento)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Selecione qual 'porta' M1, M2, M3 ou M4. Neste caso, M1
Adafruit_DCMotor * motor1 = AFMS.getMotor (1);
// Você também pode fazer outro motor na porta M2
Adafruit_DCMotor * motor2 = AFMS.getMotor (2);
// Altere os valores abaixo para se adequar aos motores, peso, tipo de roda, etc. do seu robô
# 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 // número de sensores usados
# define TIMEOUT 2500 // espera por 2500 us para que as saídas do sensor caiam
# define EMITTER_PIN 12 // o emissor é controlado pelo pino digital 2
# define DEBUG 0 // definido como 1 se a saída de depuração serial necessária
QTRSensorsRC qtrrc ((unsigned char ) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues [NUM_SENSORS];
void setup ()
{
atraso (1000);
calibração_manual ();
conjunto_motores (0, 0);
}
int lastError = 0;
int last_proportional = 0;
integral int = 0;
void loop ()
{
Serial.begin (9600); // configurar a biblioteca serial em 9600 bps
Serial.println ("Adafruit Motorshield v2 - Teste do motor DC!");
AFMS.begin (); // cria com a frequência padrão de 1,6 KHz
//AFMS.begin(1000); // OU com uma frequência diferente, digamos 1KHz
// Defina a velocidade para iniciar, de 0 (desligado) a 255 (velocidade máxima)
motor1-> setSpeed (70);
motor1-> funcionar (AVANÇAR);
// liga o motor
motor1-> funcionar (RELEASE);
motor2-> definirSpeed (70);
motor2-> funcionar (AVANÇAR);
// liga o motor
motor2-> funcionar (RELEASE);
sensores internos sem sinal [5];
posição interna = qtrrc.readLine (sensores);
erro interno = posição - 2000;
int motorSpeed = KP * erro + KD * (erro - lastError);
lastError = erro;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;
// definir as velocidades do motor usando as duas variáveis de velocidade do motor acima
set_motors (leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
if (motor1speed> M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // limitar a velocidade máxima
if (motor2speed> M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // limitar a velocidade máxima
if (motor1speed <0) motor1speed = 0; // mantenha o motor acima de 0
if (motor2speed <0) motor2speed = 0; // mantenha a velocidade do motor acima de 0
motor1-> setSpeed (motor1speed); // definir a velocidade do motor
motor2-> definirSpeed (motor2speed); // definir a velocidade do motor
motor1-> funcionar (AVANÇAR);
motor2-> funcionar (AVANÇAR);
}
void manual_calibration () {
int i;
para (i = 0; i <250; i ++) // a calibração levará alguns segundos
{
qtrrc.calibrate (QTR_EMITTERS_ON);
atraso (20);
}
if (DEBUG) {// se verdadeiro, gera dados do sensor via saída serial
Serial.begin (9600);
para (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMinimumOn );
Serial.print ('');
}
Serial.println ();
para (int i = 0; i <NUM_SENSORS; i ++)
{
Serial.print (qtrrc.calibratedMaximumOn );
Serial.print ('');
}
Serial.println ();
Serial.println ();
}
}
Bueno a ver que tal se nos do este projeto “express” en la competición del OSHWDEM.
Recomendado:
Robô seguidor de linha com PICO: 5 etapas (com imagens)
Line Follower Robot With PICO: Antes de você ser capaz de criar um robô que pode acabar com a civilização como a conhecemos, e é capaz de acabar com a raça humana. Você primeiro deve ser capaz de criar os robôs simples, aqueles que podem seguir uma linha desenhada no chão, e aqui é onde você
Robô seguidor de linha: 11 etapas (com imagens)
Robô seguidor de linha: Fiz um robô seguidor de linha com microprocessador PIC16F84A equipado com 4 sensores IR. Este robô pode ser executado nas linhas pretas e brancas
Como fazer um seguidor de linha usando o Arduino: 8 etapas (com imagens)
Como fazer um seguidor de linha usando o Arduino: Se você está começando com a robótica, um dos primeiros projetos que o iniciante faz inclui um seguidor de linha. É um carro de brinquedo especial com propriedade de correr ao longo de uma linha que normalmente é preta e em contraste com o fundo
Robô seguidor de linha: 7 etapas (com imagens)
Robô seguidor de linha: este é o robô que segue a linha preta na superfície branca
ROBÔ DE LINHA SEGUIDOR -- ARDUINO CONTROLADO: 11 etapas (com imagens)
ROBÔ DE LINHA SEGUIDOR || ARDUINO CONTROLADO: NESTE INSTRUÍVEL MOSTRO COMO MODIFICAR UM CARRO DE ROBÔ (CARBONO) PARA FAZER UMA LINHA SEGUINTE DE ROBÔ