User Tools

Site Tools


lego_nxt_optical_sensor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lego_nxt_optical_sensor [2018/10/02 14:23] – [5, Send data from an Arduino to LEGO NXT via I2C] phamquyenanhlego_nxt_optical_sensor [2018/10/02 15:10] (current) – [Code] phamquyenanh
Line 19: Line 19:
 {{ :wiki:spcp168a-circuit.gif?nolink |}} {{ :wiki:spcp168a-circuit.gif?nolink |}}
 The SPCP168A datasheet : http://datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2015/11/SPCP168A.pdf The SPCP168A datasheet : http://datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2015/11/SPCP168A.pdf
-===== 2, PS/2 protocal  =====+===== 2, PS/2 protocol  =====
 ==== PS/2 connection ==== ==== PS/2 connection ====
 The PS/2 connection is the IBM standard protocol to communicate keyboard, PC mouse with your computer. This protocol has the responsibility to send the key scan codes that you press to the pc and get some response commands from it. This means that we are dealing with a bi-directional type of protocol as each device (pc/keyboard) sends and receives commands. The PS/2 connection is the IBM standard protocol to communicate keyboard, PC mouse with your computer. This protocol has the responsibility to send the key scan codes that you press to the pc and get some response commands from it. This means that we are dealing with a bi-directional type of protocol as each device (pc/keyboard) sends and receives commands.
Line 56: Line 56:
 </code>  </code> 
          
-===== 3, Materials and Software =====+===== 3, Materials  =====
 ==== Materials and Sources ==== ==== Materials and Sources ====
  
Line 70: Line 70:
 | Lego NXT breadboard adapter   | https://www.generationrobots.com/en/401251-nxt-breadboard-adapter-dexter-industries.html | | Lego NXT breadboard adapter   | https://www.generationrobots.com/en/401251-nxt-breadboard-adapter-dexter-industries.html |
 | LEGO Mindstorms NXT / EV3 Connector Cables  | https://www.amazon.com/LEGO-Mindstorms-NXT-Connector-Cables/dp/B00G1L8J5A | | LEGO Mindstorms NXT / EV3 Connector Cables  | https://www.amazon.com/LEGO-Mindstorms-NXT-Connector-Cables/dp/B00G1L8J5A |
-==== Software and Sources ==== +
-  * Arduino ide +
-  * ROBOTC for LEGO Mindstorms+
 ===== 4, Interface A Sensor Mouse with Arduino  via PS/2 protocol ===== ===== 4, Interface A Sensor Mouse with Arduino  via PS/2 protocol =====
 ==== Connection ==== ==== Connection ====
Line 151: Line 149:
     // put a hold on the incoming data     // put a hold on the incoming data
     low(_clockPin);     low(_clockPin);
 +}
 +</code> 
 +Reading data from optical mouse sensor
 +<code c Read>
 +void readdd()
 +{
 +  requestData();
 +  Dstatu = readByte(); // this byte for buttons
 +  Dx = readByte();   
 +  Dy = readByte();
 +  if (_supportsIntelliMouseExtensions) {
 +        DataWheel[count] = readByte();
 +        count++;
 +        
 +    }
 +  X += (int)Dx;
 +  Y += (int)Dy;
 +  if(count==3)
 +  {
 +    for(count;count>=0;count--)
 +    { 
 +      Sum+=(int)DataWheel[count];
 +    }
 +    if(Sum>0) W++;
 +    else if(Sum<0) W--;
 +    Sum=0;count=0;
 +  }
 } }
 </code>  </code> 
Line 249: Line 274:
  
 **Video** **Video**
 +{{youtube>NjTEpLt_3GU?medium}}
 ===== Reference ===== ===== Reference =====
   - https://en.wikipedia.org/wiki/Optical_mouse   - https://en.wikipedia.org/wiki/Optical_mouse
Line 254: Line 280:
   - https://playground.arduino.cc/Main/InterfacingWithHardware#mouse   - https://playground.arduino.cc/Main/InterfacingWithHardware#mouse
   - http://www.networktechinc.com/ps2-prots.html   - http://www.networktechinc.com/ps2-prots.html
 +  - http://datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2015/11/SPCP168A.pdf
 If you have any questions please contact for me via email [email protected]. If you have any questions please contact for me via email [email protected].
 +===== Download =====
 +{{:wiki:i2cnxtandarduino.rar|}}
  
  
  
  
lego_nxt_optical_sensor.1538515395.txt.gz · Last modified: 2018/10/02 14:23 by phamquyenanh