DYNAMIC UNIVERSITY THESIS
Luis Carvalho
Created on July 13, 2023
More creations to inspire you
BLENDED LEARNING
Presentation
INTRO INNOVATE
Presentation
SUMMER ZINE 2018
Presentation
FALL ZINE 2018
Presentation
INTERNATIONAL EVENTS
Presentation
MASTER'S THESIS ENGLISH
Presentation
49ERS GOLD RUSH PRESENTATION
Presentation
Transcript
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
CARRO ROBOT REMOTO
Desenvolviementos Futuros
Diagrama Elétrico
Resultados
Motivação
Aplicação
Comunicação
Fluxograma
Vídeo Demonstrativo
Índice
Desenvolver competências a nivel prático e técnico Linguagem de programação Contacto direto com todos os componentes
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
Motivação da realização do Projeto
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João Candeias
José Luís
Aplicação
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João Candeias
José Luís
Comunicação
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
distância
NÃO
NÃO
SIM
SIM
SIM
SIM
SIM
NÃO
NÃO
NÃO
SIM
NÃO
NÃO
SIM
'STP'
para
'↑'
frente
'STP'
'→'
'←'
'↓'
dist<30
para
dir
esq
tra
Variáveis
'F'
'P'
'D'
'E'
'T'
BLE
Início
Escola Secundária de Amarante
Projeto de Aptidão Profissional
Fluxograma
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
DIAGRAMA ELÉTRICO
Controlo total do robot com uma aplicação;Fluidez e rapidez na comunicação;O sensor ultrassónico permite dar alguma autonomia ao robot;Ilustração dos movimentos e estados do robot através do Display
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
Resultados
Controlar a velocidade ;Criação de uma aplicação única para controlo do carro;Definir o tempo de autonomia; Utilização de outros sensores para torná-lo 100% autónomo ;Implementar uma câmera fotográfica ou de vídeo , por exemplo, para culto turístico e investigações policiais;
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
Desenvolvimentos Futuros
Escola Secundária de Amarante
Projeto de Aptidão Profissional
20 de Julho de 2023
Prof Paulo MoraisProf João CandeiasProf Rui Rodrigues
José Luís
Vídeo Demonstrativo
para(); unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; if (valor == 'P') { para(); estado = 5; } if (estado==1){ if (distancia<=30.0){ para(); estado=5; } if (estado == 5) IIC_send(dis_para[data_line][i]); void para() { analogWrite(5, 0); analogWrite(6, 0); }
Serial.begin(9600);if (Serial.available()) { char valor = Serial.read() if (valor == 'F') { frente(); estado = 1; } if (valor == 'T') { tra(); estado = 2; } if (valor == 'E') { esq(); estado = 3; } if (valor == 'D') { dir(); estado = 4; } if (valor == 'P') { para(); estado = 5; } }
void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); }
#define IIC_SCL A5 #define IIC_SDA A4 #include <afstandssensor.h> AfstandsSensor afstandssensor(A0, 10); //(triggerPin, echoPin) double distancia=0.0; char valor; unsigned char data_line = 0; unsigned char delay_count = 0; unsigned char data_display1 = 0; unsigned char data_display2 = 0; unsigned char data_display3 = 0; unsigned char data_display4 = 0; unsigned char data_display5 = 0; unsigned char data_display6 = 0; unsigned char data_display7 = 0; unsigned char data_display8 = 0; unsigned char data_display9 = 0; unsigned char data_display10 = 0; unsigned char data_display11 = 0; unsigned char data_display12 = 0; unsigned char data_display13 = 0; unsigned char data_display14 = 0; unsigned char data_display15 = 0; unsigned char data_display16 = 0; unsigned char dis_inicio[1][16] = { 0x00, 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x1a, 0x6e, 0x00, 0x02, 0x7e, 0x02 }; unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; int estado=5; pinMode(IIC_SCL, OUTPUT); pinMode(IIC_SDA, OUTPUT); digitalWrite(IIC_SCL, LOW); digitalWrite(IIC_SDA, LOW); pinMode(2, INPUT); //esqueda-frente, direita-tras pinMode(3, INPUT); //esqueda-frente, direita-frent pinMode(4, INPUT); //esqueda-tra, direita-frtent analogWrite(5, 100); analogWrite(6, 100);
unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { if (valor == 'D') { dir(); estado = 4; } if (estado == 4) IIC_send(dis_direita[data_line][i]); void dir() { vel(); digitalWrite(4, LOW); digitalWrite(2, HIGH); }
if (Serial.available()) { char valor = Serial.read(); if (valor == 'F') { frente(); estado = 1; } if (valor == 'T') { tra(); estado = 2; } if (valor == 'E') { esq(); estado = 3; } if (valor == 'D') { dir(); estado = 4; } if (valor == 'P') { para(); estado = 5; } }
void para() { analogWrite(5, 0); analogWrite(6, 0); }
if (estado==1){ if (distancia<=30.0){ para(); estado=5; }
unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { char valor = Serial.read(); if (valor == 'F') { frente(); estado = 1; } } if (estado == 1) IIC_send(dis_frente[data_line][i]); if (estado==1){ if (distancia<=30.0){ para(); estado=5; } void frente() { vel(); digitalWrite(3, HIGH); digitalWrite(2, LOW); digitalWrite(4, LOW); }
#define IIC_SCL A5 #define IIC_SDA A4 #include <afstandssensor.h> AfstandsSensor afstandssensor(A0, 10); //(triggerPin, echoPin) double distancia = 0.0; char valor; unsigned char data_line = 0; unsigned char delay_count = 0; unsigned char data_display1 = 0; unsigned char data_display2 = 0; unsigned char data_display3 = 0; unsigned char data_display4 = 0; unsigned char data_display5 = 0; unsigned char data_display6 = 0; unsigned char data_display7 = 0; unsigned char data_display8 = 0; unsigned char data_display9 = 0; unsigned char data_display10 = 0; unsigned char data_display11 = 0; unsigned char data_display12 = 0; unsigned char data_display13 = 0; unsigned char data_display14 = 0; unsigned char data_display15 = 0; unsigned char data_display16 = 0; unsigned char dis_inicio[1][16] = { 0x00, 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x1a, 0x6e, 0x00, 0x02, 0x7e, 0x02 }; unsigned char dis_frente[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_direita[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char dis_para[1][16] = { 0x4e, 0x4a, 0x7a, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x7e, 0x42, 0x7e, 0x00, 0x7e, 0x0a, 0x0a, 0x0e }; int estado = 5; pinMode(IIC_SCL, OUTPUT);
void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); }
void esq() { vel(); digitalWrite(4, HIGH); digitalWrite(2, LOW); }
unsigned char dis_tras[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 };//display if (valor == 'T') { tra(); estado = 2; }//bluetooth if (estado == 2) IIC_send(dis_tras[data_line][i]);//display void tra() { vel(); digitalWrite(2, HIGH); digitalWrite(4, HIGH); } //motores
void para() { analogWrite(5, 0); analogWrite(6, 0); }
void dir() { vel(); digitalWrite(4, LOW); digitalWrite(2, HIGH); }
void frente() { vel(); digitalWrite(3, HIGH); digitalWrite(2, LOW); digitalWrite(4, LOW); }
unsigned char dis_esquerda[1][16] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00 }; Serial.begin(9600); if (Serial.available()) { if (valor == 'E') { esq(); estado = 3; } } if (estado == 3) IIC_send(dis_esquerda[data_line][i]); void esq() { vel(); digitalWrite(4, HIGH); digitalWrite(2, LOW); }