Sistema de detecção de humanos usando Arduino Uno
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Ferramentas e máquinas necessárias
| ||||
| ||||
| ||||
| ||||
|
Aplicativos e serviços online
| ||||
| ||||
|
Sobre este projeto
Este sistema projeta um sistema de veículo robótico de resgate móvel baseado em Arduino para ajudar as pessoas a tempo que estão presas em calamidades naturais como desastres, terremotos, inundações etc. para a sala de controle, para que a equipe de resgate de especialistas e médicos possa ser enviada para o local da vítima para tratamento primário e pode ser enviada para o local seguro ou hospital. Todo o processo ocorre em poucos segundos, pois o sistema é controlado por uma unidade Arduino. Os sensores PIR são sensores infravermelhos passivos que detectam o movimento das pessoas com a ajuda de mudanças nos níveis infravermelhos (calor) emitidos pelos objetos circundantes. O corpo humano emite radiação térmica em um comprimento de onda de cerca de 10 mícrons. É recebido e manipulado pelo sensor PIR para detectar seres humanos. Ele opera a 5 Vcc. O movimento do ser humano pode ser detectado verificando se há uma mudança repentina nos padrões de infravermelho ao redor. O sensor de obstáculo detecta o obstáculo e envia os sinais analógicos para o Arduino. O Arduino está programado para guiar o robô automaticamente dependendo do obstáculo detectado e enviar informações do ser humano para local de controle remoto através da tecnologia Bluetooth. Os dados são recebidos na Estação Base (Centro de Controle). Analisando os dados, a equipe de resgate pode tomar as medidas necessárias para resgatar os seres humanos presos.
Código
- Detecção humana.ino
Human Detection.ino Arduino
#include// #include // Você pode baixar a biblioteca de códigos abaixo # include // // Configuração do Ultranic Pin #define TRIG_PIN A0 # define ECHO_PIN A1 # define MAX_DISTANCE 400 # define MAX_SPEED 255 # define MAX_SPEED_OFFSET -8 # define COLL_DIST 20 # define TURN_DIST COLL_DIST + 10 # define ACT_TIME 250 int calibraçãoTime =30; // o momento em que o sensor emite um baixo impulselong unsigned int lowIn; // a quantidade de milissegundos que o sensor tem que estar baixo // antes de assumirmos que todo o movimento parou por muito tempo sem sinal int pause =5000; boolean lockLow =true; boolean takeLowTime; pirPin int =A3; // o pino digital conectado ao outputint do sensor PIR ledPin =A2; Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor motorR (1, MOTOR12_1KHZ); // Definir motor # 1, 1kHz PWMAF_DCMotor motorL (4, MOTOR12_1KHZ); // Define o motor nº 2, 1kHz PWM Servo myservo; // Define o objeto servo para controlar um servo String motorSet =""; int curDist =0, pos, speedSet =0; // int pos; // int speedSet =0; void setup () {Serial.begin (9600); pinMode (pirPin, INPUT); pinMode (ledPin, OUTPUT); digitalWrite (pirPin, LOW); // dê ao sensor algum tempo para calibrar Serial.print ("calibrar sensor"); para (int i =0; i pause) {// garante que este bloco de código só seja executado novamente após // uma nova sequência de movimento ser detectada lockLow =true; Serial.print ("a moção terminou em"); // saída Serial.print ((millis () - pausa) / 1000); Serial.println ("sec"); atraso (50); }}} void checkPath () {int curLeft =0; int curRight =0; int curFront =0; curDist =0; checkForward (); myservo.write (135); atraso (100); para (pos =135; pos> =45; pos - =45) {myservo.write (pos); atraso (170); curDist =readPing (); if (curDist 90) {veerRight (); }} void veerRight () {motorR.run (BACKWARD); motorL.run (FORWARD); atraso (ACT_TIME); motorR.run (FORWARD); motorL.run (FORWARD); motorSet ="FORWARD";} void veerLeft () {motorL.run (BACKWARD); motorR.run (FORWARD); atraso (ACT_TIME); motorL.run (FORWARD); motorR.run (FORWARD); motorSet ="FORWARD";} void checkCourse () {moveBackward (); atraso (ACT_TIME); moveStop (); setCourse ();} void setCourse () {if (pos <90) {turnRight (); } if (pos> 90) {turnLeft (); }} void moveBackward () {motorSet ="BACKWARD"; motorR.run (PARA TRÁS); // Vira o motor direito para trás motorL.run (BACKWARD); // Gire o motor esquerdo para trás para (speedSet =0; speedSet
Esquemas
Este diagrama de blocos mostra a interface entre os sensores e a placa Arduino Este diagrama de circuito mostra as configurações de conexão entre vários sensores com a placa Arduino Uno Este fluxograma mostra como o sistema funcionaProcesso de manufatura
- SONBI ROBOT DETECÇÃO HUMANA USANDO KINECT E RASPBERRY PI
- Compilação de boneca Squid Games usando Arduino UNO
- Envie dados do sensor de um Arduino para outro usando Firebase
- Sistema de atendimento usando Arduino e RFID com Python
- Sensor de batimento cardíaco infravermelho DIY usando Arduino
- Brinquedo controlado pelo Android usando Raspberry Motor Shield
- IOT - Jar inteligente usando ESP8266, Arduino e sensor ultrassônico
- WebServerBlink usando Arduino Uno WiFi
- Sistema de monitoramento e detecção de incêndios florestais (com alertas SMS)
- Usando o sensor de pulso vestível MAX30100 com Arduino