亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 Arduino Uno 的人体检测机器人系统

组件和用品

Arduino UNO
× 1
开发板,电机控制屏蔽
× 1
SG90 微伺服电机
× 1
直流电机,12 V
× 4
超声波传感器 - HC-SR04(通用)
× 1
DHT11 温湿度传感器(4 针)
× 1
9V 电池(通用)
× 1
跳线(通用)
× 1
PIR 传感器,7 m
× 1

必要的工具和机器

多功能工具,螺丝刀
烙铁(通用)
助焊剂,焊接
焊锡丝,无铅
热胶枪(通用)

应用和在线服务

Arduino IDE
Microsoft Windows 10
控制中心 Android 应用

关于这个项目

本系统设计了一个基于Arduino的移动救援机器人车载系统,及时帮助被困在灾害、地震、洪水等自然灾害中的人们,及时准确地反映地下等灾区人员的动态情况到控制室,以便专家和医生救援队可以送到受害者所在地进行初步治疗,并可以送到安全的地方或医院。整个过程在几秒钟内发生,因为系统由 Arduino 单元控制。 PIR 传感器是被动红外传感器,它借助周围物体发出的红外(热量)水平的变化来检测人的运动。人体发出波长约为 10 微米的热辐射。它由 PIR 传感器接收和操纵以检测人类。它在 5V DC 下运行。可以通过检查周围 IR 模式的突然变化来检测人的运动。障碍物传感器检测障碍物并将模拟信号发送到 Arduino。 Arduino被编程为根据检测到的障碍物自动引导机器人,并通过蓝牙技术将人体信息发送到远程控制位置。数据在基站(控制中心)中接收。救援队分析数据后,可以采取必要措施营救被困人员。

代码

  • 人体检测.ino
人体检测.inoArduino
#include  // #include  // 可以下载下面的代码库#include  // // Ultranic Pin Configuration #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 intcalibrationTime =30; //传感器输出低脉冲的时间long unsigned int lowIn; //在我们假设所有运动已经停止之前,传感器必须处于低位的毫秒数 unsigned int pause =5000; boolean lockLow =true;boolean takeLowTime; int pirPin =A3; //连接到被动红外传感器输出的数字引脚int ledPin =A2;NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor motorR(1, MOTOR12_1KHZ); // 设置电机 #1, 1kHz PWMAF_DCMotor motorL(4, MOTOR12_1KHZ); // 设置电机 #2, 1kHz PWM Servo myservo; // 设置伺服对象来控制伺服 String motorSet =""; int curDist =0, pos, speedSet =0;//int pos;//int speedSet =0;无效设置(){ Serial.begin(9600); pinMode(pirPin,输入); pinMode(ledPin,输出);数字写入(pirPin,低); //给传感器一些时间来校准 Serial.print("calibrating sensor "); for(int i =0; i  pause){ //确保仅在检测到新的运动序列后才再次执行此代码块 lockLow =true; Serial.print("动作结束于"); //输出Serial.print((millis() - pause)/1000); Serial.println("秒");延迟(50); } } } void checkPath() { int curLeft =0; int curRight =0;内部当前 =0; CurDist =0; checkForward(); myservo.write(135);延迟(100); for (pos =135; pos>=45; pos -=45) { myservo.write(pos);延迟(170); curDist =readPing(); if (curDist  90) { veerRight(); } } void veerRight() { motorR.run(BACKWARD); motorL.run(前进);延迟(ACT_TIME); motorR.run(前进); motorL.run(前进); motorSet ="FORWARD";} void veerLeft() { motorL.run(BACKWARD); motorR.run(前进);延迟(ACT_TIME); motorL.run(前进); motorR.run(前进); motorSet ="FORWARD";} void checkCourse() { moveBackward();延迟(ACT_TIME);移动停止(); setCourse();} void setCourse() { if (pos <90) { turnRight(); } if (pos> 90) { turnLeft(); }} void moveBackward() { motorSet ="BACKWARD"; motorR.run(向后); // 向右转电机向后 motorL.run(BACKWARD); // 向后转动左电机 for (speedSet =0; speedSet  

示意图

此框图显示了传感器和 Arduino 板之间的接口 此电路图展示了各种Sensor与Arduino Uno Board的连接配置 这个流程图展示了系统是如何工作的

制造工艺

  1. 使用 KINECT 和 RASPBERRY PI 的 SONBI 机器人人体检测
  2. Squid Games Doll 使用 Arduino UNO
  3. 使用 Firebase 将传感器数据从一个 Arduino 发送到另一个
  4. 使用 Arduino 和 RFID 和 Python 的考勤系统
  5. 使用 Arduino DIY 红外线心跳传感器
  6. 使用 Raspberry Motor Shield 的 Android 控制玩具
  7. IOT - 使用 ESP8266、Arduino 和超声波传感器的智能罐
  8. WebServerBlink 使用 Arduino Uno WiFi
  9. 森林火灾监测和探测系统(带短信警报)
  10. 使用 MAX30100 可穿戴脉搏传感器和 Arduino
  11. 使用 YL-39 + YL-69 土壤湿度传感器和 Arduino
  12. 如何使用 PHP 创建一个与 Arduino 通信的网站