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

使用红外线传感器进行眼球运动追踪

组件和用品

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy
× 1
NeoPixel strip
× 1
QTR-1A 反射传感器
× 1
3.7 V LiPo 电池
× 1

应用和在线服务

Arduino IDE

关于这个项目

我使用红外传感器来感知眼球运动并控制 LED。

NeoPixel LED 眼球

使用 NeoPixel LED 胶带。 LED是68个单位。

LED 用双面胶带固定在碗上,并按以下顺序接线。

眼动追踪

原理图

传感器

我使用了两个传感器 QTR - 1A 进行眼动追踪。 QTR - 1A 放置在塑料片上,距离约为眼睛的宽度。

传感器部分和微控制器部分分别用夹子固定在眼镜上。

Arduino代码

当虹膜接近一个传感器时,反射光减少,传感器值增加。相反,当虹膜移开时,反射光增加,光反射器的传感器值减小。

LED眼球瞳孔的左右运动感知一个传感器值的增减并加以控制。

眨眼时,两个传感器值都下降,所以如果两个传感器值同时下降,LED眼球的眼皮就会下降。

#include #include #define NUM_SENSORS 2 // 使用的传感器数量#define NUM_SAMPLES_PER_SENSOR 10 // 平均#define EMITTER_PIN QTR_NO_EMITTER_PIN int iniSensorValL, sensorValRValint;;#define PIN A3Adafruit_NeoPixel led =Adafruit_NeoPixel(68, PIN, NEO_GRB + NEO_KHZ800);int blackNum =24;int studentNum =12;uint32_t color;int 亮度 =40;byte eyeColor;int LR =7;booleanlid =false; cnt =0;//黑眼L&R动画int blackLED[15][24] ={{12,32,35,55,68,68,68,68,68,68,68,68,68,68,68, 68,68,68,68,68,68,68,68,68}, {12,13,31,36,54,55,68,68,68,68,68,68,68,68,68, 68,68,68,68,68,68,68,68,68}, {11,13,14,30,37,53,54,56,68,68,68,68,68,68,68, 68,68,68,68,68,68,68,68,68}, {10,11,14,15,29,38,52,53,56,57,68,68,68,68,68, 68,68,68,68,68,68,68,68,68}, { 9,10,11,12,15,16,28,33,34,39,51,52,55,56,57, 58,68,68,68,68,68,68,68,68}, { 0, 8, 9,10,11,12,13,16,17,27,32,35,40,50,51, 54,55,56,57,58,59,67,68,68}, { 0, 1, 7, 8, 9,10,13,14,17,18, 26,31,36,41,49,50,53,54,57,58,59,60,66,67}, { 1, 2, 6, 7, 8, 9,14,15,18,19, 25,30,37,42,48,49,52,53,58,59,60,61,65,66}, { 2, 3, 5, 6, 7, 8,15,16,19,20, 24,29,38,43,47,48,51,52,59,60,61,62,64,65}, { 3, 4, 5, 6, 7,16,17,20,21,23, 28,39,44,46,47,50,51,60,61,62,63,64,68,68}, { 4, 5, 6,17,18,21,22,27,40,45, 46,49,50,61,62,63,68,68,68,68,68,68,68,68}, { 4, 5,18,19,26,41,48,49,62,68, 68,68,68,68,68,68,68,68,68,68,68,68,68,68}, { 4,19,20,25,42,47,48,63,68,68, 68,68,68,68,68,68,68,68,68,68,68,68,68,68}, {20,21,24,43,46,47,68,68,68,68, 68,68,68,68,68,68,68,68,68,68,68,68,68,68}, {21,23,44,46,68,68,68,68,68,68, 68,68,68,68,68,68,68,68,68,68,68,68,68,68}};//瞳孔L&R动画int瞳孔LED[15][12] ={{33,34,68 ,68,68,68,68,68,68,68,68,68}, {32,33,34,35,68,68,68,68,68,68,68,68}, {12,31 ,32,33,34,35,36,55,68,68,68,68}, {12,13,30,31,32,33,34,35,36,37,54,55}, {13 ,14,29,30,31,32,35,36,37,38,53,54}, {14,15,28,29,30,31,36,37,38,39,52,53}, {15,16,27,28,29,30,37,38,39,40,51,52}, {16,17,26,27,28,29,38,39,40,41,50,51 }, {17,18,25,26,27,28,39,40,41,42,49,50}, {18,19,24,25,26,27,40,41,42,43,48,49 }, {19,20,23,24,25,26,41,42,43,44,47,48}, {20,21,22,23,24,25,42,43,44,45,46 ,47}, {21,22,23,24,43,44,45,46,68,68,68,68}, {22,23,44,45,68,68,68,68,68,68 ,68,68}, {22,45,68,68,68,68,68,68,68,68,68,68}};//闪烁动画int eyelid =0;int eyelidNum[8] ={0, 4,8,16,24,34,44,56};int eyelidLED[56] ={64,65,66,67,58,59,60,61,56,57,62,63,49,50, 51,52,47,48,53,54,38,39,40,41,46,55,36,37,42,43,26,27,28,29,35,44,24,25,30, 31,15,16,17,18,34,45,23,32,13,14,19,20,6,7,8,9};QTRSensorsAnalog qtra((unsigned char[]) {0, 1}, NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN);unsigned int sensorValues[NUM_SENSORS];voidblink(int eyelid, int LR) { if (eyelid !=8){ //Pewter for(uint16_t i=0; i 0.985 &&rasioR <0.985){ //right for(int i =LR; i <12; i++){blink(0, i);延迟(40); LR =i; } }else if(rasioL <0.985 &&rasioR> 0.985){ //left for(int i=LR; i>2; i--){blink(0, i);延迟(40); LR =i; } }else if(lid ==false &&rasioL <0.96 &&rasioR <0.96){ //闪烁关闭 for(int i =1; i <9; i++){ browse(i, LR);延迟(40);盖子 =真; } }else if(lid ==true &&rasioL> 0.96 &&rasioR> 0.96){ //闪烁打开 for(int i =8; i> 0; i--){ browse(i, LR);延迟(40);盖子=假; } }else if(lid ==false &&rasioL> 0.96 &&rasioR> 0.96) { //正常 //cnt++; //眼睑=0; if(LR <=7){ for(int i=LR; i<=7; i++){ 闪烁(0, i);延迟(40); LR =i; } }else { for(int i=LR; i>=7; i--){ 闪烁(0, i);延迟(40); LR =i; Serial.println("通常时"); } //初始值刷新 if (cnt> 10){ iniSensorValL =sensorValL; iniSensorValR =sensorValR; cnt =0; }} 

操作


制造工艺

  1. 是什么让我们重新在产品设计中使用天然材料?
  2. 脉冲光传感器
  3. TMP006 温度传感器 Python 库,使用 Raspberry pi,
  4. Python 和 Raspberry Pi 温度传感器
  5. 带 RPi 的线跟踪传感器
  6. 树莓派上的 HA 中的运动传感器、警报、视频录制
  7. 用于 Raspberry Pi 的 DIY 红外运动传感器系统
  8. 使用 Raspberry Pi 的运动传感器
  9. Leap Motion 激光坦克!
  10. 使用 Arduino DIY 红外线心跳传感器
  11. LED Matrix + Motion Sensor Door Display [Arduino Holiday]
  12. 红外传感器温度测量