Introduction: Sensor De Estacionamento Com Arduino E Sensor Ultrassônico
Projeto de um sensor de estacionamento realizado pelos alunos do curso Analise e Desenvolvimento de Sistemas da Faculdade de Tecnologia Termomecânica
Grupo composto por:
Gabriel Morais 031158027
Giovanna Trindade 031158052
Mateus Bernardi 031158134
Lucas Borges 031158142
Thiago Rocca 031158233
Step 1: Materiais Utilizados
- 1x Arduino Uno
- 2x Sensores de distancia Ultrassonicos HC-SR04
-1x Modulo Bluetooth RN-42
13x fios Jumper
1x Bateria 9v
1x Protoboard
Para o teste dos sensores de estacionamento, utilizaremos como suporte o veiculo Freedom scooter 2002
Step 2: Conexão Dos Componentes
Conectar os componentes como na imagem
Step 3: Codigo Do Arduino
Codigo do projeto para o Arduino
#include
#define bluetoothTx 2 // TX-O pin of bluetooth mate, Arduino D2 #define bluetoothRx 3 // RX-I pin of bluetooth mate, Arduino D3
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); //rx, tx
const int trigPin = 12; const int echoPin = 11; const int trigPinb = 7; const int echoPinb = 6;
void setup() { Serial.begin(9600); // Inicializa o serial monitor em 9600bps pinMode(trigPinb, OUTPUT); pinMode(echoPinb, INPUT); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
bluetooth.begin(115200); // O Bluetooth inicia a conexão em 115200bps bluetooth.print("$"); // Deve ser impressos três "$" individualmente! bluetooth.print("$"); bluetooth.print("$"); // Para entrar em modo de comando delay(100); // Aguarda 100 mS para entrar em modo CMD bluetooth.println("U,9600,N"); // Altera o baudrate para 9600, sem paridade. // 115200 pode ser muito rápido para uso com SoftwareSerial bluetooth.begin(9600); // Iniciar bluetooth serial em 9600 }
void loop() { long duration, durationb, cm, cmb, cmPerto;
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds. // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(5); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH);
digitalWrite(trigPinb, LOW); delayMicroseconds(2); digitalWrite(trigPinb, HIGH); delayMicroseconds(5); digitalWrite(trigPinb, LOW); durationb = pulseIn(echoPinb, HIGH); cmb = microsecondsToCentimeters(durationb); cm = microsecondsToCentimeters(duration);
if(cm > 200 || cm == 0){ cm = 200; } if(cmb > 200 || cmb == 0){ cmb = 200; } if (cmb > cm){ Serial.print(cm); EnviaBluetooth(cm); } else if (cmb < cm){ Serial.print(cmb); EnviaBluetooth(cmb); } else if (cm == cmb){ Serial.print(cmb); EnviaBluetooth(cmb); }
Serial.println();
delay(1000); }
long microsecondsToCentimeters(long microseconds) { // The speed of sound is 340 m/s or 29 microseconds per centimeter. // The ping travels out and back, so to find the distance of the // object we take half of the distance travelled. return microseconds / 29 / 2; }
void EnviaBluetooth(int dados) { if(Serial.available()){ // Se algo foi digitado e enviado no Serial Monitor // Envia o caracter para o Módulo Bluetooth bluetooth.print(dados); } }
Attachments
Step 4: Codigo Do Aplicativo De Celular
Este aplicativo Android desenvolvido na plataforma App Inventor recebe as informações das distancias medidas pelos sensores. A conexão entre o celular e o Arduíno é feita entre o Bluetooth do celular e o modulo Bluetooth RN42.
Attachments
Step 5: Manual Para Utilização Do Aplicativo
Manual com os passos basicos para instalação do app e sua utilização