![Инфракызыл сенсордун жардамы менен көздүн кыймылын көзөмөлдөө: 5 кадам Инфракызыл сенсордун жардамы менен көздүн кыймылын көзөмөлдөө: 5 кадам](https://i.howwhatproduce.com/images/001/image-1833-80-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Инфракызыл сенсордун жардамы менен көздүн кыймылын көзөмөлдөө Инфракызыл сенсордун жардамы менен көздүн кыймылын көзөмөлдөө](https://i.howwhatproduce.com/images/001/image-1833-81-j.webp)
Мен инфракызыл сенсор менен көздүн кыймылын сезип, LEDди көзөмөлдөп турдум.
Мен LED Tape NeoPixel менен көз алмаларды жасадым.
1 -кадам: Конституция
![Конституция Конституция](https://i.howwhatproduce.com/images/001/image-1833-82-j.webp)
Мен көзгө көз салуу үчүн QTR - 1A эки сенсорун колдондум. Arduino менен сезүү жана LEDди башкаруу.
компоненттери
- SparkFun Arduino Pro Mini 328 - 5V/16MHz
- Adafruit LiIon/LiPoly рюкзак Pro Trinket/ItsyBitsy үчүн кошумча
- LiPo батареясы
- NeoPixel тилкеси
- QTR-1A чагылтуу сенсору
2 -кадам: NeoPixel LED Eye Ball
![NeoPixel LED көз шары NeoPixel LED көз шары](https://i.howwhatproduce.com/images/001/image-1833-83-j.webp)
![NeoPixel LED көз шары NeoPixel LED көз шары](https://i.howwhatproduce.com/images/001/image-1833-84-j.webp)
NeoPixel LED тасмасы колдонулат. LED 68 бирдик.
LED идишке эки тараптуу скотч менен бекитилген жана зым менен бекитилген.
3 -кадам: Sensor Unit
![Сенсор бирдиги Сенсор бирдиги](https://i.howwhatproduce.com/images/001/image-1833-85-j.webp)
![Сенсор бирдиги Сенсор бирдиги](https://i.howwhatproduce.com/images/001/image-1833-86-j.webp)
![Сенсор бирдиги Сенсор бирдиги](https://i.howwhatproduce.com/images/001/image-1833-87-j.webp)
Мен көзгө көз салуу үчүн QTR - 1A эки сенсорун колдондум. QTR - 1A пластикалык баракка көздүн туурасынан алыс аралыкта жайгаштырылган.
Сенсордун бөлүгү жана микроконтроллердин бөлүгү көз айнекке тийиштүү түрдө клип менен бекитилген.
4 -кадам: Arduino коду
Ирис бир сенсорго жакындаганда, чагылган жарык азайып, сенсордун мааниси жогорулайт. Тескерисинче, ирис алыстап кеткенде, чагылган жарык көбөйөт жана фото рефлектордун сенсордук мааниси төмөндөйт.
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; #define PIN A3 Adafruit_NeoPixel led = Adafruit_NeoPixel (68, PIN, NEO_GRB + NEO_KHZ800); int blackNum = 24; int pupilNum = 12; uint32_t түсү; int жарыктыгы = 40; байт көзColor; int LR = 7; логикалык капкак = жалган; int cnt = 0;
// Кара көз L&R анимациясы 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, 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}, {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}, {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, 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, 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}, {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}};
// окуучу L&R анимациясы окуучуга [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}};
// Blink animationint kirpik = 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); unsigned int sensorValues [NUM_SENSORS];
void blink (int eye, int LR) {if (eye! = 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 (окуучу [LR] , led. Color (0, 0, 66)); }
// үчүн кабак (int i = 0; i <eyelidum] }} else if (кабак == 8) {led.clear (); } led.show ();}
жараксыз орнотуу () {
Serial.begin (115200); led.begin (); led.setBrightness (жарыктык); // Initial Brightness 40 led.show (); // Бардык пикселдерди "өчүрүү" түсүнө баштапкы түс = led. Color (0, 177, 55); // окуучунун түсүнүн кечигүүсү (100); qtra.read (sensorValues); iniSensorValL = sensorValues [0]; iniSensorValR = sensorValues [1]; көз ирмөө (кабак, LR); }
void loop () {// QTR - 1A сенсордун мааниси qtra.read (sensorValues); sensorValL = sensorValues [0]; sensorValR = sensorValues [1];
кош rasioL = (кош) sensorValL / iniSensorValL;
кош rasioR = (кош) sensorValR / iniSensorValR;
Serial.print (rasioL);
Serial.print (""); Serial.println (rasioR);
if (rasioL> 0.985 && rasioR <0.985) {// right for (int i = LR; i <12; i ++) {blink (0, i); кечиктирүү (40); LR = i; }} else if (rasioL 0.985) {// for (int i = LR; i> 2; i-) {blink (0, i); кечиктирүү (40); LR = i; }} else if (lid == false && rasioL <0.96 && rasioR <0.96) {// For blinking for close (int i = 1; i 0.96 && rasioR> 0.96) {// Blinking open for (int i = 8; i > 0; i-) {blink (i, LR); кечиктирүү (40); lid = false; }} else if (lid == false && rasioL> 0.96 && rasioR> 0.96) {// нормалдуу // cnt ++; // кабак = 0; if (LR <= 7) {for (int i = LR; i <= 7; i ++) {blink (0, i); кечиктирүү (40); LR = i; }} else {for (int i = LR; i> = 7; i-) {blink (0, i); кечиктирүү (40); LR = i; }}}
// Баштапкы маанини жаңыртуу, эгерде (cnt> 10) {iniSensorValL = sensorValL; iniSensorValR = sensorValR; cnt = 0; }}
5 -кадам: операция
Сенсор менен окуучунун сол жана оң кыймылын аныктап, көздүн карегиндей болгон диодду көзөмөлдөңүз.
Сунушталууда:
Адамдын көзүнүн кыймылын көзөмөлдөө: 6 кадам
![Адамдын көзүнүн кыймылын көзөмөлдөө: 6 кадам Адамдын көзүнүн кыймылын көзөмөлдөө: 6 кадам](https://i.howwhatproduce.com/images/001/image-354-17-j.webp)
Human Eye Motion Tracking: Бул долбоор адамдын көзүнүн кыймылын тартууну көздөйт жана анын кыймылын көздүн формасында жайгаштырылган LED чырактарынын топтомуна көрсөтөт. Мындай долбоордун потенциалдуу түрдө робототехника жана өзгөчө гума тармагында колдонулушу мүмкүн
Картон кыймылын көзөмөлдөө роботу: 8 кадам
![Картон кыймылын көзөмөлдөө роботу: 8 кадам Картон кыймылын көзөмөлдөө роботу: 8 кадам](https://i.howwhatproduce.com/images/006/image-16223-24-j.webp)
Картон кыймылын көзөмөлдөө роботу: Мен картон конкурсуна катышам. Эгерде сизге менин көрсөтмөм жакса, ага добуш бериңиз! Бул көрсөтмөнү изилдеп чыккандан кийин, сиз Cruizmo Cisтин дизайнын жана колдонулушун үйрөнөсүз. Cruizmo Cis - трафикти көзөмөлдөгөн акылдуу робот. Бул эки унааны тең көзөмөлдөйт
SMART MAKE HATC - 4x RTL -SDR (50 $) менен үйдөгү аба кыймылын көзөмөлдөө: 7 кадам
![SMART MAKE HATC - 4x RTL -SDR (50 $) менен үйдөгү аба кыймылын көзөмөлдөө: 7 кадам SMART MAKE HATC - 4x RTL -SDR (50 $) менен үйдөгү аба кыймылын көзөмөлдөө: 7 кадам](https://i.howwhatproduce.com/images/003/image-7125-4-j.webp)
SMART MAKE HATC - 4x RTL -SDR менен үйдөгү аба кыймылын көзөмөлдөө (50 $): Төмөн баада HATC түшүнүгүнүн далили - Үйдө аба кыймылын башкаруу аппараттык тутумдун концепциясын далилдөө үчүн сунуш
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
![Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен) Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/003/image-7587-11-j.webp)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот
Дүйнөнүн каалаган жеринен сенсордун баалуулугун түз көзөмөлдөө: 4 кадам
![Дүйнөнүн каалаган жеринен сенсордун баалуулугун түз көзөмөлдөө: 4 кадам Дүйнөнүн каалаган жеринен сенсордун баалуулугун түз көзөмөлдөө: 4 кадам](https://i.howwhatproduce.com/images/003/image-8820-12-j.webp)
Дүйнө жүзүнүн каалаган жеринен сенсордун баалуулугун түз көзөмөлдөө: Мен бир долбоорду ишке ашырууга жардам берүү боюнча WhatsApp номерине кабар алдым. Долбоор басым сенсорунун басымын өлчөө жана аны смартфонго көрсөтүү болчу. Ошентип, мен бул долбоорду түзүүгө жардам бердим жана тарбиячы кылууну чечтим