ዝርዝር ሁኔታ:
ቪዲዮ: የኢንፍራሬድ ዳሳሽ በመጠቀም የዓይን እንቅስቃሴ መከታተያ -5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
የዓይን እንቅስቃሴዎችን ለመገንዘብ እና ኤልኢዲውን ለመቆጣጠር የኢንፍራሬድ ዳሳሽ እጠቀም ነበር።
በ LED ቴፖ ኒዮፒክስል የዓይን ብሌቶችን ሠራሁ።
ደረጃ 1 ሕገ መንግሥት
ለዓይን መከታተያ ሁለት ዳሳሾችን QTR - 1A እጠቀም ነበር። ከአርዱዲኖ ጋር ማስተዋል እና ኤልኢዲውን መቆጣጠር።
ክፍሎች
- SparkFun Arduino Pro Mini 328 - 5V/16MHz
- Adafruit LiIon/LiPoly Backpack Add-on for Pro Trinket/ItsyBitsy
- ሊፖ ባትሪ
- ኒኦፒክስል ስትሪፕ
- QTR-1A አንፀባራቂ ዳሳሽ
ደረጃ 2: NeoPixel LED Eye Ball
የ NeoPixel LED ቴፕ ጥቅም ላይ ይውላል። LED 68 አሃድ ነው።
ኤልኢዲ ባለ ሁለት ጎን ቴፕ እና በገመድ ወደ ሳህኑ ተስተካክሏል።
ደረጃ 3 የአነፍናፊ ክፍል
ለዓይን መከታተያ ሁለት ዳሳሾችን QTR - 1A እጠቀም ነበር። QTR - 1A ከዓይን ስፋት ገደማ ርቀት ላይ በፕላስቲክ ሰሌዳ ላይ ይደረጋል።
የአነፍናፊው ክፍል እና የማይክሮ መቆጣጠሪያ ክፍል በቅደም ተከተል ቅንጥብ ባለው የዓይን መነፅር ላይ ተስተካክለዋል።
ደረጃ 4: የአርዲኖ ኮድ
አይሪስ ወደ አንድ ዳሳሽ ሲቃረብ ፣ የሚንፀባረቀው ብርሃን እየቀነሰ እና የአነፍናፊው እሴት ይጨምራል። በተቃራኒው ፣ አይሪስ ሲንቀሳቀስ ፣ የሚንፀባረቀው ብርሃን ይጨምራል እና የፎቶ አንፀባራቂው ዳሳሽ እሴት ይቀንሳል።
የ LED የዓይን ኳስ ተማሪው የቀኝ እና የግራ እንቅስቃሴ የአንድ አነፍናፊ እሴት መጨመር እና መቀነስ ይሰማዋል እና ይቆጣጠረዋል። ብልጭ ድርግም በሚሉበት ጊዜ ሁለቱም አነፍናፊ እሴቶች ይቀንሳሉ ፣ ስለዚህ ሁለቱ አነፍናፊ እሴቶች በአንድ ጊዜ ከቀነሱ የ LED የዓይን ኳስ የዓይን ሽፋኖች ይወርዳሉ።
የሚከተለውን ቤተ -መጽሐፍት ተጠቀምኩ።
- QTRsensors:
- Adafruit_NeoPixel:
#አካትት #አካትት
#ጥራት NUM_SENSORS 2 // ጥቅም ላይ የዋሉ ዳሳሾች ብዛት#NUM_SAMPLES_PER_SENSOR 10 // አማካኝ#EMITTER_PIN QTR_NO_EMITTER_PIN ን ይግለጹ
int iniSensorValL ፣ sensorValL ፤ int iniSensorValR ፣ sensorValR; #መግለፅ ፒን A3 አዳፍ ፍሬ_ኔኦፒክስል መሪ = አዳፍ ፍሬ_ኔፔፒክስል (68 ፣ ፒን ፣ NEO_GRB + NEO_KHZ800) ፤ int blackNum = 24; int pupilNum = 12; uint32_t ቀለም; int ብሩህነት = 40; ባይት የዓይን ቀለም; int LR = 7; ቡሊያን ክዳን = ሐሰት; int cnt = 0;
// ጥቁር አይን ኤል እና አር አኒሜሽን ጥቁር LED [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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 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 ፣ 68 68 ፣ 68}};
// ተማሪ L&R animationint pupilLED [15] [12] = {{33 ፣ 34 ፣ 68 ፣ 68 ፣ 68 ፣ 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 ፣ 68 ፣ 68} ፣ {22 ፣ 45 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68 ፣ 68}};
// ብልጭ ድርግም የሚል አኒሜሽን የዓይን ሽፋሽፍት = 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 ((ያልተፈረመ ቻር ) {0, 1} ፣ NUM_SENSORS ፣ NUM_SAMPLES_PER_SENSOR ፣ EMITTER_PIN); ያልተፈረመ int int sensorValues [NUM_SENSORS];
ባዶ ብልጭ ድርግም (int eyelid, int LR) {if (የዐይን ሽፋን! = 8) {// Pewter for (uint16_t i = 0; i <led.numPixels (); i ++) {led.setPixelColor (i, led. Color (66 ፣ 66 ፣ 66)); }
// ጥቁር አይን ለ (uint16_t i = 0; i led.setPixelColor (blackLED [LR] ፣ ቀለም) ፤}
// ተማሪ ለ (uint16_t i = 0; i
led.setPixelColor (pupilLED [LR] , led. Color (0, 0, 66)); }
// የዐይን ሽፋን ለ (int i = 0; i <eyelidNum [eyelid]; i ++) {led.setPixelColor (eyelidLED , 0); }} ሌላ ከሆነ (የዐይን ሽፋን == 8) {led.clear () ፤ } led.show ();}
ባዶነት ማዋቀር () {
Serial.begin (115200); led.begin (); መርቷል ቅንብር ብሩህነት (ብሩህነት); // የመጀመሪያ ብሩህነት 40 led.show (); // ሁሉንም ፒክሰሎች ወደ ‹off› ቀለም = led. Color (0 ፣ 177 ፣ 55) ያስጀምሩ። // የተማሪ ቀለም መዘግየት (100); qtra.read (sensorValues); iniSensorValL = sensorValues [0]; iniSensorValR = sensorValues [1]; ብልጭ ድርግም (የዐይን ሽፋን ፣ LR); }
ባዶነት loop () {// QTR - 1A ዳሳሽ እሴት qtra.read (sensorValues); sensorValL = sensorValues [0]; sensorValR = sensorValues [1];
ድርብ rasioL = (ድርብ) ዳሳሽValL / iniSensorValL;
ድርብ rasioR = (ድርብ) ዳሳሽValR / iniSensorValR;
Serial.print (rasioL);
Serial.print (""); Serial.println (rasioR);
ከሆነ (rasioL> 0.985 && rasioR <0.985) {// ትክክል ለ (int i = LR; i <12; i ++) {ብልጭ ድርግም (0, i); መዘግየት (40); LR = እኔ; }} ሌላ ከሆነ (rasioL 0.985) {// ለ (int i = LR; i> 2; i-) {ብልጭ ድርግም (0 ፣ i) ፤ መዘግየት (40); LR = እኔ; }} ሌላ ከሆነ (cover == false && rasioL <0.96 && rasioR <0.96) {// ብልጭ ድርግም ብሎ ለ (int i = 1; i 0.96 && rasioR> 0.96) {// ብልጭ ድርግም ብሎ ለ (int i = 8; i > 0; i-) {ብልጭ ድርግም (i ፣ LR); መዘግየት (40); ክዳን = ሐሰት; }} ሌላ ከሆነ (cover == false && rasioL> 0.96 && rasioR> 0.96) {// normal // cnt ++; // የዐይን ሽፋን = 0; ከሆነ (LR <= 7) {ለ (int i = LR; i <= 7; i ++) {ብልጭ ድርግም (0, i); መዘግየት (40); LR = እኔ; }} ሌላ {ለ (int i = LR; i> = 7; i-) {ብልጭ ድርግም (0 ፣ i) ፤ መዘግየት (40); LR = እኔ; }}}
// የመጀመሪያ እሴት ያድሳል (cnt> 10) {iniSensorValL = sensorValL; iniSensorValR = sensorValR; cnt = 0; }}
ደረጃ 5 - ክወና
የግራ እና የቀኝ እንቅስቃሴን እና የተማሪውን ከአነፍናፊ ጋር ብልጭ ድርግም ያድርጉ ፣ እና የዓይን ኳስ ኤልኢዲውን ይቆጣጠሩ።
የሚመከር:
ከአርዱዲኖ ጋር የኢንፍራሬድ ዳሳሽ በመጠቀም 8 ደረጃዎች (ከስዕሎች ጋር)
ከአርዱዲኖ ጋር የኢንፍራሬድ ዳሳሽ መጠቀም - የኢንፍራሬድ (aka IR) ዳሳሽ ምንድነው? የ IR አነፍናፊ በደረጃዎች በተወሰኑ የተወሰኑ ድግግሞሽ ክልሎች ውስጥ የ IR ምልክቶችን የሚቃኝ እና በውጤቱ ፒን (በተለምዶ የምልክት ፒን) ላይ ወደ ኤሌክትሪክ ምልክቶች የሚቀይር የኤሌክትሮኒክ መሣሪያ ነው። . የ IR ምልክት
የዓይን ጠባቂ - በድምፅ የተቀሰቀሰ የዓይን ጥበቃ - 9 ደረጃዎች (ከስዕሎች ጋር)
የዓይን ሞግዚት-በድምፅ የተቀሰቀሰ የዓይን ጥበቃ-የዓይን ጠባቂ በአርዱዲኖ የተጎላበተ ፣ ባለከፍተኛ ዲሲቤል ቀጣይ ድምፅ የዓይን ጥበቃን የሚለብስ ነው። መሣሪያው በሚሠራበት ጊዜ ከባድ የመሣሪያ ድምጽን ይገነዘባል እና የመከላከያ የዓይን መነፅሮችን ዝቅ ያደርጋል። በመጀመሪያ ደረጃ ፣ Inspirati ን እገልጻለሁ
ለአካል ጉዳተኞች የዓይን መከታተያ -11 ደረጃዎች
ለአካል ጉዳተኞች የአይን መከታተያ - የዓይን መከታተያ ሶፍትዌር ሄይ ፣ ስሜ ሉካስ አህን ነው ፣ በሌላ መልኩ ሱ ያንግ አህን በመባል ይታወቃል። በአሁኑ ጊዜ በእስያ ፓስፊክ ዓለም አቀፍ ትምህርት ቤት ተመዝግቤያለሁ ፣ እና ይህ የእኔ ፕሮጀክት ነው
የኢንፍራሬድ መከታተያ ውሻ 3 ደረጃዎች
የኢንፍራሬድ መከታተያ ውሻ-አንድ ቀን አስደሳች ቪዲዮ በ http://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ& በእውነት
በቤቴ ማን አለ? የፒአር እንቅስቃሴ ዳሳሽ/ክልል ዳሳሽ ፕሮጀክት 5 ደረጃዎች
በቤቴ ማን አለ? የፒአር እንቅስቃሴ ዳሳሽ/ክልል ዳሳሽ ፕሮጀክት - የእኛ ፕሮጀክት በፒአር እና በርቀት ዳሳሾች በኩል እንቅስቃሴን ለመገንዘብ የታለመ ነው። አንድ ሰው በአቅራቢያው እንዳለ ለተጠቃሚው ለመንገር የአርዲኖ ኮድ የእይታ እና የድምፅ ምልክት ያወጣል። የ MATLAB ኮድ አንድ ሰው ቅርብ መሆኑን ለተጠቃሚው ለማስጠንቀቅ የኢሜል ምልክት ይልካል። ይህ መሣሪያ