Lab 4: Creating Your Own Device Class
|
|
- Susanna Higgins
- 5 years ago
- Views:
Transcription
1 Department of Mechanical Engineering ME EN Haptics Lab 4: Creating Your Own Device Class Out: Thursday 2/24/2011 Due: Thursday 3/8/2011 by class time Please read this entire document before starting the lab. This project must be completed and submitted individually or in pairs of two. You are welcome to discuss the assignment with other students in the class, but you do need to program your own solutions. Summiting Lab assignments Before you submit your assignment be sure to read this section completely. Points will be deducted if you get this wrong. If you are going to deviate talk to me beforehand. All previous lab environments and README documents are to be included. You will be compressing and turning in only the LabFiles folder highlighted below. Do not include all of chai as it will make your file far too large. Make a copy of this folder somewhere else for modification before handing in. If something goes wrong you won't lose your work or mess up your project files. ME 7960 Haptics Lab 2 Page 1 of 9
2 Within the copied LabFiles folder remove the Debug/Release folders, the.ncb file, and any project user options files to reduce size. All that should be left is the project solution, the project file, the source folder, the executable folder, and the README document(s). I will be recompiling all of the projects even though you are handing in the executable and I do not want to include the.dll files for each one myself. Gmail does not like zip files containing executables. You may delete the executable leaving the.dll files or use a different compression method. Rename the LabFiles folder to Lab#-StudentNames, replacing the # with the actual lab number and filling in your name or names as necessary. Then compress it into zip or some other format. The end result compressed file should be less than 1Mb. It will grow as the semester progresses but it will always remain small. the file to your TA, Andrew Doxon at adoxon@gmail.com. The heading should state it is a lab assignment handin and the body should contain the first and last names of the students responsible for the lab. ME 7960 Haptics Lab 2 Page 2 of 9
3 README files Each lab assignment will contain a readme document titled "README-Lab#". Replace the # with the corresponding lab number. These readme files simply contain information on each environment developed. A basic README file was provided with the template for lab1. The first page of the README file is a title page. This page must contain the name(s) of the students who worked on the lab as well as a list of the environments that are contained within the document. The remainder of the document lists each environment in turn and provides a brief description along with any special features or items you included. It can be as simple as the example or as complex as you like so long as it is readable. A new README file will be added to the LabFiles folder with each lab. All prior README files will remain and be included in the handin. Lab 4 Assignment This lab will build on your work from labs 1, 2 & 3. Your new device and each new environment must have a new class file (appropriately named). All environments previously implemented will be included in the project and handin file but will not be included in the environments list. Refer to other instructions from previous lab handouts as necessary. Correctly written class files should compile and work automatically in the template. The easiest way to create proper class files is to copy the.cpp and.h files from a working environment class and rename as appropriate. You will also need to modify the environment list within the main.cpp file. For each class you create in this lab you will need to add the correct #include statement and push it onto the environment list. Please comment out prior lab environments so that they can be easily accessed but will not render in the current code. ME 7960 Haptics Lab 2 Page 3 of 9
4 Remember, before you run your code. FIRMLY GRASP THE HANDLE/KNOB OF THE HAPTIC PADDLE TO PREVENT IT FROM ACCIDENTALLY DESTROYING ITSELF BY SLAMMING INTO ITS OWN HARD STOPS OR OTHER OBJECTS IF IT HAS AN UNSTABLE OR UNINTENDED PROGRAMMED BEHAVIOR!!! IT IS STRONGER THAN YOU MAY EXPECT. Your task for this lab is to create a new device class for a haptic paddle using a Sensoray 626 card and some testing environments. All the information you will need to write the device class is contained within the two reference manuals provided. Plan out your code before writing it. This will help organize your code, make it easier to write, and contain fewer errors. Continuously compile your code to make sure that each added change still works. Your end goal is to create a device class to control the haptic paddle and a vibrotactor along with a few test environments. The following instructions are a suggested method to follow to complete this lab. Be sure to include a brief description of the device class in the README file along with your environments. The environments you are writing are haptic systems. As such they should feel stable for all users. This commonly means using lower gains. A good way to test if your system is stable is to use a light grip and tap the virtual surface. If you feel a slight buzzing or more you need to reduce your gains. Start with lower gains as the haptic paddles can produce a high maximum force. Extra credit: Extra credit may be given for work above and beyond the basic instructions if it is deemed suitable. If you are unsure about your idea, ask. Writing the device to handle multiple 626 cards or devices per card will grant extra credit. But doing this correctly will require quite a bit of thought. 1. First be sure to download the package provided for you. This package contains the two reference manuals on the 626 card as well as the three files needed to interface with the card. A short description of each file is provided below. Downloading the current lab template will make this lab easier. Andrew has implemented the starting environment separately as well as a few minor changes that will be helpful in this lab. Simply update the main file to include your previous environments. 626 DLL Manual.pdf - contains descriptions of all the function calls and C code examples for each. This is your primary resource in coding the device class. 626 Instruction Manual.PDF - contains reference material on the physical 626 card itself. You will need this to determine what inputs and outputs to use based on pin connections provided in the schematics below. APP626.h - lists #defines used by the function calls Win626.h - defines the function calls that interface with the 626 card. You will need this #included in your device class file. WIN626.c - contains the actual function call links with the.dll file ME 7960 Haptics Lab 2 Page 4 of 9
5 2. Set up your device class file. You should start by creating the shell of the device class. This is just a placeholder and the actual functions will be written later. This way you can insert the shell into the haptic program and test the functions as your write them. A good starting point for this is to take the cfalcondevice class from chai and prune out all the unnecessary parts including the contents of the function calls. Your haptic paddle device class will be a public child of cgenerichapticdevice. This means you will need to #include "devices/cgenerichapticdevice.h" in your class and put :public cgenerichapticdevice after the class name when defining it. The cfalcondevice class is already a child of cgenerichapticdevice and thus far you have been defining all your environments as public children of the Environment class. This way your device can be swapped out with any chai device easily. Your device class will contain the following four specific functions: open, close, getposition, and setforce. You may add additional functions if you wish. Remember this is just a shell and the functions should contain nothing {} as you have no way of testing them. Below is a brief description of each of the four necessary functions. Feel free to change the inputs to the open and close functions but getposition and setforce will take the inputs defined below. The names of these functions match those used in the all chai devices. open(); load the.dll open the 626 card initialize encoder(s) analog and digital outputs do not need setup on the 626 card close(); write 0 values to all outputs close the 626 card close the.dll encoders and other inputs do not need to be changed getposition(double& a_position); This function should get the current encoder count convert the count to a position o beware the returned count is signed 24 bit return the position in the a_position variable setforce(const double& a_force); compute output voltage using the kinematics and a_force variable o current amplifiers have a gain of 1V to 0.25A set the output voltage on the appropriate DAC (limit in code to ±10V) ME 7960 Haptics Lab 2 Page 5 of 9
6 3. Replace Falcon device with your new one. Now you want to place your device shell into the haptic program. This will allow you to know that you have set it up correctly and test its functionality as you go. Create a new instance of your haptic paddle device in the GlobalVariables.h file. In the main file open this device and pass it to the environment. Commenting out the falcon if you wish. You will need to #include your class header file anywhere you use the class. Appropriately add the close() method call to the main file, in the keyselect function under the escape case. The Falcon did not necessarily need to be closed but the 626 card does. You now need to make a starting environment to work with the haptic paddle device class properly. Make a copy of the current starting environment for 1 DOF motion. You always want a starting environment. Really, you just need to have a starting environment that provides no forces to the device. 4. Modify the cgenerichapticdevice.h file. You will also need to modify the cgenerichapticdevice.h file. The makers of chai did not include proper support for 1 and 2 DOF devices. Open the file and find the function description for getposition and setforce and add an additional definition matching the ones you have in your device shell. Make sure these are virtual so that they can be properly accessed. ME 7960 Haptics Lab 2 Page 6 of 9
7 5. Complete your device methods. Now that your device shell is integrated in the program you can begin writing your device methods. You may want to make a dummy environment which will not be included in the final handin to test functionality as you go. The schematic below shows how the haptic paddle is connected to the Sensoray 626 card. You will need to look up the ports that the pins below correspond to in the card reference manual and the correct commands for controlling the 626 card in the DLL reference manual. Almost all the code you will need to write the device class is provided for you in the examples of the DLL reference manual. Maxon RE35 motor External Power Must turn external power on to get forces Haptic Paddle Motor Motor Encoder + - E I-D-D-B 5V A B GND Amplifier Box 1V input => 0.25A output GND 5V J4 pin 21 J4 pin 24 enc. A J4 pin 20 enc. B J4 pin 23 DAC out J1 pin 42 AGND J1 pin 40 The necessary methods and what they should do are listed again below. open(); load the.dll open the 626 card initialize encoder(s) analog and digital outputs do not need setup on the 626 card close(); write 0 values to all outputs close the 626 card close the.dll encoders and other inputs do not need to be changed getposition(double& a_position); This function should get the current encoder count convert the count to a position o beware the returned count is signed 24 bit return the position in the a_position variable setforce(const double& a_force); compute output voltage using the kinematics and a_force variable o current amplifiers have a gain of 1V to 0.25A set the output voltage on the appropriate DAC (limit in code to ±10V) ME 7960 Haptics Lab 2 Page 7 of 9
8 6. Create 1 simple testing environment with the Haptic Paddle. Once you have a working device class, you will need to create a simple environment to demonstrate it works. Examples are detents, a wall, textures, etc. Many of the environments you have already made can quickly be copied and altered to 1D. Make sure your gains are altered as the Haptic Paddles have different characteristics than the Falcon. You can try adding dimensionality to your system through graphics for extra credit (i.e., while motion may be constrained to 1D the rendered position does not need to be). 7. Add vibrotactor functionality. Now add a fifth method to your haptic paddle device to control the digital IO pins connected to the vibrotactor, shown below (we will have the vibrotactors connected as shown below). For uniformity this method should be defined as vibrotactor(bool ONOFF);. It should use the bool to turn on and off the vibrotactor and should not affect the other IO pins. You will need to add this functionality to the cgenerichapticdevice.h file as well, like you did in step 4, in order to access it. External Power Must turn external power on to get forces Vibrotactor Transistor Switch GND 5V input J2 pin 48 J2 pin 49 J2 pin Create a vibrotactor environment. Create a second environment to control the vibrotactor. Using timers, implement three distinct feeling haptic icons (buzz-tones) in this environment (think back to the vibrotactor demo we showed you on the first day). These haptic icons will be activated when the 1, 2, and 3 keys are pressed. Try to describe what you think these haptic icons should represent to a user in your README (e.g. emergency, stop, go, happy,...). Hints: Virtually everything you need is already in the template in some form or another. Google is your friend, use it. Try to think about how to perform the task specified before coding it. Whenever possible think in terms of vector math. It will only cause problems down the line if you break things ME 7960 Haptics Lab 2 Page 8 of 9
9 up into their components. provides some really good opengl resources and tutorials for just about everything you could want. has definitions and examples of basically every standard function in the C++ language. If you are using Google to search for functions this will likely show hits in the top few links. We would like to acknowledge Francois Conti, Federico Barbagli, and Kenneth Salisbury at Stanford University. The lab exercises presented herein largely come directly from their Experimental Haptics Course, CS277, and is based on their CHAI-3D environment. ME 7960 Haptics Lab 2 Page 9 of 9
EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino
EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs 10-11 Introduction to Arduino In this lab we will introduce the idea of using a microcontroller as a tool for controlling
More informationProgramming Project 2
Programming Project 2 Design Due: 30 April, in class Program Due: 9 May, 4pm (late days cannot be used on either part) Handout 13 CSCI 134: Spring, 2008 23 April Space Invaders Space Invaders has a long
More informationLab 2: Blinkie Lab. Objectives. Materials. Theory
Lab 2: Blinkie Lab Objectives This lab introduces the Arduino Uno as students will need to use the Arduino to control their final robot. Students will build a basic circuit on their prototyping board and
More informationFor more information on how you can download and purchase Clickteam Fusion 2.5, check out the website
INTRODUCTION Clickteam Fusion 2.5 enables you to create multiple objects at any given time and allow Fusion to auto-link them as parent and child objects. This means once created, you can give a parent
More informationCONCEPTS EXPLAINED CONCEPTS (IN ORDER)
CONCEPTS EXPLAINED This reference is a companion to the Tutorials for the purpose of providing deeper explanations of concepts related to game designing and building. This reference will be updated with
More informationUniversity of North Carolina-Charlotte Department of Electrical and Computer Engineering ECGR 3157 Electrical Engineering Design II Fall 2013
Exercise 1: PWM Modulator University of North Carolina-Charlotte Department of Electrical and Computer Engineering ECGR 3157 Electrical Engineering Design II Fall 2013 Lab 3: Power-System Components and
More informationLab Assignment 3. Writing a text-based adventure. February 23, 2010
Lab Assignment 3 Writing a text-based adventure February 23, 2010 In this lab assignment, we are going to write an old-fashioned adventure game. Unfortunately, the first adventure games did not have fancy
More informationECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University
ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass
More informationGame Maker Tutorial Creating Maze Games Written by Mark Overmars
Game Maker Tutorial Creating Maze Games Written by Mark Overmars Copyright 2007 YoYo Games Ltd Last changed: February 21, 2007 Uses: Game Maker7.0, Lite or Pro Edition, Advanced Mode Level: Beginner Maze
More informationECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game
ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game Card games were some of the very first applications implemented for personal computers. Even today, most
More informationIntroduction to Pspice
1. Objectives Introduction to Pspice The learning objectives for this laboratory are to give the students a brief introduction to using Pspice as a tool to analyze circuits and also to demonstrate the
More informationME 461 Laboratory #5 Characterization and Control of PMDC Motors
ME 461 Laboratory #5 Characterization and Control of PMDC Motors Goals: 1. Build an op-amp circuit and use it to scale and shift an analog voltage. 2. Calibrate a tachometer and use it to determine motor
More informationExperiment 9 : Pulse Width Modulation
Name/NetID: Experiment 9 : Pulse Width Modulation Laboratory Outline In experiment 5 we learned how to control the speed of a DC motor using a variable resistor. This week, we will learn an alternative
More informationIntroduction to programming with Fable
How to get started. You need a dongle and a joint module (the actual robot) as shown on the right. Put the dongle in the computer, open the Fable programme and switch on the joint module on the page. The
More informationME 461 Laboratory #3 Analog-to-Digital Conversion
ME 461 Laboratory #3 Analog-to-Digital Conversion Goals: 1. Learn how to configure and use the MSP430 s 10-bit SAR ADC. 2. Measure the output voltage of your home-made DAC and compare it to the expected
More informationCS277 - Experimental Haptics Lecture 2. Haptic Rendering
CS277 - Experimental Haptics Lecture 2 Haptic Rendering Outline Announcements Human haptic perception Anatomy of a visual-haptic simulation Virtual wall and potential field rendering A note on timing...
More informationThe CHAI Libraries. F. Conti, F. Barbagli, R. Balaniuk, M. Halg, C. Lu, D. Morris L. Sentis, E. Vileshin, J. Warren, O. Khatib, K.
The CHAI Libraries F. Conti, F. Barbagli, R. Balaniuk, M. Halg, C. Lu, D. Morris L. Sentis, E. Vileshin, J. Warren, O. Khatib, K. Salisbury Computer Science Department, Stanford University, Stanford CA
More informationSPREADSHEET SET-UP. To switch simply click on the gear icon in the upper-left side of the page. Then click Experience the new Drive
NET PAY USING EXCEL Log in to your GoogleDrive account. If you have not switched to the New Google Drive switch over now so that what you see matches the screenshots used in these instructions. To switch
More informationAssignment 3: Particle System and Cloth Simulation
Assignment 3: Particle System and Cloth Simulation Release Date: Thursday, October 1, 2009 Due Date: Tuesday, October 20, 2009, 11:59pm Grading Value: 15% Overview: Cloth simulation has been an important
More informationCS/NEUR125 Brains, Minds, and Machines. Due: Wednesday, February 8
CS/NEUR125 Brains, Minds, and Machines Lab 2: Human Face Recognition and Holistic Processing Due: Wednesday, February 8 This lab explores our ability to recognize familiar and unfamiliar faces, and the
More informationOverview. The Game Idea
Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is
More informationMath Spring 2014 Proof Portfolio Instructions And Assessment
Math 310 - Spring 2014 Proof Portfolio Instructions And Assessment Portfolio Description: Very few people are innately good writers, and that s even more true if we consider writing mathematical proofs.
More informationBegin at the beginning," the King said, very gravely, "and go on till you come to the end
An Introduction to Alice Begin at the beginning," the King said, very gravely, "and go on till you come to the end By Teddy Ward Under the direction of Professor Susan Rodger Duke University, May 2013
More informationThe Audio Synthesizer
The Audio Synthesizer Lab Summary In this laboratory, you will construct an audio synthesizer. The synthesizer generates signals for various tones that you will use for your Simon push buttons and win/lose
More informationTutorial: Creating maze games
Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating
More informationCS 540-2: Introduction to Artificial Intelligence Homework Assignment #2. Assigned: Monday, February 6 Due: Saturday, February 18
CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2 Assigned: Monday, February 6 Due: Saturday, February 18 Hand-In Instructions This assignment includes written problems and programming
More informationDesigning in the context of an assembly
SIEMENS Designing in the context of an assembly spse01670 Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle Management Software
More informationTac Due: Sep. 26, 2012
CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features
More informationPractical Assignment 1: Arduino interface with Simulink
!! Department of Electrical Engineering Indian Institute of Technology Dharwad EE 303: Control Systems Practical Assignment - 1 Adapted from Take Home Labs, Oklahoma State University Practical Assignment
More informationDepartment of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project
Digital Interactive Game Interface Table Apps for ipad Supervised by: Professor Michael R. Lyu Student: Ng Ka Hung (1009615714) Chan Hing Faat (1009618344) Year 2011 2012 Final Year Project Department
More informationAssignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm
Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, 2017 11:59pm This will be our last assignment in the class, boohoo Grading: For this assignment, you will be graded traditionally,
More informationiphoto Getting Started Get to know iphoto and learn how to import and organize your photos, and create a photo slideshow and book.
iphoto Getting Started Get to know iphoto and learn how to import and organize your photos, and create a photo slideshow and book. 1 Contents Chapter 1 3 Welcome to iphoto 3 What You ll Learn 4 Before
More informationRobotic Manipulation Lab 1: Getting Acquainted with the Denso Robot Arms Fall 2010
15-384 Robotic Manipulation Lab 1: Getting Acquainted with the Denso Robot Arms Fall 2010 due September 23 2010 1 Introduction This lab will introduce you to the Denso robot. You must write up answers
More informationESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab
ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab The purpose of this lab is to learn about sensors and use the ADC module to digitize the sensor signals. You will use the digitized signals
More informationWarmup Due: Feb. 6, 2018
CS1950U Topics in 3D Game Engine Development Barbara Meier Warmup Due: Feb. 6, 2018 Introduction Welcome to CS1950U! In this assignment you ll be creating the basic framework of the game engine you will
More informationTEACHING HAPTIC RENDERING SONNY CHAN, STANFORD UNIVERSITY
TEACHING HAPTIC RENDERING SONNY CHAN, STANFORD UNIVERSITY MARCH 4, 2012 HAPTICS SYMPOSIUM Overview A brief introduction to CS 277 @ Stanford Core topics in haptic rendering Use of the CHAI3D framework
More informationECE 5670/6670 Project. Brushless DC Motor Control with 6-Step Commutation. Objectives
ECE 5670/6670 Project Brushless DC Motor Control with 6-Step Commutation Objectives The objective of the project is to build a circuit for 6-step commutation of a brushless DC motor and to implement control
More informationCS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game
CS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game Brooke Chenoweth Spring 2018 Goals To carry on forward with the Space Invaders program we have been working on, we are going
More informationExperiment # 4. Frequency Modulation
ECE 416 Fall 2002 Experiment # 4 Frequency Modulation 1 Purpose In Experiment # 3, a modulator and demodulator for AM were designed and built. In this experiment, another widely used modulation technique
More informationCropping And Sizing Information
and General The procedures and techniques described herein are intended to provide a means of modifying digital images for use in projection situations. This includes images being displayed on a screen
More informationENGI E1006. Image Header You can think of the image as having two parts,
ENGI E1006 PPM Image Format (Thanks to Joshua Guerin, Debby Keen, and SIGCSE's Nifty Assignment session) The PPM (or Portable Pix Map) image format is encoded in human-readable ASCII text. For those of
More informationCBCL Limited Sheet Set Manager Tutorial 2013 REV. 02. CBCL Design Management & Best CAD Practices. Our Vision
CBCL Limited Sheet Set Manager Tutorial CBCL Design Management & Best CAD Practices 2013 REV. 02 Our Vision To be the most respected and successful Atlantic Canada based employeeowned firm, delivering
More informationEE320L Electronics I. Laboratory. Laboratory Exercise #3. Operational Amplifier Application Circuits. Angsuman Roy
EE320L Electronics I Laboratory Laboratory Exercise #3 Operational Amplifier Application Circuits By Angsuman Roy Department of Electrical and Computer Engineering University of Nevada, Las Vegas Objective:
More informationIntroduction to Analog Electronics Fall 2016 ECE 3400 Professor Jennifer Hasler Course Project Guide
Introduction to Analog Electronics Fall 2016 ECE 3400 Professor Jennifer Hasler Course Project Guide 11/21/2016 Yusuf Ziya Kuriş Introduction I was challenged by the transition from the Electrical and
More informationSRV02-Series Rotary Experiment # 3. Ball & Beam. Student Handout
SRV02-Series Rotary Experiment # 3 Ball & Beam Student Handout SRV02-Series Rotary Experiment # 3 Ball & Beam Student Handout 1. Objectives The objective in this experiment is to design a controller for
More informationLab 2: Introduction to Real Time Workshop
Lab 2: Introduction to Real Time Workshop 1 Introduction In this lab, you will be introduced to the experimental equipment. What you learn in this lab will be essential in each subsequent lab. Document
More informationBegin this assignment by first creating a new Java Project called Assignment 5.There is only one part to this assignment.
CSCI 2311, Spring 2013 Programming Assignment 5 The program is due Sunday, March 3 by midnight. Overview of Assignment Begin this assignment by first creating a new Java Project called Assignment 5.There
More informationJoneSoft Generic Mod Enabler v2.6
JoneSoft Generic Mod Enabler v2.6 User Guide 8 August 2010 Contents Introduction... 2 Installation... 3 1. Central installation... 3 2. Separate installation... 4 Installing over an existing installation...
More informationLab Exercise 9: Stepper and Servo Motors
ME 3200 Mechatronics Laboratory Lab Exercise 9: Stepper and Servo Motors Introduction In this laboratory exercise, you will explore some of the properties of stepper and servomotors. These actuators are
More information2. Introduction to Computer Haptics
2. Introduction to Computer Haptics Seungmoon Choi, Ph.D. Assistant Professor Dept. of Computer Science and Engineering POSTECH Outline Basics of Force-Feedback Haptic Interfaces Introduction to Computer
More informationGAME:IT Junior Bouncing Ball
GAME:IT Junior Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game All games need sprites (which are just pictures) that, in of themselves, do nothing.
More informationLaboratory experiments and reports
LABORATORY INSTRUCTION MANUAL Page 1 of 8 Laboratory experiments and reports Summary This document describes how to carry out experimental exercises, and how to prepare the lab reports for the Electronic
More informationMassachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Spring Semester, Introduction to EECS 2
Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Spring Semester, 2007 6.082 Introduction to EECS 2 Lab #1: Matlab and Control of PC Hardware Goal:... 2 Instructions:...
More informationProblem Points Check off 1 / 15 /2 2 / 20 /2 3a / 10 /2 3b / 25 /2 3c / 20 /2 /90 /10 Total /100
ME430 Mechatronics Page 1 ME 430 Exam 2, Winter 2014-2015, All Sections Name Section You may use only: Any paper notes (including course handouts) you brought to the exam, or electronic notes residing
More informationET 304A Laboratory Tutorial-Circuitmaker For Transient and Frequency Analysis
ET 304A Laboratory Tutorial-Circuitmaker For Transient and Frequency Analysis All circuit simulation packages that use the Pspice engine allow users to do complex analysis that were once impossible to
More informationSetting up Pro Tools I/O & connecting a microphone for Recording
Setting up Pro Tools I/O & connecting a microphone for Recording The purpose of this lab is to demonstrate the ability to correctly connect a microphone to the Fast Track Pro interface in such a way that
More informationLab 5: Inverted Pendulum PID Control
Lab 5: Inverted Pendulum PID Control In this lab we will be learning about PID (Proportional Integral Derivative) control and using it to keep an inverted pendulum system upright. We chose an inverted
More informationProgramming 2 Servos. Learn to connect and write code to control two servos.
Programming 2 Servos Learn to connect and write code to control two servos. Many students who visit the lab and learn how to use a Servo want to use 2 Servos in their project rather than just 1. This lesson
More information2D Platform. Table of Contents
2D Platform Table of Contents 1. Making the Main Character 2. Making the Main Character Move 3. Making a Platform 4. Making a Room 5. Making the Main Character Jump 6. Making a Chaser 7. Setting Lives
More informationUnit 6.5 Text Adventures
Unit 6.5 Text Adventures Year Group: 6 Number of Lessons: 4 1 Year 6 Medium Term Plan Lesson Aims Success Criteria 1 To find out what a text adventure is. To plan a story adventure. Children can describe
More informationMicrocomputers for Ham Radio
Microcomputers for Ham Radio Glen Worstell SCCARC Short Skip May 4, 2015 Acknowledgements : Kerry, K3RRY, for information about the Arduino, and Matthias Koch for assistance with Mecrisp Forth. Introduction
More informationAN797 WDS USER S GUIDE FOR EZRADIO DEVICES. 1. Introduction. 2. EZRadio Device Applications Radio Configuration Application
WDS USER S GUIDE FOR EZRADIO DEVICES 1. Introduction Wireless Development Suite (WDS) is a software utility used to configure and test the Silicon Labs line of ISM band RFICs. This document only describes
More informationUnderstanding the Arduino to LabVIEW Interface
E-122 Design II Understanding the Arduino to LabVIEW Interface Overview The Arduino microcontroller introduced in Design I will be used as a LabVIEW data acquisition (DAQ) device/controller for Experiments
More informationLab 1: Steady State Error and Step Response MAE 433, Spring 2012
Lab 1: Steady State Error and Step Response MAE 433, Spring 2012 Instructors: Prof. Rowley, Prof. Littman AIs: Brandt Belson, Jonathan Tu Technical staff: Jonathan Prévost Princeton University Feb. 14-17,
More informationLaboratory Assignment Number 3 for Mech 143. Pre-Lab: Part 1 Interfacing to a DC Motor and Potentiometer
Purpose: Minimum Parts Required: Laboratory Assignment Number 3 for Mech 143 Due by 5:00 pm on Thursday, February 11, 1999 Pre-Lab Due by 5:00pm on Tuesday, February 9, 1999 This lab is intended to acquaint
More informationFinal Project: Reversi
Final Project: Reversi Reversi is a classic 2-player game played on an 8 by 8 grid of squares. Players take turns placing pieces of their color on the board so that they sandwich and change the color of
More informationIntroduction to Simulation of Verilog Designs. 1 Introduction
Introduction to Simulation of Verilog Designs 1 Introduction An effective way of determining the correctness of a logic circuit is to simulate its behavior. This tutorial provides an introduction to such
More informationExperiment #12 BJT Differential Pairs
Introduction: Experiment #1 BJT Differential Pairs Jonathan Roderick differential pair is a four port network that is shown in figure 1.1. These ports are labeled through D. However, a differential pair
More informationCS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class
CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some
More informationSetup Download the Arduino library (link) for Processing and the Lab 12 sketches (link).
Lab 12 Connecting Processing and Arduino Overview In the previous lab we have examined how to connect various sensors to the Arduino using Scratch. While Scratch enables us to make simple Arduino programs,
More informationEE320L Electronics I. Laboratory. Laboratory Exercise #2. Basic Op-Amp Circuits. Angsuman Roy. Department of Electrical and Computer Engineering
EE320L Electronics I Laboratory Laboratory Exercise #2 Basic Op-Amp Circuits By Angsuman Roy Department of Electrical and Computer Engineering University of Nevada, Las Vegas Objective: The purpose of
More informationDistributed Intelligence in Autonomous Robotics. Assignment #1 Out: Thursday, January 16, 2003 Due: Tuesday, January 28, 2003
Distributed Intelligence in Autonomous Robotics Assignment #1 Out: Thursday, January 16, 2003 Due: Tuesday, January 28, 2003 The purpose of this assignment is to build familiarity with the Nomad200 robotic
More informationCURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet
Lab : Computer Engineering Software Perspective Sign-Off Sheet NAME: NAME: DATE: Sign-Off Milestone TA Initials Part 1.A Part 1.B Part.A Part.B Part.C Part 3.A Part 3.B Part 3.C Test Simple Addition Program
More informationPHOTOSHOP PUZZLE EFFECT
PHOTOSHOP PUZZLE EFFECT In this Photoshop tutorial, we re going to look at how to easily create a puzzle effect, allowing us to turn any photo into a jigsaw puzzle! Or at least, we ll be creating the illusion
More informationCSE 231 Spring 2013 Programming Project 03
CSE 231 Spring 2013 Programming Project 03 This assignment is worth 30 points (3.0% of the course grade) and must be completed and turned in before 11:59 on Monday, January 28, 2013. Assignment Overview
More informationMicrowave Circuit Design and Measurements Lab. MATCHING NETWORK DESIGN AND CIRCUIT LAYOUT Lab #8
MATCHING NETWORK DESIGN AND CIRCUIT LAYOUT Lab #8 In this laboratory session and the associated out-of-lab computer-aided design work, the design of input and output matching networks in order to maximize
More informationPortland State University MICROCONTROLLERS
PH-315 MICROCONTROLLERS INTERRUPTS and ACCURATE TIMING I Portland State University OBJECTIVE We aim at becoming familiar with the concept of interrupt, and, through a specific example, learn how to implement
More informationEE 210 Lab Exercise #4 D/A & A/D Converters
EE 210 Lab Exercise #4 D/A & A/D Converters Introduction This lab deals with simple resistive circuits to perform Digital-to-Analog (D/A) conversion. We also introduce the use of a basic Analog-to-Digital
More informationNMC Second Life Educator s Skills Series: How to Make a T-Shirt
NMC Second Life Educator s Skills Series: How to Make a T-Shirt Creating a t-shirt is a great way to welcome guests or students to Second Life and create school/event spirit. This article of clothing could
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm
More informationCSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012
CSE 260 Digital Computers: Organization and Logical Design Lab 4 Jon Turner Due 3/27/2012 Recall and follow the General notes from lab1. In this lab, you will be designing a circuit that implements the
More informationExercise 5: PWM and Control Theory
Exercise 5: PWM and Control Theory Overview In the previous sessions, we have seen how to use the input capture functionality of a microcontroller to capture external events. This functionality can also
More informationBIEB 143 Spring 2018 Weeks 8-10 Game Theory Lab
BIEB 143 Spring 2018 Weeks 8-10 Game Theory Lab Please read and follow this handout. Read a section or paragraph completely before proceeding to writing code. It is important that you understand exactly
More informationLesson 3: Arduino. Goals
Introduction: This project introduces you to the wonderful world of Arduino and how to program physical devices. In this lesson you will learn how to write code and make an LED flash. Goals 1 - Get to
More informationCMSC 201 Fall 2018 Project 3 Sudoku
CMSC 201 Fall 2018 Project 3 Sudoku Assignment: Project 3 Sudoku Due Date: Design Document: Tuesday, December 4th, 2018 by 8:59:59 PM Project: Tuesday, December 11th, 2018 by 8:59:59 PM Value: 80 points
More informationFor this exercise, you will need a partner, an Arduino kit (in the plastic tub), and a laptop with the Arduino programming environment.
Physics 222 Name: Exercise 6: Mr. Blinky This exercise is designed to help you wire a simple circuit based on the Arduino microprocessor, which is a particular brand of microprocessor that also includes
More informationHaptic Rendering CPSC / Sonny Chan University of Calgary
Haptic Rendering CPSC 599.86 / 601.86 Sonny Chan University of Calgary Today s Outline Announcements Human haptic perception Anatomy of a visual-haptic simulation Virtual wall and potential field rendering
More informationEE368/CS232 Digital Image Processing Winter Homework #3 Released: Monday, January 22 Due: Wednesday, January 31, 1:30pm
EE368/CS232 Digital Image Processing Winter 2017-2018 Lecture Review and Quizzes (Due: Wednesday, January 31, 1:30pm) Please review what you have learned in class and then complete the online quiz questions
More informationDiscovering A Lucrative Niche!
Lesson #2 Discovering A Lucrative Niche! By Jay Jennings http://www.productcreationstation.com NOTICE: You Do NOT Have the Right to Reprint or Resell this Report! You Also MAY NOT Give Away, Sell or Share
More informationHarvard Guide to Using Sources: How to Avoid Plagiarism
Copied from: http://isites.harvard.edu/icb/icb.do?keyword=k70847&pageid=icb.page342057 Harvard Guide to Using Sources: How to Avoid Plagiarism It's not enough to know why plagiarism is taken so seriously
More informationBuilding a Personal Portfolio in Blackboard UK SLIS
Building a Personal Portfolio in Blackboard Creating a New Personal Portfolio UK SLIS 1. Enter the Blackboard Course, and select Portfolios Homepage in the Course Menu. 2. In the Portfolios page, you will
More informationCS 371M. Homework 2: Risk. All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure.
Homework 2: Risk Submission: All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure. The root directory of your repository should contain your
More informationIntroduction. Modding Kit Feature List
Introduction Welcome to the Modding Guide of Might and Magic X - Legacy. This document provides you with an overview of several content creation tools and data formats. With this information and the resources
More informationSC16A SERVO CONTROLLER
SC16A SERVO CONTROLLER User s Manual V2.0 September 2008 Information contained in this publication regarding device applications and the like is intended through suggestion only and may be superseded by
More informationName EET 1131 Lab #2 Oscilloscope and Multisim
Name EET 1131 Lab #2 Oscilloscope and Multisim Section 1. Oscilloscope Introduction Equipment and Components Safety glasses Logic probe ETS-7000 Digital-Analog Training System Fluke 45 Digital Multimeter
More informationCIDM 2315 Final Project: Hunt the Wumpus
CIDM 2315 Final Project: Hunt the Wumpus Description You will implement the popular text adventure game Hunt the Wumpus. Hunt the Wumpus was originally written in BASIC in 1972 by Gregory Yob. You can
More informationCOSC 3215 Embedded Systems Laboratory
Introduction COSC 3215 Embedded Systems Laboratory Lab 5 Temperature Controller Your task will be to design a temperature controller using the Dragon12 board that will maintain the temperature of an object
More informationLaboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement
Laboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement Fong Mak, Ram Sundaram, Varun Santhaseelan, and Sunil Tandle Gannon University, mak001@gannon.edu,
More information// Parts of a Multimeter
Using a Multimeter // Parts of a Multimeter Often you will have to use a multimeter for troubleshooting a circuit, testing components, materials or the occasional worksheet. This section will cover how
More informationAssignment 5: Virtual Reality Design
Assignment 5: Virtual Reality Design Version 1.0 Visual Imaging in the Electronic Age Assigned: Thursday, Nov. 9, 2017 Due: Friday, December 1 November 9, 2017 Abstract Virtual reality has rapidly emerged
More information