Escolar Documentos
Profissional Documentos
Cultura Documentos
RESUMO ABSTRACT
O artigo apresenta uma experiência de projeto The article presents a learning-oriented project
orientado ao aprendizado com aproveitamento experience with the use of previous
de competência previas, adquiridas em estudos competence, acquired in studies carried out in
realizados no primeiro período do corrente the first period of the current Industrial
curso Tecnologia Mecatrônica Industrial. Mechatronics Technology course. Work
Trabalho apresenta o êxito obtido no âmbito da presents the success obtained in the scope of
programação voltada a automação industrial. the programming focused on industrial
Este artigo apresenta um veículo inteligente automation. This article presents an intelligent
com arquitetura aberta programado em vehicle with open architecture programmed in
linguagem C, partir de Arduino, com baixo C language, using Arduino, with low cost of
custo de peças, servomotores e sensores de parts, servomotors and detection sensors. The
detecção. Os recursos empregados baseado resources employed are based on free code,
em código livre, o que permite que iniciantes which allows beginner programmers to
programadores desenvolvam simples tarefas develop simple tasks in position and stop
no controle de posição e parada. control. displacement. The results showed that
Deslocamento. Os resultados mostraram que new algorithms can be developed, the project
novos algoritmos podem ser desenvolvidos, o is feasible.
projeto é viável.
Keywords: Learning, Automation, Control
Palavras- Chave: Aprendizado, Automação,
Controle.
1. INTRODUÇÃO
O software livre tornam se cada vez aplicáveis no aprendizado, na modelagem de ensaios em
automação e controle . A concretização de um projeto nesses moldes, que pude ser programado e
desenvolvido por pessoas inexperientes, cujo conhecimento sobre programação, automação e
controle seja mínimo. As primeiras máquinas automatizadas foram os teares mecânicos das indústrias
têxteis. A partir de então, com novas maquinas desenvolvidas, houve uma crescente necessidade
imposta pelo mercado e, desde então, máquinas automatizadas passaram a fazer parte das grandes
indústrias, tornando os sistemas de produção cada vez mais eficazes (ANDRADE, 2013). O intuito
desse trabalho é planejar e descrever todos os métodos aplicados para a montagem de autômato com
controle da trajetória. Incentivando, fomentando e fazendo com que o conhecimento na área se torne
cada vez mais abrangente. Montagem físicas dos componentes, programação do hardware de controle
em linguagem C, onde está embarcado todo o comando, automação e controle. Autômato durante a
trajetória ao detectar a presença de objeto ou estrutura física móvel ou estática a uma distância segura
programada efetua a parada, verifica nova trajetória fora da estrutura ou objeto detectado, continua
sua trajetória, aguando que uma nova ação aconteça. O ambiente da aprendizagem de conceitos de
eletrônica e programação, importantes na formação do Tecnólogo Mecatrônica Industrial ensino de
programação são aplicadas as estruturas básicas numa linguagem de texto como C.
2. FUNDAMENTAÇÃO TEÓRICA
Conforme Gil (1999, p. 43), “a pesquisa aplicada possui muitos pontos de contato com a
pesquisa pura, pois depende de suas descobertas e se enriquece com o seu desenvolvimento.” O
projeto integrador em questão, tem aplicação de sensores e atuadores bem como um algoritmo que
permita ao robô autonomia para executar os desafios. Desta forma, a partir da leitura de sensores o
algoritmo desenvolvido pelo aluno deve acionar os atuadores para executar a tarefa proposta, sem
necessidade de controles externos, ou seja, foi implementado um veículo inteligente autônomo. O
desenvolvimento a montagem de um protótipo robótico é um método aplicado, pois desenvolver a
aplicação desse projeto, onde o veículo deve seguir determinada trajetória, a fim de desviar de
obstáculos que estiverem em seu caminho. A estrutura física do veículo autônomo é composta por
uma placa polimérica de acrílico, de dimensões corretas para acoplar o sensor ultrassônico, o servo
motor, os motores de tração das rodas e os módulos controladores do microcontrolador, uma
protoboard, Circuito de Potência Tipo Chopper. e a placa controle. Foram utilizadas três rodas sendo
uma roda para apoio duas rodas acopladas aos motores de tração. Quando o veículo estiver em modo
ligado tende a se movimentar pelo ambiente em linha reta desviando somente no caso de encontrar
um obstáculo. Para delimitar o seu raio de ação , inicialmente o sensor verifica se não existe obstáculo
próximo.
4. DESENVOLVIMENTO E RESULTADOS
O aluno é capaz de aprender e aplicar a linguagem C a partir dos treinamentos oferecidos sem
necessidade de nenhum conhecimento prévio de linguagens de programação ou contato anterior com
ferramentas de programação. O veículo inteligente apresentou um funcionamento estável, seu
objetivo foi cumprido, após ajustes e melhorias. Testes que incluíram ajustes no software, percepção
dos sensores e comunicação do Arduino (sensor e atuadores), ajustes no PWM. Em termos de
dificuldade, pode ser citado o fato de o trabalho não ter utilizado apenas o conhecimento básico,
foram utilizados outros conhecimentos mais aprofundados em Mecatrônica, os quais foram
facilmente sanados com pesquisas bibliográficas e digitais.
5. DISCUSSÃO FINAL
BIBLIOGRAFIA
DA SILVA, Rodrigo Caitano Barbosa; ANTONIO, Wellington Luiz; CORDEIRO, Jonatan Alberto;
SUNDHEIMER, Michael Lee. Equipamento robótico para o estudo de Cinemática.
DE MATTOS FILHO, Gilberto Pereira et al. Projeto de um robô móvel utilizando o microcontrolador
Arduino.
Fantin; MEIRA, William HitoshiTsunoda. Robô Seguidor de Linha. Universidade Tecnológica Federal Do
Paraná Departamento Acadêmico De Eletrônica/Informática Curso De Engenharia Da Computação, Curitiba,
2009.
APÊNDICES
Apêndice A
Shield
Fonte Ponte H
Alimentação Circuito de Potência
Microcontrolador Sensor
Ultrassônico
Motor DC
Apêndice A
Liga/Desliga
Roda Apoio
Motores DC
Rodas de Tração
Apêndice B
Apêndice B
//Veiculo_Inteligente_Simplificado_Velocidade_PWM
#include <Servo.h> //Biblioteca Servo Motor
#include <NewPing.h> //Biblioteca Sensor Ultrassonico
Apêndice B
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}
void loop(){
delay(20); // Aguarda 50ms entre ping ( 20 pings/sec).
Serial.print("Ping: ");
Serial.print(sonar.ping_cm());
Serial.println("cm");
int distanceRight = 0;
int distanceLeft = 0;
delay(100);
if (distance <= 30){// Distancia menor ou igual a 30cm
entao, parar.
moveStop();
delay(1000);
moveBackward();// Mover para tras
delay(400);
moveStop(); // Parar
delay(300);
distanceRight = lookRight(); // Verificar distancia
direita.
delay(300);
distanceLeft = lookLeft();// Verificar distancia esquerda.
delay(300);
if (distance >= distanceLeft){
turnRight();
moveStop();
}
else{
turnLeft();
moveStop();
}
}
else{
moveForward();
}
distance = readPing();
}
int lookRight(){
servo_motor.write(10);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(90);
return distance;
}
Apêndice B
int lookLeft(){
servo_motor.write(170);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(90);
return distance;
delay(100);
}
int readPing(){
delay(20);
int cm = sonar.ping_cm();
if (cm==0){
cm=250;
}
return cm;
}
void moveStop(){
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, LOW);
}
void moveForward(){
if(!goesForward){
goesForward=true;
digitalWrite(RightMotorForward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, HIGH);
}
}
void moveBackward(){
goesForward=false;
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
}
void turnRight(){
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);
delay(500);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
void turnLeft(){
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
delay(500);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
// Fim do Programa.
https://youtu.be/fdIxGt2mBZk