View
219
Download
1
Tags:
Embed Size (px)
Citation preview
New Human Computer Interfaces - HUJI - Spring 2006 2
On the Menu
• Group Exercise Review
• Serial Port: – Board2Board– Board2PC– PC2Board
• Some more sensors
• Changing the world: Actuators
• Projects
New Human Computer Interfaces - HUJI - Spring 2006 3
Exercise Review
• View the exercise projects
• Problems and Difficulties?
• What Have You Learned?
New Human Computer Interfaces - HUJI - Spring 2006 4
Serial Communications
• The OpenBoard can communicated with other devices in the world using the Serial Communications Protocol
• You can use this to have a board Send data to another board and receive data from another board.
• You can also use this to have the board communicate with a workstation (Why?)
New Human Computer Interfaces - HUJI - Spring 2006 5
Board to Board
• Call soft-serial-on once at the beginning of the program.• Sending Values:
– Sending is done from Pin C0. – the command:
send1 value i.e. send1 100
• Receiving Values:– You can receive on 4 ports: B0, B1, B2, B3– To receive you need to do 2 things:
• check if a new value has been received on the pin. newin1? will check B0 (newin2? will check B1, newin3? will check B2, newin4? will check B3).
The code: loop [ if newin1? [do something with in1] ]
– Oren comments: to use in1 best to set it into a different variable, like: settemp in1 if temp = 100 [do something else]
New Human Computer Interfaces - HUJI - Spring 2006 6
Board to PC• Use the regular programming cable configuration
Sending to the PC:• Use the send command (not send1). Anything sent this way will be sent to the PC serial port.
send value
Reading the data on the PC1. Make sure the PC is in fact receiving the data. Use a terminal program for this (like Hyperterm) 2. If all is well- write a program (in Java, C, whatever you like) to read the serial port.
Sending data to the Board from the PC:• You use the following primitives in your code on the board:
enable-recc (to enable receiving of serial data) recc? (check if a value is waiting in the serial buffer) recc (the value itself, so you can set into another variable)
• To send serial data to the board, use the send <8 bit integer> command from the programming environment.
• To send serial data from a different application on your PC, it should work just by sending numbers to the serial line, so enable the serial line and send an integer.
New Human Computer Interfaces - HUJI - Spring 2006 8
Push button Slide switch Toggle switch Rocker switch
Types of InputSwitches
New Human Computer Interfaces - HUJI - Spring 2006 9
Sensitive Switches
Hair trigger/whisker switch
Roller switch
Mercury/Tilt switch Magnetic/Reed switch
New Human Computer Interfaces - HUJI - Spring 2006 10
Analog Sensors
Force Sensitive Resistor (FSR) Pressure sensors
New Human Computer Interfaces - HUJI - Spring 2006 11
Analog Sensors
Photocell Temperature Sensor/Thermistor
New Human Computer Interfaces - HUJI - Spring 2006 12
Accelerometers Flex Sensor
And more …
And more:Capacitance sensors
Piezoelectric sensors
More info: ITP Sensor Workshop Report
New Human Computer Interfaces - HUJI - Spring 2006 15
Actuators
• Pneumatic– Air Pressure causing movement
• Hydraulic– Liquid Pressure causing movement
• Electronic– Electro-magnetic movement
• Motors (Kinetic)• Speakers (Audio)• Lights (Visual)
More Info
New Human Computer Interfaces - HUJI - Spring 2006 16
• Linear vs. Rotary movement
• Torque
• Gear
Motors
New Human Computer Interfaces - HUJI - Spring 2006 17
• Speed (RPM)• Movement – mechanics• Controlling the Position• Feedback about the position• How much weight can it carry• Torque• How much power does it need• Price
Selecting a Motors
New Human Computer Interfaces - HUJI - Spring 2006 18
• Speed (RPM)• Movement – mechanics• Controlling the Position• Feedback about the position• How much weight can it carry• Torque• How much power does it need• Price
Selecting a Motors
1. The moment of a force; the measure of a force's tendency to produce torsion and rotation about an axis, equal to the vector product of the radius vector from the axis of rotation to the point of application of the force and the force vector.2. A turning or twisting force.
New Human Computer Interfaces - HUJI - Spring 2006 20
DC Motor:
• Cheap. • Very easy to connect• Minimum control• Turns 360 degrees. • Can add components for more control:
– Speed: change the voltage using a POT– Direction: change the polarity– Position: can’t! Add an H-Bridge circuit
Motors
New Human Computer Interfaces - HUJI - Spring 2006 21
DC Servo:
• Expensive
• Very easy to connect
• Includes all components
• Turns 90 degrees to each side
• Full control:– Speed: change the voltage– Position: Needs CHECKING
Motors
Waiting for answer from Oren
New Human Computer Interfaces - HUJI - Spring 2006 22
DC Servo - Controlling the position:• They rotate 0 to 180 degrees depending on the
pulsewidth. About 1.5 sec to move 180 degrees. • The DC Servo takes a pulse of between 1-2 ms
every 20 ms.• A pulse of 1 ms will turn the motor to 0 degrees;
1.5 MS will turn to 90 degrees, 2 ms will turn it to 180 degrees
• To keep a servo in its current position pulse it with the same pulse width every 18-20 ms to keep it there.
Controlling a Servo
New Human Computer Interfaces - HUJI - Spring 2006 23
Stepper: • Cheap• Usually 12V• Hard to connect • Need extra components• Turns 360 degrees. • Can stay still in one position• Full control:
– Position– Speed
Motors
New Human Computer Interfaces - HUJI - Spring 2006 24
We want to control a few elements:
• Speed
• Strength
• Direction
• Position
Controlling Motors
New Human Computer Interfaces - HUJI - Spring 2006 25
We want to control a few elements:
• Speed power
• Strength Current
• Direction current direction/Pulse
• Position Pulse
Controlling Motors
New Human Computer Interfaces - HUJI - Spring 2006 28
Where to get motors?
חנויות טיסנים חנויות רובוטיקה
חנויות אלקטרוניקה
New Human Computer Interfaces - HUJI - Spring 2006 30
Vision
SOUND
Analog INPUT
Digital Input
Sensing the worldControlling the world
Digital Output
Analog Output
Computing
Communications
MOVEMENT(Motors)
Output to the PC
Controlling 220V world
Movement
Position
Change
Pressure
TemperatureAudio
Video
New Human Computer Interfaces - HUJI - Spring 2006 31
Projects
• What’s a good project?
• Process
• Milestones
• Presentations
New Human Computer Interfaces - HUJI - Spring 2006 32
What’s a Good Project
• Explores interesting, and preferably, novel scenarios
• Shows interesting use of the technology• Exhibits a working prototype for at least one
main part of the scenario. • Explains how it fits into the wider scenario.• Includes good documentation
– Project explanation, process, problems, code, possible improvements
– Project Poster