This ca be caused by a dirty IDLE AIR CONTROL VALVE. It changes fuel mixture at various speeds. If it is dirty, the O2 sensors will over-react. Then trigger the system light. Buy can of Gum-out, and spray the throttle body SHOWROOM CLEAN. the IAC valve is part of this, or on the side of this. Remove it for best results. Clean your PCV valve and hose with the spray, too. Doing this with engine running will eventually get the cleaner to your O2 sensors and reset it/them. It will give your engine a slight "headache" for a minute or two. Good luck!!