Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Infrarood Oogbewegingstracking met Arduino Pro Mini – LED-besturingsdemo

Componenten en benodigdheden

SparkFun Arduino Pro Mini 328 - 5V/16MHz × 1
Adafruit LiIon/LiPoly Backpack Add-On voor Pro Trinket/ItsyBitsy × 1
NeoPixel LED-strip (68 LED's) × 1
QTR-1A Reflectiesensor (2 stuks) × 2
3.7V LiPo-accu × 1

Apps en online services

  • Arduino IDE - voor programmeren van de microcontroller

Over dit project

In dit project worden infraroodsensoren gebruikt om oogbewegingen te detecteren en een LED-oogballon te besturen. De opstelling bestaat uit een NeoPixel LED-strip van 68 LED's die als kunstmatig oog fungeert, en twee QTR-1A reflectiesensors die op een brilmontage zijn bevestigd om de positie van de pupil te meten.

NeoPixel LED Oogballon

De NeoPixel LED-strip wordt in een komvormige behuizing gemonteerd met dubbelzijdig tape. De 68 LED's zijn in een specifiek patroon aangesloten om de iris en pupil van een oog na te bootsen. De LED's kunnen verschillende animaties weergeven: zwarte oogbeweging (links/rechts), pupilbeweging en knipperanimaties.

Oogbewegingstracking

Schema

De twee QTR-1A sensoren worden op een kunststofplaatje gemonteerd op een afstand die overeenkomt met de breedte van het oog. De sensoren meten de gereflecteerde infraroodlicht: wanneer de pupil naar een sensor toe beweegt, neemt het gereflecteerde licht af en stijgt de sensorwaarde. Bij knipperen dalen beide sensorwaarden simultaan.

Sensoropstelling

De sensordeelen en de microcontroller worden met klemmen aan een bril bevestigd, zodat ze comfortabel gedragen kunnen worden tijdens gebruik.

Arduino Code

De code gebruikt de QTRSensors en Adafruit_NeoPixel bibliotheken. Het systeem kalibreert initieel de sensorwaarden en vergelijkt vervolgens de realtime verhoudingen om de oogpositie te bepalen:

  • Rechts kijken: Linker sensorwaarde stijgt, rechter daalt
  • Links kijken: Rechter sensorwaarde stijgt, linker daalt
  • Knipperen: Beide sensorwaarden dalen onder een drempelwaarde

De LED-animaties worden gedefinieerd in arrays voor zwarte oogbeweging (15 frames), pupilbeweging (15 frames) en knipperen (8 frames). De blink() functie past de kleuren en helderheid toe op de NeoPixels op basis van de huidige animatieframe en oogpositie.

Werking

Bij opstarten kalibreert het systeem de basissensorwaarden. In de hoofdloop worden continu de sensorverhoudingen berekend en de LED-oogballon aangestuurd. Er is ook een automatische herkalibratie na elke 10 cycli om drifts te compenseren.

Productieproces

  1. Waarom ontwerpers terugkeren naar natuurlijke materialen in productontwerp
  2. TMP006 Infrarood temperatuursensor met Raspberry Pi: Python bibliotheek & installatiegids
  3. Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
  4. Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
  5. Veilige thuismonitoring met Home Assistant op Raspberry Pi: Beweging, alarm en videocapture
  6. Een DIY Infrarood Bewegingssensor Bouwen voor Raspberry Pi – Stapsgewijze Handleiding
  7. Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
  8. Een Leap Motion-gestuurde lasertank bouwen – Arduino, Raspberry Pi, RGB-leds
  9. Bouw een betrouwbare infrarode hartslagsensor met Arduino: stapsgewijze handleiding
  10. Precieze infrarood temperatuurmeting voor kleurgevoelige processen
  11. Gepulste‑Licht Sensor: LED Lichtpulsen Versterken tot Hoorbaar Geluid