Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pelacakan Gerakan Mata Menggunakan Sensor Inframerah

Komponen dan persediaan

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
Adafruit LiIon/LiPoly Backpack Add-On untuk Pro Trinket/ItsyBitsy
× 1
strip NeoPixel
× 1
Sensor Pemantulan QTR-1A
× 1
Baterai LiPo 3,7 V
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Saya menggunakan sensor inframerah untuk merasakan gerakan mata dan mengontrol LED.

Bola Mata LED NeoPixel

Pita LED NeoPixel digunakan. LED adalah 68 unit.

LED dipasang pada mangkuk dengan selotip dua sisi dan disambungkan dengan urutan sebagai berikut.

Pelacakan Gerakan Mata

Skematis

Sensor

Saya menggunakan dua sensor QTR - 1A untuk pelacakan mata. QTR - 1A ditempatkan pada lembaran plastik dengan jarak kira-kira selebar mata.

Bagian sensor dan mikrokontroler dipasang pada kacamata masing-masing dengan klip.

Kode Arduino

Ketika iris mendekati satu sensor, cahaya yang dipantulkan berkurang dan nilai sensor meningkat. Sebaliknya, ketika iris menjauh, cahaya yang dipantulkan meningkat dan nilai sensor dari reflektor foto berkurang.

Gerakan kanan dan kiri pupil bola mata LED merasakan kenaikan dan penurunan satu nilai sensor dan mengontrolnya.

Saat berkedip, kedua nilai sensor berkurang, sehingga jika kedua nilai sensor berkurang secara bersamaan, kelopak mata bola mata LED akan turun.

#include #include #define NUM_SENSORS 2 // jumlah sensor yang digunakan#define NUM_SAMPLES_PER_SENSOR 10 // averaging#define EMITTER_PIN QTR_NO_EMITTER_PIN int iniSensorValRint sensorVensorVal;;#define PIN A3Adafruit_NeoPixel led =Adafruit_NeoPixel(68, PIN, NEO_GRB + NEO_KHZ800);int blackNum =24;int pupilNum =12;uint32_t color;int brightness =40;byte eyeColor;int LR =7;boolean lid =false;int cnt =0;//Animasi L&R mata hitamint 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}};//animasi L&R murid di 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}, {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}};//Blink animationint kelopak mata =0;int kelopak mataNum[8] ={0, 4,8,16,24,34,44,56};int kelopak mataLED[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];void blink(int kelopak mata, int LR) { if (kelopak mata !=8){ //Pewter for(uint16_t i=0; i 0.985 &&rasioR <0.985){ //kanan untuk(int i =LR; i <12; i++){ blink(0, i); penundaan (40); LR =saya; } }else if(rasioL <0.985 &&rasioR> 0.985){ //kiri untuk(int i=LR; i>2; i--){ blink(0, i); penundaan (40); LR =saya; } }else if(lid ==false &&rasioL <0.96 &&rasioR <0.96){ //Berkedip dekat (int i =1; i <9; i++){ blink(i, LR); penundaan (40); tutup =benar; } }else if(lid ==true &&rasioL> 0.96 &&rasioR> 0.96){ //Berkedip terbuka untuk(int i =8; i> 0; i--){ blink(i, LR); penundaan (40); tutup =palsu; } }else if(lid ==false &&rasioL> 0.96 &&rasioR> 0.96) { //normal //cnt++; //kelopak mata =0; if(LR <=7){ for(int i=LR; i<=7; i++){ blink(0, i); penundaan (40); LR =saya; } }else { for(int i=LR; i>=7; i--){ blink(0, i); penundaan (40); LR =saya; } } Serial.println("通常時"); } //Refresh nilai awal jika (cnt> 10){ iniSensorValL =sensorValL; iniSensorValR =sensorValR; cnt =0; }} 

Operasi


Proses manufaktur

  1. Apa yang Membuat Kami Kembali Menggunakan Bahan Alami dalam Desain Produk?
  2. Sensor cahaya berdenyut
  3. TMP006 Sensor Suhu Pustaka Python menggunakan Raspberry pi,
  4. Sensor Suhu Python dan Raspberry Pi
  5. Sensor pelacakan garis dengan RPi
  6. Sensor gerak, alarm, perekaman video dalam HA pada Raspberry Pi
  7. Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
  8. Sensor Gerak menggunakan Raspberry Pi
  9. Tank Laser Leap Motion!
  10. Pengukuran Suhu Sensor Inframerah