Pressure sensor might help.
Or capacitive sensors, like in touch screens.
- An array, or single.
But that involves contact, which might disturb the subject.
A disturbance already would come from your light show. Maybe one more - a contact - would not hurt.
A danger of contact is that a bad design might get into the eye, if it becomes loose by accident.
Perhaps you could use a pressure sensor without contact: detect changes in air pressure.
A non invasive way would be to use a photo camera either for visible light or IR.
The problem with a camera for visible light is obvious: you need an ambient light (emission).
Cameras offer greater detail, which you may not require though.
Maybe a cheap sensor is all you need.
Ultrasaound would also require a constant emission of ambient energy.
Try a completely different approach: detect motion of the body, breathing, snorring, belching (from both ends of the body). - You may detect them all either by touch, or sound, or ignition (on the rear end - readily, on the front - after unhealthy drinks).
This might be easier, and more informative.
You might mix the sound of the subject with ambient sound, and react to both.
Hmmm, interesting idea. I would think the only effective way to do this would be to have several different lasers so that you could tell where the eye was moving. Then again, maybe where the eye is isn't as important as how fast it's moving. I'm glad I stumbled upon this thread, as it's making my brain work. I don't have much experience with engineering yet--I only just started my degree at school and have not explored much on my own yet, other than tinkering with an arduino. Keep me updated, though. I'd be interested to hear what you come up with.
I actually just finished it last night after a week of collecting parts and writing the firmware, i found one solution which was a pressure sensitive/vibration film from sparkfun.com it works really well but the problem is that in the night the mask doesnt stay in one place leading to the sensor not properly touching my eyelid so even though its detecting movement its not within "the standards" ive set up to activate a part of the program..
Currently it outputs analog.. And i have it set up to take in readings over 3 to be "movement" and if theres movement over x amounts of time then it activated a protocal.. Like i said though since the sensor changes position it may sometimes always be activating or sometimes not at all because its not in that threshold... Im unsure of how to make the program respond to it right since its so sensitive it picks up vibrations from my heatbeat through my skin so i cant just say activate on movement...
As for the lucid dreaming, its working really well, so far -sometimes- detecting rem sleep and notifying me with customizable patterns. Then i can do whatever, make whatever, design whater universe i want.. Its pretty mind blowing but it has to rely on detecting rem sleep to work properly.. So far the film isnt working that well... And IR leds are a whole other ball game that i tried and failed with unless anyone else has ideas how to detect subtle changes in ir properly since im a novice still
theres around a 5 hour buffer before real rem starts.. then theres 4 stages you go through each time before going into rem again. if you recieve any stimulus in the first stag then you'll most likley be worken up and groggy.. after each 4 stage non-rem sleep you go into rem sleep for around 10 minutes, then around 20 to 80 minutes of non rem then about 20 mins of rem then 20- 80 of N rem again , then 30 of rem then 20 - 80 of Nrem then 40 minutes of rem and the cycles continues till you have around an hour or REM sleep after 8-10 hours of sleep or so...
I,ve programmed it so you can set when the device starts and you can aim it at that last hour of rem sleep.. only if the rem detection works.. which I'll try again tonight to see what happens
during rem your eye is moves constantly i assume. It is basicly yourself looking around in a dream.. so i guess it could be still staring at "someone" or "something" or moving if you are looking around.. but its known that your eyes are vary still in Nrem sleep
aside from that, its really sensitive.. and the analog noice from nearby electronics makes it really wonky.. just setting it on my table the readings go from 2 - 10 randomly but not often.. 2-3 vary often
and the reading when its on the eye lid is around 3- 6 or so with mild movement and 6-12 with really sparatic left to right movement..
the program like i said, counts the number of times it goes over 3 and if that number is small it ignores it and if its large it detects "movement..
I guess I may be able to detect a baseline during Nrem at the start of sleep to make sure it knows what non-movement is.. but that still doesn't solve the problem of the sensor loesing contact with the eyelid over the course of the night.. tossing and turning really moves the mask around.. tightening it would work but it's just too uncomfortable to sleep in that way..
have you heard anything on reducing analog noise somehow?
c'mon, a bit of logic should be used when brainstorming. I'm not going to paint stuff on my eyelids to get this to work. It's got to be something that works nightly, and is consistant.
i need a releable way of detecting rem sleep. I've got tons of programming room to compute a lot of stuff preferably not vary often as to not kill the battery.
maybe a heatbeat sensor?
it has to be cheap too, I'm not going to buy a camera and hope to attach it in a way that wont intrude my sleep..
I'm struggling to find something relable at this point
I'm sorry i offended you. I really did not have much to go on. I was not trying to make fun of your project and logic was used in the idea. The dot on the eyes are used in motion picture animation. A tiny (cheep) webcam with IR light would have been sufficient.
Regardless, If your going to take offence to the help I am trying to provide, I'm sorry, I can't help you.
Otherwise, point me in the right direction (such as a link to the sleep mask you referred to) and we'll see if we can solve this dilemma.
There are 2 primary paths to consider, an appliance to the eyelid (Contact) and a remote monitoring method (non-contact).
A third path would be to try and measure the pulse to the muscles controlling the eye movement. However, this may be cost prohibitive.
If your touch panel loses touch, then you have to design padding so that it does not loose touch.
If all fails, you may always apply metal springs, anchors, glue, or heavy weight.
If the problem is that the panel slips aside, still touching other parts of the body, then you have to design a larger panel, with more sensors, so a sensor ir always over an eye. When it slips, another comes into its place.
Lost touch can occur with any other sensor. A nudge by hand is strong enough to displace just about anything. Be it IR, PIR, photo camera, or touch panel.
Lasers are a danger to an eye. Avoid them. Avoid emitting any light for the purpose of detection of motion. - Even not a laser.
Analogue noise will not go away, if its form is comparable to your signal. Your signal has to be stronger than noise.
If your signal, or noise has some dominant frequency, then you can tune to that frequency, of filter it out.
Occasional, or constant spikes of noise are easy to filter by a simple RC filter (resistor, capacitor), or just a capacitor by itself. It would distort the fronts of the signal. But if the signal is long enough, it would come through.
If your signal is indistiguishable from noise, then you can't separate it from noise.
Part of a lucid dreaming mask i've been thinking of making. I want to use a sensor of some sort to detect REM sleep and then once in a lucid dreaming state I'd like to have a feedback system that looks for a set pattern of movements, so i can tell the device to stop emiting lights when I am in a lucid dreaming state.
My other option is to use an accelerometer to detect rem sleep in patterns fo movements every 90 minutes but thats seems erratic and prone to problems
any ideas or advice would be much appriciated!