Arduino, Internet das Coisas e Computação vestível |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Você está em »
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3.6. Bengala para cegos
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/*
Projeto: Bengala para cegos
Autor: André Silveira
Data: 02/04/2019
*/
#include "Ultrasonic.h"
int PINO_TRIG = 5;
int PINO_ECHO = 6;
int PINO_BUZZER = 10;
int distancia;
Ultrasonic ultrasonic(PINO_TRIG, PINO_ECHO);
void setup() {
Serial.begin(9600);
pinMode(PINO_BUZZER,OUTPUT); // Pino do buzzer
}
void loop() {
distancia = ultrasonic.read(); // Informe INC para obter distancia em polegadas
Serial.print("Distância em CM: ");
Serial.println(distancia);
// Distância menor que 1 metro
if (distancia <= 100) {
tone(PINO_BUZZER,262,300);
delay(1000); // Pausa pelo tempo de 1 segundo (milissegundos)
}
// Distância maior que 1 metro e menor que 2 metros
if (distancia > 100 and distancia <= 200 ) {
tone(PINO_BUZZER,262,300);
delay(2000); // Pausa pelo tempo de 2 segundos (milissegundos)
}
// Distância maior que 2 metros
if (distancia > 200 ) {
tone(PINO_BUZZER,262,300);
delay(3000); // Pausa pelo tempo de 3 segundos (milissegundos)
}
Serial.println(distancia);
} |
Na versão abaixo, a biblioteca "Ultrasonic.h" não é utilizada. O circuito utiliza Módulo Sensor Ultrassônico HC-SR04, placa Arduino Uno R3, Módulo Buzzer Ativo KY-012 e LED RGB. Através do Sensor Ultrassônico é obtida a distancia que separa o sujeito dos obstáculos a frente. Conforme a aproximação ao sensor é emitido um sinal sonoro mais frequente e intenso. Também é alterada a cor do LED.

/*
Projeto: Bengala para cegos
Autor: André Silveira
Data: 02/04/2019
*/
int PINO_TRIG = 6;
int PINO_ECHO = 5;
int PINO_BUZZER = 3;
int LED_RED = 11;
int LED_BLUE = 10;
int LED_GREEN = 9;
float distancia;
void setup() {
Serial.begin(9600);
pinMode(PINO_TRIG , OUTPUT);
pinMode(PINO_ECHO , INPUT);
pinMode(PINO_BUZZER,OUTPUT);
pinMode(LED_RED, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
ligaled(0, 0, 0);
}
void loop() {
distancia = Ultrasonic(PINO_TRIG, PINO_ECHO);
Serial.print("Distancia em cm: ");
Serial.println (distancia);
// -- Distância menor que 1 metro
if (distancia <= 100) {
tone(PINO_BUZZER,330,300);
ligaled(255, 0, 0);
delay(10);
} else {
// -- Distância maior que 1 metro e menor que 2 metros
if (distancia <= 200 ) {
tone(PINO_BUZZER,330,300);
ligaled(255, 255, 0);
delay(250);
} else {
// -- Distância maior que 2 metros e menor que 3 metros
if (distancia <= 300 ) {
tone(PINO_BUZZER,330,300);
ligaled(0, 0, 255);
delay(500);
} else{
ligaled(0, 0, 0);
}
}
}
}
float Ultrasonic (int PINO_TRIG, int PINO_ECHO) {
int distancia=0;
while(distancia == 0) {
digitalWrite(PINO_TRIG, 0);
delayMicroseconds (5);
digitalWrite(PINO_TRIG, 1);
delayMicroseconds(10);
float tempo = pulseIn (PINO_ECHO, 1);
distancia = (tempo/2/29.15);
}
return distancia;
}
int ligaled(int r, int g, int b) {
analogWrite(LED_RED, r);
analogWrite(LED_GREEN, g);
analogWrite(LED_BLUE, b);
} |
|
[Voltar] |
[Avançar] |