Carrinho Arduino
PEÇAS UTILIZADAS PARA FAZER O CARRINHO
Motor utilizado para locomoção do carrinho.
Chassi utilizado no carrinho.
Roda boba, utilizada para facilitar as curvas.
Roda utilizada no carrinho.Arduíno: placa utilizada para programação do carro.
Bateria 9V para a alimentação do Arduíno e dos motores. Foram utilizadas 2 baterias.
Jupers: Usados para fazer as demais ligações entre Arduíno e a Ponte H.
Ponte H: Usada para fazer a comunicação entre Arduíno e os motores do carro.
Módulo Bluetooth: utilizado para receber os comandos de direção e velocidade do carro vindos de um celular.
FOTOS DO CARRO DEPOIS DE PRONTO
ARMAS UTILIZADAS NA COMPETIÇÃO
CODIFICAÇÃO PARA CONTROLE DO CARRINHO
const int IN1 = 5; //Motor Esquerda
const int IN2 = 4; //Motor Esquerda
const int IN3 = 3; //Motor Direita
const int IN4 = 2; //Motor Direita
const int Bluetooth = 0; // RX0
int state_rec;
int velocidade = 255; //Velocidade pode ser 0 ou até 255
char estado;
void setup() {
// Inicializa as portas como entrada e saída.
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(Bluetooth, INPUT);
Serial.begin(9600);
}
void loop() {
// Para o carro quando a conexão com Bluetooth é perdida ou desconectada.
if (digitalRead(Bluetooth) == LOW) state_rec = 'S';
if (Serial.available() > 0) {
state_rec = Serial.read();
estado = state_rec;
}
// Altera a velocidade de acordo com valores especificados.
if (estado == '0') velocidade = 0;
else if (estado == '1') velocidade = 25;
else if (estado == '2') velocidade = 51;
else if (estado == '3') velocidade = 76;
else if (estado == '4') velocidade = 102;
else if (estado == '5') velocidade = 128;
else if (estado == '6') velocidade = 153;
else if (estado == '7') velocidade = 178;
else if (estado == '8') velocidade = 204;
else if (estado == '9') velocidade = 230;
else if (estado == 'q') velocidade = 255;
if (estado != 'S') Serial.print(estado);
//Movimenta pra frente
if(estado == 'F') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimento para trás
else if(estado == 'B'){
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, velocidade);
analogWrite(IN4, 0);
}
//Movimento para esquerda
else if (estado == 'L') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, velocidade);
analogWrite(IN4, 0);
}
//Movimento para a direita
else if (estado == 'R') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimenta para frente e esquerda
else if(estado == 'G') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade / 2);
}
//Movimento para frente e direita
else if (estado == 'I')
{
analogWrite(IN1, velocidade / 2);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimenta para trás e esquerda
else if(estado == 'H') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, velocidade / 2);
analogWrite(IN4, 0);
}
//Movimento para trás direita
else if(estado == 'J') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade / 2);
analogWrite(IN3, velocidade );
analogWrite(IN4, 0);
}
//Carro fica parado
else if (estado == 'S') {
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
}
const int IN2 = 4; //Motor Esquerda
const int IN3 = 3; //Motor Direita
const int IN4 = 2; //Motor Direita
const int Bluetooth = 0; // RX0
int state_rec;
int velocidade = 255; //Velocidade pode ser 0 ou até 255
char estado;
void setup() {
// Inicializa as portas como entrada e saída.
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(Bluetooth, INPUT);
Serial.begin(9600);
}
void loop() {
// Para o carro quando a conexão com Bluetooth é perdida ou desconectada.
if (digitalRead(Bluetooth) == LOW) state_rec = 'S';
if (Serial.available() > 0) {
state_rec = Serial.read();
estado = state_rec;
}
// Altera a velocidade de acordo com valores especificados.
if (estado == '0') velocidade = 0;
else if (estado == '1') velocidade = 25;
else if (estado == '2') velocidade = 51;
else if (estado == '3') velocidade = 76;
else if (estado == '4') velocidade = 102;
else if (estado == '5') velocidade = 128;
else if (estado == '6') velocidade = 153;
else if (estado == '7') velocidade = 178;
else if (estado == '8') velocidade = 204;
else if (estado == '9') velocidade = 230;
else if (estado == 'q') velocidade = 255;
if (estado != 'S') Serial.print(estado);
//Movimenta pra frente
if(estado == 'F') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimento para trás
else if(estado == 'B'){
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, velocidade);
analogWrite(IN4, 0);
}
//Movimento para esquerda
else if (estado == 'L') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, velocidade);
analogWrite(IN4, 0);
}
//Movimento para a direita
else if (estado == 'R') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimenta para frente e esquerda
else if(estado == 'G') {
analogWrite(IN1, velocidade);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade / 2);
}
//Movimento para frente e direita
else if (estado == 'I')
{
analogWrite(IN1, velocidade / 2);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, velocidade);
}
//Movimenta para trás e esquerda
else if(estado == 'H') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade);
analogWrite(IN3, velocidade / 2);
analogWrite(IN4, 0);
}
//Movimento para trás direita
else if(estado == 'J') {
analogWrite(IN1, 0);
analogWrite(IN2, velocidade / 2);
analogWrite(IN3, velocidade );
analogWrite(IN4, 0);
}
//Carro fica parado
else if (estado == 'S') {
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
}
Tijolinho Enterprise ficou em 4º lugar no desafio classificatório,batalhou contra a equipe DECEPTICONS, perdeu de 2X0, também batalhou contras as equipes Nós,Tshaka_Zulu, Tijolinho perdeu pra estas equipes, e já esta fora da competição,mas aprendemos muito com este trabalho, passamos um pouco de raiva mas foi excelente agora boa sorte para as equipes! é isso obrigado.











Comentários
Postar um comentário