Distance, Velocity and Acceleration Detection

Size: px
Start display at page:

Download "Distance, Velocity and Acceleration Detection"

Transcription

1 Distance, Velocity and Acceleration Detection Andrew Walma and Scott Duong Abstract For this project we constructed a device that will measure the distance of an object using a high frequency transmitter and receiver. The transmitter will send out a sound pulse of high frequency when a button is pressed. The pulse is then reflected off of an object and the receiver will detect the incoming pulse and calculate the distance using the travel time of the sound pulse. It is known that the speed of sound is different depending on the air temperatures, therefore this has to be taken into consideration so the device has to be calibrated. This is done by sending one pulse at an object that is placed a known 1m away. The time it takes for this pulse to return to the receiver will be captured and stored as a calibration time. After a calibration time is stored the device can measure various object distances. It does this by capturing the travel time of a sound pulse and scaling it by a factor of This scaled distance is then divided by the calibration time, and the result of that operation yields the distance of the object with an extra factor of This is easily accounted for by turning on the appropriate decimal point on the LED displays when displaying the distance. The distance is then displayed on the LED display in meters. Introduction Ultrasonic ranging is a powerful tool that animals such as bats and dolphins rely on for survival in their natural habitats. The ability to detect objects by sending high frequency sound pulses allows bats to maneuver and detect prey in the darkness of night. This technique has been observed and mimicked by humans and the use of ultrasonic sound waves has been used in many useful applications. One of these applications is to detect distances which has a variety of uses ranging from mechanics labs to parking guides. For this reason the construction of an ultrasonic ranger is of great interest. Hardware To construct the range finder a Polaroid 6500 ranging module was used as a high frequency transmitter and receiver. This module had 9 pin outs, but only 5 were required to be connected to the PIC board. The pins required were ground, power, INIT, BINH, and ECHO. The INIT pin was connected to an output on the PIC board. When this output is set to high, the transponder sends out a sound pulse. The BINH pin is also connected to another output on the PIC. A high signal here tells the BINH to send a blanking signal after the INIT signal has been sent. This blanking signal is just used to prevent the high frequency waves from bouncing off of each other and causing false echoes. Lastly the ECHO pin is connected to an input on the PIC along with a pull up resistor to ensure the returning sound pulse is detected. These pin outs can be seen in Figure 1 below. Figure 1: Pin outs of the Polaroid 6500 Ranging Module Software

2 Although the concept of calculating the distance is relatively simple, actually implementing these simple multiplications and divisions in assembly language proved to be the most difficult part of this project. The reason being that values are stored in multiple registers, multiplication has to be implemented by continuous additions, and divisions require multiple subtractions all with counters which are also stored in multiple registers. Figure 2 is the flow chart which steps through the program and it shows the process that the device goes through to calculate distances. The fully documented code can also be seen in Appendix (I). Figure 2: Flow Chart of the Range Finder The most difficult part of the software was creating multiplication and division subprograms which is

3 required to calculate the distances. A multiplication is required to scale the travel time of the sound pulse when measuring distances. The reason for this scaling is to produce a higher precision of the device. A scaling of factor of 1000 was used so the calculated distance can display up to 3 decimal points. A scaling factor of 1000 means that the distance time would have to be added to itself 1000 times and stored in a separate registers. The process of scaling can be seen below in Figure 3. Figure 3: Flowchart for Scaling of the Distance Time Lastly to calculate the distance, the new scaled distance time would have to be divided by the calibration time. To perform a division, there is actually a series of subtractions that take place, with an up counter that increments every time the calibration time is successfully subtracted from the scaled distance time. The final counter value is actually the distance of the object. This multiple subtraction process is described in the Figure 4 flowchart. Figure 4: Flowchart for Performing Multiple Subtractions

4 The work log for this project can be seen in Appendix II Appendix I: The Code #UserISRon Refresh ;enables background scanning of LED display ; ;Variables cblock 0x20 KEYSAVE1 ;the button pressed in the startup menu KEYSAVE2 ;the button pressed in the calibration menu cltime ;low byte of calibration time signal chtime ;high byte of calibration time signal dltime ;low byte of distance time signal dhtime ;high byte of distance time signal dlreg ;least significant register of distance time signal after scaling dlmreg ;next significant '' dhmreg ;next significant '' dhreg ;most significant register of distance time signal after scaling dlsclf ;low byte of scaling factor dhsclf ;high byte of scaling factor ddivlc ;low byte of division counter (aka low byte of distance) ddivhc ;high byte of division counter (aka high byte of distance) endc ; clrf chtime ;ensure calibration time is zero clrf cltime movlw % ;initialize timer 1, and clearing its register's movwf T1CON bcf T1CON,0 clrf TMR1H clrf TMR1L startup clrw ;initializing starting screen. displays C2.D3. meaning calibrate by pressing button 2, and calc distance by pressing button 1 movlw % movwf Digit3 clrw movlw % movwf Digit2 clrw movlw % movwf Digit1 clrw movlw % movwf Digit0 goto sbutton ;goes to sbutton subroutine (checks for buttons being pressed) sbutton movlw 1 ;sbutton subroutine call Delay1s ;debouncing

5 call Getkey movwf KEYSAVE1 ;detects buttons being pressed bcf STATUS,C sublw 7 goto startup call scheck ;calls scheck to see which button is pressed movwf KEYSAVE1 movf KEYSAVE1,W sublw 2 ;if button 2 is pressed, then enter Calib subroutine where calibration occurs ;if 2 is pressed, 2-2 is zero and sets Z flag, therefore enter Calib goto Calib movf KEYSAVE1,W sublw 3 ;if 3 is pressed 3-3 is zero, hence setting Z flag, enters distance mode. goto Dist movf KEYSAVE1,W ;keys 4,5,6 never yeild a Z flag so returns to startup and waits for 2 or 3. sublw 4 goto startup movf KEYSAVE1,W sublw 5 goto startup movf KEYSAVE1,W sublw 6 goto startup scheck clrw ;checks for which key is pressed. movf KEYSAVE1,W andlw 7 bcf STATUS,C addwf PCL,F retlw 0 retlw 1 retlw 2 retlw 3 retlw 4 retlw 5 retlw 6 ; ;-Calibration tells the user to set up an object 1 m away. Once user is ready, press calibration button again (2) and device will send one sound pulse to bounce off the object and wait for its return ;-The time that it takes to return is recorded ;-It takes this time and stores it in two registers chtime (high register) and cltime (low register) ;-It then returns to the startup screen.

6 Calib clrf chtime ;clears calibration time registers clrf cltime clrf TMR1L ;clears timer registers clrf TMR1H clrw movlw % ;displays sd=1, meaning set distance equal to 1. movwf Digit3 clrw movlw % movwf Digit2 clrw movlw % movwf Digit1 clrw movlw % movwf Digit0 goto cbutton cbutton movlw 1 ;waits for calibration button (2) to be pressed again, all other keys disabled ;checks for which key in ccheck (calibration check) call Delay1s call Getkey movwf KEYSAVE2 bcf STATUS,C sublw 7 goto Calib call ccheck movwf KEYSAVE2 movf KEYSAVE2,W sublw 2 ;2-2 is zero setting the Z flag ;doesnt skip if Z is set goto Sound ;if 2 is pressed it goes to Sound subroutine where a pulse can be sent movf KEYSAVE2,W sublw 3 goto Calib ;all other buttons don't set Z flag so return to calibration screen movf KEYSAVE2,W sublw 4 goto Calib movf KEYSAVE2,W sublw 5 goto Calib movf KEYSAVE2,W sublw 6

7 goto Calib ccheck clrw movf KEYSAVE2,W andlw 7 bcf STATUS,C addwf PCL,F retlw 0 retlw 1 retlw 2 retlw 3 retlw 4 retlw 5 retlw 6 ;checks which key is pressed when waiting for calibration button to be pressed Sound clrf PORTD bsf PORTB,6 ;sends signal to INIT which is what tells the device to send a pulse bsf T1CON,0 ;turns on the the timer movlw 0x06 call Wait ;waits 0.9ms, this allows for a distance as small as 6inches from the device bsf PORTB,7 ;send blanking signal to prevent interference and reception of false echos goto crec ;goes to crec which checks for return of calibration signal crec btfss PORTE,0 ;test PORTE, 0 for return signal goto crec ;if no signal keep looking goto cstop ;if there is a signal go to cstop (calibration stop) cstop ;cstop turns the timer off and performs required delays bcf T1CON,0 ;stops the timer when signal is received movf TMR1L,W ;takes lower register of timer and stores in work register movwfcltime ;stores the timers low register into cltime (calibrated low time) movf TMR1H,W ;repeat for high register of the timer movwf chtime movlw 0xD8 call Wait call Wait call Wait ;above series of Waits causes a delay of 107ms bcf PORTB,6 ;then INIT is shut off movlw 0x06 call Wait ;wait 0.9ms bcf PORTB,7 ;shut off blanking signal movlw 0xD8 call Wait call Wait call Wait ;wait 107ms again, these delays are required by the device so signals are properly sent, INIT needs to be on for min of 100ms and off for a min of 100ms

8 goto startup ;returns to startup where the device is now calibrated ; ;Distance mode is where the distance of an object is calculated. This mode can only be entered when there is a calibration time stored in the calibration registers. ;When the distance button is pressed, a sound pulse is transmitted and the device waits for its return and records the time it takes for the signal to return. ;This time is in terms of clock pulses/ns, and is stored in dhtime (high register distance time) and dltime (low register distance time) ;To calculated distance this time needs to first be scaled (multiplied by 1000) or repeatedly added to itself 1000 times ;Once scaled and stored into the scaling registers (dlreg, dlmreg, dhmreg, dhreg). ;It is then divided by the calibration time (or the calibration time is subtracted repeatedly) where the result is the distance of the object with an extra factor of 1000 ;This extra factor is simply accounted for by turning on the proper decimal point on the LED displays when the distance is displayed ;The distance is then displayed for 3 seconds and then the device returns to the starting menu, where it can be recalibrated, or another distance can be measured using the previous calibration Dist movf cltime,w ;This is an error trap to prevents you from measuring a distance if the device is not calibrated sublw 0x01 ;The low register is the calibration time is moved into the work register and 1 is subtracted from it btfsc STATUS,C ;If there is a carry flag, that means that the subtraction is possible meaning there was a calibration time stored goto startup ;If there is no carry flag, there was no value in the calibration register meaning it was not calibrated and returns to the startup screen clrf dlreg ;clearing the registers of the scaling result (4 registers total) clrf dlmreg clrf dhmreg clrf dhreg clrf dhtime ;clearing the high register distance time clrf dltime ;clearing the low register distance time clrf TMR1L ;clearing the timer registers clrf TMR1H clrf PORTD ;clearing the display bsf PORTB,6 ;a signal is sent to INIT, which sends a sound pulse from the device bsf T1CON,0 ;the timer is turned on movlw 0x06 call Wait ;wait 0.9ms bsf PORTB,7 ;and sends blanking signal goto drec ;goes to drec, where the ECHO input is being monitored for the return signal drec btfss PORTE,0 ;checking for the return signal goto drec ;if there is no signal returned, keep looking goto dstop ;if there is a signal go to dstop where timers are turned off and the times are stored

9 dstop bcf T1CON,0 ;turns off the timer movf TMR1L,W ;takes the low timer register and stores it in dltime (distance low time) movwf dltime movf TMR1H,W ;takes the high timer register and stores it in dhtime (distance high time) movwf dhtime movlw 0xD8 ;delays are once again required for the proper function of the transponder call Wait call Wait call Wait ;wait 107ms because that is the minimum time that INIT has to be on for bcf PORTB,6 ;shut off init movlw 0x06 call Wait ;wait 0.9ms bcf PORTB,7 ;shut off blank movlw 0xD8 call Wait call Wait call Wait ;wait 100ms to ensure INIT is off for that period of time goto dcalc ;enter dcalc where the distance calculation process begins dcalc movlw 0xEB ;storing values into the two scaling factors registers to scale by 1000 movwf dlsclf movlw 0x03 movwf dhsclf goto scale ;go to scale to begin the multiplication by 1000, or addition 1000 times over scale movf dltime,w ;take the low register of the distance time and add it to the low register of the scaled result addwf dlreg btfss STATUS,C ;check if there is a carry flag goto adddlmr ;if there is no carry go to adddlmr (add distance lower middle register) adddlmr goto movlw 0x01 addwf dlmreg ;if there is a carry flag set, increment the the next highest register in the scaled result btfss STATUS,C ;checks for a carry flag goto adddlmr ;if there is no carry flag go to adddlmr to add to the lower middle register movlw 0x01 ;if there is a carry flag, increment the next highest register addwf dhmreg btfss STATUS,C ;check to see if that increment caused another carry flag goto adddlmr ;if there was no carry flag then go to adddlmr (add distance lower middle register) incf dhreg ;if there is a carry flag then increment the highest register then go to adddlmr adddlmr movf dhtime,w addwf dlmreg ;the high register of the distance time is then added to the next significant register of the scaled value dlmreg, (distance lower middle register)

10 btfss STATUS,C ;check to see if there is a carry flag after the addition goto sdec ;if there is no carry flag, go to sdec where the scaler value is decremented meaning one addition has been made movlw 0x01 ;if there is a carry flag set, increment the next significant scaled valued register, dhmreg, (distance higher middle register) addwf dhmreg btfss STATUS,C ;check the status of the dhmreg register after addition goto sdec ;if there is no carry flag then go to sdec to decrease the scaler count incf dhreg ;if there is a carry flag increment the last and highest scaled value register, dhreg, (distance highest register) goto sdec ;then go to sdec to decrease the scaler count sdec decf dlsclf btfss STATUS,Z goto scale decf dhsclf goto fadddff goto adddff adddff movlw 0xFF addwf dlsclf goto scale fadddff movlw 0xFF addwf dlsclf goto dfinish dfinish movf dltime,w addwf dlreg btfss STATUS,C goto fadddlmr incf dlmreg goto fadddlmr ;the lowest register of the scaling factor is decremented ;checks if the low register is zero ;if the low register of the scaling factor is not zero then go to scale and do another addition ;if the low register of the scaling factor is zero then decrement the higher register of the scaling factor ;check status of the zero flag on the higher register of the scaling factor ;if there is a zero flag set go to fadddff to to add 255 into lower scaler register then go into dfinish (decrement finish) ;if there is no zero flag set then go to adddff to add 255 into the lower scaler register (borrowing) and continue to scale ;when the zero flag in the high register of the scaling factor is not set, there are still values stored in there ;borrow 255 bits from the higher register by decrementing it and adding 255 to lower scaling factor register ;go to scale again to continue with more additions ;if there is a zero flag on the high scaling register that means, 255 needs to be borrowed from the high register ;since there is zero in the higher register, there are only 255 additions remaining before the value is considered scaled ;we then go to dfinish where addition continues but stops once the low register of the scaling factor hits zero ;adds the low register of the distance time to the lowest register of the scaled value ;checks if there is a carry set ;if there is no carry then go to fadddlmr, where the high bit of the distance time register is added to the dlmreg (distance lower middle register) of the scaled value ;if there is a carry then increment the next highest register then go to fadddlmr

11 fadddlmr movf dhtime,w ;the higher register of the distance time is added to the lower middle register of the scaled value addwf dlmreg btfss STATUS,C ;check for a carry flag set goto fsdec ;if there is no carry then go to fsdec where the last 255 additions in the lower scaling factor can be decremented movlw 0x01 ;if there is a carry flag then increment the high middle register of the scaled value addwf dhmreg btfss STATUS,C ;check if the high middle register has a carry flag set after the increment goto fsdec ;if there is no carry flag then go to fsdec incf dhreg ;if there is a carry flag then increment the highest register of the scaled value goto fsdec ;then go to fsdec fsdec decf dlsclf btfss STATUS,Z goto dfinish clrf ddivlc clrf ddivhc goto ddivide ;final scaling decrement, decrements the lower register of the scaling factor ;tests for a zero flag ;if there is no zero flag, then go to dfinish to perfrom another addition until the lower register of the scaling factor hits zero ;if there is a zero fag, means scaling is complete so clear the upcount registers used for division and go into ddivide where multiple subtractions occur ddivide movf cltime,w ;takes the low register of the calibration time subwf dlreg ;and subtracts from the lowest register of the scaled distance value btfss STATUS,C ;test for a carry (carry is set when a subtraction is possible, ie cltime < dlreg) call sublmr ;if there is no carry then must go to sublmr (subtract lower middle register) to borrow bits from next highest register of the scaled value btfss STATUS,C ;checks carry status of dlmreg to unsure that borrowing was possible call subhmr ;if there was no carry flag, it means could not borrow from dlmreg so go to subhmr to borrow from high middle register of the scaled value btfss STATUS,C ;checks for a carry flag to see if it was possible to borrow from dhmreg decf dhreg ;if there is no carry flag, could not borrow so we have to borrow from dhreg, highest register of the scaled value movf chtime,w ;if there is a carry flag it means it could borrow so continue to subtract the high register of the calibration time from the lower middle register of the scaled value subwf dlmreg btfss STATUS,C ;check to see if the subtraction was possible (chtime < dlmreg) call subhmr ;if no carry flag, means chtime > dlmreg so we have to borrow from next register, high middle register of scaled value btfss STATUS,C ;check to see if possible to borrow from dhmreg decf dhreg ;if could not borrow from dhmreg, then have to borrow from next register which is dhreg, highest register of the scaled value btfsc dhreg,7 ;the highest bit of the highest scaled value register is then tested

12 goto ddisp ;if the highest bit of the highest scaled value register isnt 0 then there is a negative number and subtraction is complete. Go to ddisp where the distance is displayed. movlw 0x01 ;if the highest bit of the highest scaled value register is zero then increment low register of the division count (one successful subtraction has taken place) addwf ddivlc btfsc STATUS,C ;test to see if there is a carry incf ddivhc ;if there is a carry then increment the high register of the division counter goto ddivide ;if there is no carry, go back up to divide and continue to subtract sublmr movlw 0x01 subwf dlmreg return subhmr movlw 0x01 subwf dhmreg return ;decrements dlmreg and returns to ddivide (borrowing from dlmreg) ;decrements dhmreg and returns to ddivide (borrowing from dhmreg) ddisp clrf PORTD ;clears the LED displays movf ddivhc,w ;the division counters is the distance of the object with an extra factor of 1000 movwf WH ;the high register of the division counter is placed into WH movf ddivlc,w movwf WL ;the low register of the division counter is placed into WL call Bin2BCD ;displays the distance of the object on the LED displays with an extra factor of 1000 call BCD2LED movlw % ;turns on the decimal point to account for the extra factor of Final displayed result is then in meters addwf Digit3 movlw 3 call Delay1s goto startup ;displays the distance for 3 seconds ;returns to the starting menu where the device can be recalibrated, or another distance can be taken.

13 Appendix II Date March 26/10 March 29/10 1/10 5/10 6/10 8/10 9/10 Progress Wrote rough pseudocode for calibration of device The idea was to transmit a sound pulse and record the time it takes for the source to return Since a distance of 1 m is set, using v=d/(t/2), the velocity of sound at the current temperature could be solved for and stored in memory to use to calculate other distances Began to program user interface Created startup screen displaying 4 different modes C.d.S.A which stands for calibration, distance, speed, acceleration, each letter represented a button on the pic to enter that corresponding mode Programmed it so that when button two was pressed pic would enter calibration loop. In this loop, made it display Sd=1 which tells the user to set up an object 1 meter away so that the device can be calibrated Wrote more pseudocode to calculate the distance of objects after the velocity of time was calculated The idea was to take the travel time of the sound pulse, divide it by 2, and multiple it with the speed of sound which is saved to yield the distance The distance would then be displayed Started to work with hardware. Got a Polaroid 6500 ranging module Determined the pinouts on the module Total of 9 pins, but only 5 would be needed: 0V, V+, ECHO, INIT, and BINH ECHO pin is the pin that detects the incoming sound pulse INIT pin sends a sound pulse BINH is a blanking signal which is sent after the INIT signal to prevent false echoes from things like the init signals interfering with each other Learned that the timing of the BINH signal is what determines how close the device can measure distances Started to set up the testing of the Polaroid 6500 Wrote a short bit of code to send pulses Connected pic to the ranger through a breadboard medium and used power from the breadboard Used an oscilloscope to monitor the INIT and ECHO pins Started to send pulses successfully and the signals could be seen on the scope Unable to receive signals at this point Continued to test the ranger Still sending but not receiving pulses Rearranged set up but yielded same results Continued to test ranger Installed a pull up resistor on the ECHO pin

14 12/10 13/10 16/10 22/10 Now successfully receiving signals Used the timing on the oscilloscope and successfully calculated distances by hand Started to run the ranger directly off the pic, but was not successful Perhaps a power issue at this point Returned to setup using breadboard The device could not receive signals anymore Tested all wires, the resistor and capacitor Decided to turn to software for a bit so looked into the pic timers Started reading about onboard timers particularity TIMER0 and TIMER 1 modules Deemed TIMER0 would not work because only 8 bits and could not store large enough times TIMER1 is a better option because 16 bits so larger distances with larger times could be measured Started to program the timers to see what they are capable of Wrote a program to ensure timers function Used the timer to time the count5ms to ensure there would be a time of 5ms saved in the timers Determined timers working Returned to hardware to see if signals could be received Decided to re-solder connections of the transponder Upon completion tested again using breadboard and once again successfully sending and receiving signals as seen on the oscilloscope Connected ranger directly to pic and ran off the pic s power while monitoring INIT and ECHO on the oscilloscope. Still successfully sending and receiving pulses Now that transponder is working like it is supposed to, cleaned up all hardware. Attached wires, pull up resistor, and capacitor to the pic Mounted the pic directly inside the box that holds the transponder with hot glue Hot glued the chip from the transponder with pinouts inside the box in a way that was easily accessible Made the necessary connections between the transponder pins and the pic Took the cover of the transponder to the machine shop and got the top cut off so the sides could be used to cover the side of the transponder box Screwed sides of the box on and completed hardware Tested to ensure signals could still be sent and received Wrote code to send a signal, and start timer and monitor input to detect the signal and turn off timer when signal has returned Sending and receiving signals from objects and various distances and successfully calculating the distance of the object by hand using the time stored from the timer This time is measured by total number of clock pulses, so to do this took the time stored in memory and multiplied it by 200ns (time of each pulse), divided by 2 (time travels the distance twice) and multiplied it with the approximate speed of sound in the room. This gave the distance of the object These multiplications and divisions proved to be very complex in terms of the

15 23/10 assembly language The original plan of taking the time captured and dividing it by the distance of 1m to get a velocity would not be as easy as it sounds Decided that it would be easier to first scale the times and work with ratios to calculate distances This would mean to scale times the time would have to be multiplied by 100 or 1000 depending on the precision desired The idea was to take the time it takes for the sound to travel 1m and add it to itself 100 times (scaled by 100) (calibration time) This value would then be stored and now when measuring object distances, the distance time would be saved and the calibration time would be divided by the distance time hence giving a distance Since the math was seemingly figured out, wrote a new program that would take a value and add it to itself 100 times Successfully wrote this scaling program and then incorporated it into the real program with the user interface Had to now find a way to divide the scaled calibration time by the distance time This would be a series of subtractions with an up counter. Wrote code to subtract using the compliment and addition but the thinking was all wrong Decided to scrap that way of subtracting Thought over the math being done to calculate distances but it didn t add up The distance time subtracted from the scaled calibration time did not yield the proper distance (did it by hand with a calculator) Had to rethink it and realized the distance time had to be scaled and the calibration time would be subtracted from the scaled distance time Tried to test this new method by capturing a some travel times but hardware was not working yet again It seemed like something was being grounded when it was not supposed to and the device would not reset properly The read key program previously written in labs seemed to just show up and would not allow the reset button to be pressed Unscrewed the side panels and disconnected the transponder to see if it was the issue but the pic would still not reset Pulled the pic from the hot glue holding it in place and saw some blobs of solder that may have been too close to other contacts Removed all large blobs on the pic and pic was functioning again The pic was placed back into the box and the connections were made with the transponder Hardware was now fixed and capture times could once again taken Used these capture times in the new method of calculating distances It worked out but since only scaling by 100, the precision was a little too low Rewrote the scaling program to scale by Extra registers were now required to store the scaled value which complicated things slightly

16 25/ /10 Eventually figured it out and incorporated the scaling by 1000 into the real program Had to also modify the program to scale the distance time, not the calibration time Started a new program to do multiple subtractions with an up counter Decided to subtract the low register of the calibration time from the lowest register of the scaled distance time and would check if borrowing from the next highest register was required If it was not required then it would subtract the next registers and once again check for carry flags This loop just continued with a counter that incremented every time one successful subtraction took place This counter would stop when the calibration time cannot be subtracted from the scaled distance time anymore Since the distance time was scaled the final result will also be scaled by 1000 This could be easily fixed by turning on the correct decimal point on the LED display Successfully programmed the subtraction and incorporated it into the main program Ran several tests and troubleshot and finally yielded accurate distances which were stored in memory Took this distance value and displayed it on the LEDs with the decimal point The device could now calibrate and detect distances successfully Due to time constraints decided that just measuring distances of objects is pretty good Decided to stop here and not perform velocity and acceleration measurements Reprogrammed the user interface to display c2.d3. on startup meaning calibrate with button 2 and measure distance with button 3 Programmed some error trapping Checked to make sure there was a calibration time stored, if there was no calibration time in the memory, no buttons except the calibration button would work Once there is a calibration time then the distance button will allow the user to send a pulse to detect the distance of an object. Also allowed recalibration so at any time the device can be calibrated again Disabled other buttons so the only two that work is button 2 for calibrating and button 3 for distance Went back and commented the code throughout Took rough log notes being taken throughout this process and typed up this log in full Created final presentation for submission Updated this log Completed project *Every part of this project was done together hence only one work log

Embedded Systems. Interfacing PIC with external devices 7-Segment display. Eng. Anis Nazer Second Semester

Embedded Systems. Interfacing PIC with external devices 7-Segment display. Eng. Anis Nazer Second Semester Embedded Systems Interfacing PIC with external devices 7-Segment display Eng. Anis Nazer Second Semester 2017-2018 PIC interfacing In any embedded system, the microcontroller should be connected to other

More information

Embedded Systems. Interfacing PIC with external devices 7-Segment display. Eng. Anis Nazer Second Semester

Embedded Systems. Interfacing PIC with external devices 7-Segment display. Eng. Anis Nazer Second Semester Embedded Systems Interfacing PIC with external devices 7-Segment display Eng. Anis Nazer Second Semester 2016-2017 PIC interfacing The PIC needs to be connected to other devices such as: LEDs Switches

More information

Experiment 3: Basic Embedded System Analysis and Design

Experiment 3: Basic Embedded System Analysis and Design University of Jordan Faculty of Engineering and Technology Department of Computer Engineering Embedded Systems Laboratory 0907334 3 Experiment 3: Basic Embedded System Analysis and Design Objectives Empowering

More information

MECE336 Microprocessors I

MECE336 Microprocessors I MECE336 Microprocessors I Lecture 9 Subtraction and Lookup Tables Associate Prof. Dr. Klaus Werner Schmidt of Mechatronics Engineering Çankaya University Compulsory Course in Mechatronics Engineering Credits

More information

Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations

Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations Design questions like A1 below are extremely difficult to mark, not least because there

More information

Introduction to PIC Programming

Introduction to PIC Programming Introduction to PIC Programming Baseline Architecture and Assembly Language by David Meiklejohn, Gooligum Electronics Lesson 10: Analog-to-Digital Conversion We saw in the last lesson how a comparator

More information

EXPERIMENT 2: Elementary Input Output Programming

EXPERIMENT 2: Elementary Input Output Programming EXPERIMENT 2: Elementary Input Output Programming Objectives Introduction to the Parallel Input/Output (I/O) Familiarization to Interfacing with digital inputs and outputs such as switches, LEDs and 7-segment.

More information

Discrete Logic Replacement Melody Player

Discrete Logic Replacement Melody Player Melody Player Author: Slav Slavov Sliven email: ell@sliven.osf.acad.bg Flow Chart: begin APPLICATION OPERATION : This application generates a melody. It was a little bit difficult to place the tables because

More information

An Enhanced MM MHz Generator

An Enhanced MM MHz Generator An Enhanced MM5369-60 MHz Generator Author: OVERVIEW Jim Nagy London Ontario email: nagy@wwdc.com I call my idea an 'MM5369E' as it represents the equivalent of a 5369 IC plus all the 'glue' necessary

More information

SWITCH: Microcontroller Touch-switch Design & Test (Part 2)

SWITCH: Microcontroller Touch-switch Design & Test (Part 2) SWITCH: Microcontroller Touch-switch Design & Test (Part 2) 2 nd Year Electronics Lab IMPERIAL COLLEGE LONDON v2.09 Table of Contents Equipment... 2 Aims... 2 Objectives... 2 Recommended Timetable... 2

More information

Lab #10: Building Output Ports with the 6811

Lab #10: Building Output Ports with the 6811 1 Tiffany Q. Liu April 11, 2011 CSC 270 Lab #10 Lab #10: Building Output Ports with the 6811 Introduction The purpose of this lab was to build a 1-bit as well as a 2-bit output port with the 6811 training

More information

The Calculative Calculator

The Calculative Calculator The Calculative Calculator Interactive Digital Calculator Chandler Connolly, Sarah Elhage, Matthew Shina, Daniyah Alaswad Electrical and Computer Engineering Department School of Engineering and Computer

More information

Four Channel Digital Voltmeter with Display and Keyboard. Hardware RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RA0 RA1 RA2 RA3 PIC16C71

Four Channel Digital Voltmeter with Display and Keyboard. Hardware RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RA0 RA1 RA2 RA3 PIC16C71 M AN557 Four Channel Digital Voltmeter with Display and Keyboard Author: INTRODUCTION Stan D Souza Microchip Technology Inc. The PIC16C71 is a member of the mid-range family of 8-bit, high-speed microcontrollers,

More information

Catch or Die! Julia A. and Andrew C. ECE 150 Cooper Union Spring 2010

Catch or Die! Julia A. and Andrew C. ECE 150 Cooper Union Spring 2010 Catch or Die! Julia A. and Andrew C. ECE 150 Cooper Union Spring 2010 Andrew C. and Julia A. DLD Final Project Spring 2010 Abstract For our final project, we created a game on a grid of 72 LED s (9 rows

More information

BER MEASUREMENT IN THE NOISY CHANNEL

BER MEASUREMENT IN THE NOISY CHANNEL BER MEASUREMENT IN THE NOISY CHANNEL PREPARATION... 2 overview... 2 the basic system... 3 a more detailed description... 4 theoretical predictions... 5 EXPERIMENT... 6 the ERROR COUNTING UTILITIES module...

More information

TV Synchronism Generation with PIC Microcontroller

TV Synchronism Generation with PIC Microcontroller TV Synchronism Generation with PIC Microcontroller With the widespread conversion of the TV transmission and coding standards, from the early analog (NTSC, PAL, SECAM) systems to the modern digital formats

More information

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

Design and Implementation of Timer, GPIO, and 7-segment Peripherals Design and Implementation of Timer, GPIO, and 7-segment Peripherals 1 Module Overview Learn about timers, GPIO and 7-segment display; Design and implement an AHB timer, a GPIO peripheral, and a 7-segment

More information

Keyboard Controlled Scoreboard

Keyboard Controlled Scoreboard Universities Research Journal 2011, Vol. 4, No. 4 Keyboard Controlled Scoreboard Kyaw Hlaing 1 and Win Swe 2 Abstract The objective of this research work is to design a keyboard controlled scoreboard that

More information

Chapter 11 Sections 1 3 Dr. Iyad Jafar

Chapter 11 Sections 1 3 Dr. Iyad Jafar Data Acquisition and Manipulation Chapter 11 Sections 1 3 Dr. Iyad Jafar Outline Analog and Digital Quantities The Analog to Digital Converter Features of Analog to Digital Converter The Data Acquisition

More information

Laboratory 11. Required Components: Objectives. Introduction. Digital Displays and Logic (modified from lab text by Alciatore)

Laboratory 11. Required Components: Objectives. Introduction. Digital Displays and Logic (modified from lab text by Alciatore) Laboratory 11 Digital Displays and Logic (modified from lab text by Alciatore) Required Components: 2x lk resistors 1x 10M resistor 3x 0.1 F capacitor 1x 555 timer 1x 7490 decade counter 1x 7447 BCD to

More information

Laboratory 9 Digital Circuits: Flip Flops, One-Shot, Shift Register, Ripple Counter

Laboratory 9 Digital Circuits: Flip Flops, One-Shot, Shift Register, Ripple Counter page 1 of 5 Digital Circuits: Flip Flops, One-Shot, Shift Register, Ripple Counter Introduction In this lab, you will learn about the behavior of the D flip-flop, by employing it in 3 classic circuits:

More information

A 400MHz Direct Digital Synthesizer with the AD9912

A 400MHz Direct Digital Synthesizer with the AD9912 A MHz Direct Digital Synthesizer with the AD991 Daniel Da Costa danieljdacosta@gmail.com Brendan Mulholland firemulholland@gmail.com Project Sponser: Dr. Kirk W. Madison Project 11 Engineering Physics

More information

SPI Serial Communication and Nokia 5110 LCD Screen

SPI Serial Communication and Nokia 5110 LCD Screen 8 SPI Serial Communication and Nokia 5110 LCD Screen 8.1 Objectives: Many devices use Serial Communication to communicate with each other. The advantage of serial communication is that it uses relatively

More information

Experiment 7: Bit Error Rate (BER) Measurement in the Noisy Channel

Experiment 7: Bit Error Rate (BER) Measurement in the Noisy Channel Experiment 7: Bit Error Rate (BER) Measurement in the Noisy Channel Modified Dr Peter Vial March 2011 from Emona TIMS experiment ACHIEVEMENTS: ability to set up a digital communications system over a noisy,

More information

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH CPE 200L LABORATORY 3: SEUENTIAL LOGIC CIRCUITS DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Learn to use Function Generator and Oscilloscope on the breadboard.

More information

Digital Clock. Perry Andrews. A Project By. Based on the PIC16F84A Micro controller. Revision C

Digital Clock. Perry Andrews. A Project By. Based on the PIC16F84A Micro controller. Revision C Digital Clock A Project By Perry Andrews Based on the PIC16F84A Micro controller. Revision C 23 rd January 2011 Contents Contents... 2 Introduction... 2 Design and Development... 3 Construction... 7 Conclusion...

More information

Application Note 11 - Totalization

Application Note 11 - Totalization Application Note 11 - Totalization Using the TrendView Recorders for Totalization The totalization function is normally associated with flow monitoring applications, where the input to the recorder would

More information

4.9 BEAM BLANKING AND PULSING OPTIONS

4.9 BEAM BLANKING AND PULSING OPTIONS 4.9 BEAM BLANKING AND PULSING OPTIONS Beam Blanker BNC DESCRIPTION OF BLANKER CONTROLS Beam Blanker assembly Electron Gun Controls Blanker BNC: An input BNC on one of the 1⅓ CF flanges on the Flange Multiplexer

More information

N3ZI Digital Dial Manual For kit with Backlit LCD Rev 4.00 Jan 2013 PCB

N3ZI Digital Dial Manual For kit with Backlit LCD Rev 4.00 Jan 2013 PCB N3ZI Digital Dial Manual For kit with Backlit LCD Rev 4.00 Jan 2013 PCB Kit Components Item Qty Designator Part Color/Marking PCB 1 LCD Display 1 LCD 1602 Volt Regulator 1 U1 78L05, Black TO-92 Prescaler

More information

Part (A) Controlling 7-Segment Displays with Pushbuttons. Part (B) Controlling 7-Segment Displays with the PIC

Part (A) Controlling 7-Segment Displays with Pushbuttons. Part (B) Controlling 7-Segment Displays with the PIC Name Name ME430 Mechatronic Systems: Lab 6: Preparing for the Line Following Robot The lab team has demonstrated the following tasks: Part (A) Controlling 7-Segment Displays with Pushbuttons Part (B) Controlling

More information

800 Displaying Series Flowmeter

800 Displaying Series Flowmeter TECHNICAL PRODUCT INSTRUCTION SHEET 800 Displaying Series Flowmeter OVERVIEW The principle of operation is very simple. A jet of liquid is directed at a free running Pelton wheel turbine in a specially

More information

EDL8 Race Dash Manual Engine Management Systems

EDL8 Race Dash Manual Engine Management Systems Engine Management Systems EDL8 Race Dash Manual Engine Management Systems Page 1 EDL8 Race Dash Page 2 EMS Computers Pty Ltd Unit 9 / 171 Power St Glendenning NSW, 2761 Australia Phone.: +612 9675 1414

More information

7 SEGMENT LED DISPLAY KIT

7 SEGMENT LED DISPLAY KIT ESSENTIAL INFORMATION BUILD INSTRUCTIONS CHECKING YOUR PCB & FAULT-FINDING MECHANICAL DETAILS HOW THE KIT WORKS CREATE YOUR OWN SCORE BOARD WITH THIS 7 SEGMENT LED DISPLAY KIT Version 2.0 Which pages of

More information

Digital (5hz to 500 Khz) Frequency-Meter

Digital (5hz to 500 Khz) Frequency-Meter Digital (5hz to 500 Khz) Frequency-Meter Posted on April 4, 2008, by Ibrahim KAMAL, in Sensor & Measurement, tagged Based on the famous AT89C52 microcontroller, this 500 Khz frequency-meter will be enough

More information

N3ZI Digital Dial Manual For kit with Serial LCD Rev 3.04 Aug 2012

N3ZI Digital Dial Manual For kit with Serial LCD Rev 3.04 Aug 2012 N3ZI Digital Dial Manual For kit with Serial LCD Rev 3.04 Aug 2012 Kit properly assembled and configured for Standard Serial LCD (LCD Not yet connected) Kit Components Item Qty Designator Part Color/Marking

More information

SA Development Tech LLC Press Counter II 1.00

SA Development Tech LLC Press Counter II 1.00 SA Development Tech LLC Press Counter II 1.00 Manual Unit is a compact and convenient 2 x 2 Disclaimer: Many things can go wrong during the reloading process and it is entirely your responsibility to load

More information

ECE 372 Microcontroller Design

ECE 372 Microcontroller Design E.g. Port A, Port B Used to interface with many devices Switches LEDs LCD Keypads Relays Stepper Motors Interface with digital IO requires us to connect the devices correctly and write code to interface

More information

Reaction Game Kit MitchElectronics 2019

Reaction Game Kit MitchElectronics 2019 Reaction Game Kit MitchElectronics 2019 www.mitchelectronics.co.uk CONTENTS Schematic 3 How It Works 4 Materials 6 Construction 8 Important Information 9 Page 2 SCHEMATIC Page 3 SCHEMATIC EXPLANATION The

More information

Laboratory Exercise 4

Laboratory Exercise 4 Laboratory Exercise 4 Polling and Interrupts The purpose of this exercise is to learn how to send and receive data to/from I/O devices. There are two methods used to indicate whether or not data can be

More information

Decade Counters Mod-5 counter: Decade Counter:

Decade Counters Mod-5 counter: Decade Counter: Decade Counters We can design a decade counter using cascade of mod-5 and mod-2 counters. Mod-2 counter is just a single flip-flop with the two stable states as 0 and 1. Mod-5 counter: A typical mod-5

More information

Part No. ENC-LAB01 Users Manual Introduction EncoderLAB

Part No. ENC-LAB01 Users Manual Introduction EncoderLAB PCA Incremental Encoder Laboratory For Testing and Simulating Incremental Encoder signals Part No. ENC-LAB01 Users Manual The Encoder Laboratory combines into the one housing and updates two separate encoder

More information

ET-REMOTE DISTANCE. Manual of ET-REMOTE DISTANCE

ET-REMOTE DISTANCE. Manual of ET-REMOTE DISTANCE ET-REMOTE DISTANCE ET-REMOTE DISTANCE is Distance Measurement Module by Ultrasonic Waves; it consists of 2 important parts. Firstly, it is the part of Board Ultrasonic (HC-SR04) that includes sender and

More information

C-MAX. TSG200 Time signal generator TSG200. Time Signal Generator. Manual TSG200. RF Technology Specialist. Version. Revision. SPEC No.

C-MAX. TSG200 Time signal generator TSG200. Time Signal Generator. Manual TSG200. RF Technology Specialist. Version. Revision. SPEC No. Manual Time signal generator RF Technology Specialist Time Signal Generator A6 1 of 24 Manual The allows to transmit the time signal in any location. This feature opens a wide range of usage for the, e.g.

More information

W0EB/W2CTX DSP Audio Filter Operating Manual V1.12

W0EB/W2CTX DSP Audio Filter Operating Manual V1.12 W0EB/W2CTX DSP Audio Filter Operating Manual V1.12 Manual and photographs Copyright W0EB/W2CTX, March 13, 2019. This document may be freely copied and distributed so long as no changes are made and the

More information

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory RPI Rensselaer Polytechnic Institute Computer Hardware Design ECSE 4770 Report Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory Name: Walter Dearing Group: Brad Stephenson David Bang

More information

Module 4: Traffic Signal Design Lesson 1: Traffic Signal (Arduino) Control System Laboratory Exercise Grade 6-8

Module 4: Traffic Signal Design Lesson 1: Traffic Signal (Arduino) Control System Laboratory Exercise Grade 6-8 Name: Class: Module 4: Traffic Signal Design Lesson 1: Traffic Signal (Arduino) Control System Laboratory Exercise Grade 6-8 Background Traffic signals are used to control traffic that flows in opposing

More information

Digital Circuits I and II Nov. 17, 1999

Digital Circuits I and II Nov. 17, 1999 Physics 623 Digital Circuits I and II Nov. 17, 1999 Digital Circuits I 1 Purpose To introduce the basic principles of digital circuitry. To understand the small signal response of various gates and circuits

More information

Laboratory 8. Digital Circuits - Counter and LED Display

Laboratory 8. Digital Circuits - Counter and LED Display Laboratory 8 Digital Circuits - Counter and Display Required Components: 2 1k resistors 1 10M resistor 3 0.1 F capacitor 1 555 timer 1 7490 decade counter 1 7447 BCD to decoder 1 MAN 6910 or LTD-482EC

More information

(Cat. No IJ, -IK)

(Cat. No IJ, -IK) (Cat. No. 1771-IJ, -IK) Product Data The Encoder/Counter Module Assembly (cat. no. 1771-IJ or 1771-IK) maintains a count, independent of the processor, of input pulses that may typically originate from

More information

Experiment 7 Fall 2012

Experiment 7 Fall 2012 10/30/12 Experiment 7 Fall 2012 Experiment 7 Fall 2012 Count UP/DOWN Timer Using The SPI Subsystem Due: Week 9 lab Sessions (10/23/2012) Design and implement a one second interval (and high speed 0.05

More information

TV Character Generator

TV Character Generator TV Character Generator TV CHARACTER GENERATOR There are many ways to show the results of a microcontroller process in a visual manner, ranging from very simple and cheap, such as lighting an LED, to much

More information

127566, Россия, Москва, Алтуфьевское шоссе, дом 48, корпус 1 Телефон: +7 (499) (800) (бесплатно на территории России)

127566, Россия, Москва, Алтуфьевское шоссе, дом 48, корпус 1 Телефон: +7 (499) (800) (бесплатно на территории России) 127566, Россия, Москва, Алтуфьевское шоссе, дом 48, корпус 1 Телефон: +7 (499) 322-99-34 +7 (800) 200-74-93 (бесплатно на территории России) E-mail: info@awt.ru, web:www.awt.ru Contents 1 Introduction...2

More information

Operating Instructions

Operating Instructions Operating Instructions HAEFELY TEST AG KIT Measurement Software Version 1.0 KIT / En Date Version Responsable Changes / Reasons February 2015 1.0 Initial version WARNING Introduction i Before operating

More information

013-RD

013-RD Engineering Note Topic: Product Affected: JAZ-PX Lamp Module Jaz Date Issued: 08/27/2010 Description The Jaz PX lamp is a pulsed, short arc xenon lamp for UV-VIS applications such as absorbance, bioreflectance,

More information

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

FPGA Laboratory Assignment 4. Due Date: 06/11/2012 FPGA Laboratory Assignment 4 Due Date: 06/11/2012 Aim The purpose of this lab is to help you understanding the fundamentals of designing and testing memory-based processing systems. In this lab, you will

More information

NS8050U MICROWIRE PLUSTM Interface

NS8050U MICROWIRE PLUSTM Interface NS8050U MICROWIRE PLUSTM Interface National Semiconductor Application Note 358 Rao Gobburu James Murashige April 1984 FIGURE 1 Microwire Mode Functional Configuration TRI-STATE is a registered trademark

More information

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Nate Pihlstrom, npihlstr@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement

More information

Click Here To Start Demo

Click Here To Start Demo Click Here To Start Demo AirLogix Demo Title Screen AirLogix Interactive Demonstrator Version 3.0 Copyright 2005 by Case Engineering inc This is intended as a working active demonstration only. Every attempt

More information

(Skip to step 11 if you are already familiar with connecting to the Tribot)

(Skip to step 11 if you are already familiar with connecting to the Tribot) LEGO MINDSTORMS NXT Lab 5 Remember back in Lab 2 when the Tribot was commanded to drive in a specific pattern that had the shape of a bow tie? Specific commands were passed to the motors to command how

More information

Using the Siemens S65 Display

Using the Siemens S65 Display Using the Siemens S65 Display by Christian Kranz, October 2005 ( http://www.superkranz.de/christian/s65_display/displayindex.html ) ( PDF by Benjamin Metz, April 18 th, 2006 ) About the Display: Siemens

More information

Integration of Virtual Instrumentation into a Compressed Electricity and Electronic Curriculum

Integration of Virtual Instrumentation into a Compressed Electricity and Electronic Curriculum Integration of Virtual Instrumentation into a Compressed Electricity and Electronic Curriculum Arif Sirinterlikci Ohio Northern University Background Ohio Northern University Technological Studies Department

More information

Logic Design Viva Question Bank Compiled By Channveer Patil

Logic Design Viva Question Bank Compiled By Channveer Patil Logic Design Viva Question Bank Compiled By Channveer Patil Title of the Practical: Verify the truth table of logic gates AND, OR, NOT, NAND and NOR gates/ Design Basic Gates Using NAND/NOR gates. Q.1

More information

Vtronix Incorporated. Simon Fraser University Burnaby, BC V5A 1S6 April 19, 1999

Vtronix Incorporated. Simon Fraser University Burnaby, BC V5A 1S6 April 19, 1999 Vtronix Incorporated Simon Fraser University Burnaby, BC V5A 1S6 vtronix-inc@sfu.ca April 19, 1999 Dr. Andrew Rawicz School of Engineering Science Simon Fraser University Burnaby, BC V5A 1S6 Re: ENSC 370

More information

Assignment 3: 68HC11 Beep Lab

Assignment 3: 68HC11 Beep Lab ASSIGNMENT 3: 68HC11 Beep Lab Introduction In this assignment, you will: Analyze the timing of a program that makes a beep, calculating the precise frequency of oscillation. Use an oscilloscope in the

More information

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 - Introductory Digital Systems Laboratory (Spring 2006) Laboratory 2 (Traffic Light Controller) Check

More information

PHY221 Lab 1 Discovering Motion: Introduction to Logger Pro and the Motion Detector; Motion with Constant Velocity

PHY221 Lab 1 Discovering Motion: Introduction to Logger Pro and the Motion Detector; Motion with Constant Velocity PHY221 Lab 1 Discovering Motion: Introduction to Logger Pro and the Motion Detector; Motion with Constant Velocity Print Your Name Print Your Partners' Names Instructions August 31, 2016 Before lab, read

More information

EECS145M 2000 Midterm #1 Page 1 Derenzo

EECS145M 2000 Midterm #1 Page 1 Derenzo UNIVERSITY OF CALIFORNIA College of Engineering Electrical Engineering and Computer Sciences Department EECS 145M: Microcomputer Interfacing Laboratory Spring Midterm #1 (Closed book- calculators OK) Wednesday,

More information

Experiment # 4 Counters and Logic Analyzer

Experiment # 4 Counters and Logic Analyzer EE20L - Introduction to Digital Circuits Experiment # 4. Synopsis: Experiment # 4 Counters and Logic Analyzer In this lab we will build an up-counter and a down-counter using 74LS76A - Flip Flops. The

More information

PHYS 3322 Modern Laboratory Methods I Digital Devices

PHYS 3322 Modern Laboratory Methods I Digital Devices PHYS 3322 Modern Laboratory Methods I Digital Devices Purpose This experiment will introduce you to the basic operating principles of digital electronic devices. Background These circuits are called digital

More information

Application Note AN-708 Vibration Measurements with the Vibration Synchronization Module

Application Note AN-708 Vibration Measurements with the Vibration Synchronization Module Application Note AN-708 Vibration Measurements with the Vibration Synchronization Module Introduction The vibration module allows complete analysis of cyclical events using low-speed cameras. This is accomplished

More information

Radio Clock with DCF77

Radio Clock with DCF77 Radio Clock with DCF77 by Nicolas L. F. September 2011 Abstract Since the 1980s radio clocks have been popular, and in this article Nicolas guides us through the creation of his own radio clock using the

More information

Basic LabVIEW Programming Amit J Nimunkar, Sara Karle, Michele Lorenz, Emily Maslonkowski

Basic LabVIEW Programming Amit J Nimunkar, Sara Karle, Michele Lorenz, Emily Maslonkowski Introduction This lab familiarizes you with the software package LabVIEW from National Instruments for data acquisition and virtual instrumentation. The lab also introduces you to resistors, capacitors,

More information

Introduction 1. Green status LED, controlled by output signal ST. Sounder, controlled by output signal Q6. Push switch on input D6

Introduction 1. Green status LED, controlled by output signal ST. Sounder, controlled by output signal Q6. Push switch on input D6 Introduction 1 Welcome to the GENIE microcontroller system! The activity kit allows you to experiment with a wide variety of inputs and outputs... so why not try reading sensors, controlling lights or

More information

Chapter 3: Sequential Logic Systems

Chapter 3: Sequential Logic Systems Chapter 3: Sequential Logic Systems 1. The S-R Latch Learning Objectives: At the end of this topic you should be able to: design a Set-Reset latch based on NAND gates; complete a sequential truth table

More information

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

Spring 2011 Microprocessors B Course Project (30% of your course Grade)

Spring 2011 Microprocessors B Course Project (30% of your course Grade) Course Project guidelines Spring 2011 Microprocessors B 17.384 Course Project (30% of your course Grade) Overall Guidelines Design a fairly complex system that contains at least one microcontroller (the

More information

Revision 1.2d

Revision 1.2d Specifications subject to change without notice 0 of 16 Universal Encoder Checker Universal Encoder Checker...1 Description...2 Components...2 Encoder Checker and Adapter Connections...2 Warning: High

More information

Data Acquisition Instructions

Data Acquisition Instructions Page 1 of 13 Form 0162A 7/21/2006 Superchips Inc. Superchips flashpaq Data Acquisition Instructions Visit Flashpaq.com for downloadable updates & upgrades to your existing tuner (See the next page for

More information

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer by: Matt Mazzola 12222670 Abstract The design of a spectrum analyzer on an embedded device is presented. The device achieves minimum

More information

IEFIS G3 Inputs, outputs and Alarms

IEFIS G3 Inputs, outputs and Alarms IEFIS G3 Inputs, outputs and Alarms Document version: 2, May 2016 User manual on the use and configuration of the analog and digital inputs and digital outputs as well as Alarm setup and use. Related equipement:

More information

USER MANUAL FOR THE ANALOGIC GAUGE FIRMWARE VERSION 1.0

USER MANUAL FOR THE ANALOGIC GAUGE FIRMWARE VERSION 1.0 by USER MANUAL FOR THE ANALOGIC GAUGE FIRMWARE VERSION 1.0 www.aeroforcetech.com Made in the USA! WARNING Vehicle operator should focus primary attention to the road while using the Interceptor. The information

More information

INTRODUCTION (EE2499_Introduction.doc revised 1/1/18)

INTRODUCTION (EE2499_Introduction.doc revised 1/1/18) INTRODUCTION (EE2499_Introduction.doc revised 1/1/18) A. PARTS AND TOOLS: This lab involves designing, building, and testing circuits using design concepts from the Digital Logic course EE-2440. A locker

More information

ECE 270 Lab Verification / Evaluation Form. Experiment 9

ECE 270 Lab Verification / Evaluation Form. Experiment 9 ECE 270 Lab Verification / Evaluation Form Experiment 9 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab period. All work for this experiment must be demonstrated to and

More information

Experiment 8 Fall 2012

Experiment 8 Fall 2012 10/30/12 Experiment 8 Fall 2012 Experiment 8 Fall 2012 Count UP/DOWN Timer Using The SPI Subsystem and LCD Display NOTE: Late work will be severely penalized - (-7 points per day starting directly at the

More information

A New Hardware Implementation of Manchester Line Decoder

A New Hardware Implementation of Manchester Line Decoder Vol:4, No:, 2010 A New Hardware Implementation of Manchester Line Decoder Ibrahim A. Khorwat and Nabil Naas International Science Index, Electronics and Communication Engineering Vol:4, No:, 2010 waset.org/publication/350

More information

6.111 Project Proposal IMPLEMENTATION. Lyne Petse Szu-Po Wang Wenting Zheng

6.111 Project Proposal IMPLEMENTATION. Lyne Petse Szu-Po Wang Wenting Zheng 6.111 Project Proposal Lyne Petse Szu-Po Wang Wenting Zheng Overview: Technology in the biomedical field has been advancing rapidly in the recent years, giving rise to a great deal of efficient, personalized

More information

Stevens SatComm FAQs For use with SatCommSet or Terminal Setup programs

Stevens SatComm FAQs For use with SatCommSet or Terminal Setup programs Stevens SatComm FAQs For use with SatCommSet or Terminal Setup programs Q. What are the channel assignments for On Air Test Mode? A. The assigned GOES test channels are as follows: GOES West 300 Baud:

More information

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - III Sequential Logic I Sequential circuits: latches flip flops analysis of clocked sequential circuits state reduction and assignments Registers and Counters: Registers shift registers ripple counters

More information

The Micropython Microcontroller

The Micropython Microcontroller Please do not remove this manual from the lab. It is available via Canvas Electronics Aims of this experiment Explore the capabilities of a modern microcontroller and some peripheral devices. Understand

More information

ED3. Digital Encoder Display Page 1 of 13. Description. Mechanical Drawing. Features

ED3. Digital Encoder Display Page 1 of 13. Description. Mechanical Drawing. Features Description Page 1 of 13 The ED3 is an LCD readout that serves as a position indicator or tachometer. The ED3 can display: Speed or position of a quadrature output incremental encoder Absolute position

More information

Mission. Lab Project B

Mission. Lab Project B Mission You have been contracted to build a Launch Sequencer (LS) for the Space Shuttle. The purpose of the LS is to control the final sequence of events starting 15 seconds prior to launch. The LS must

More information

PLC DRIVEN BAND SAW SHARPENER

PLC DRIVEN BAND SAW SHARPENER PLC DRIVEN BAND SAW SHARPENER Aleksandar Simevski, Goce Shutinoski Department of Electronics, Faculty of Electrical Engineering & Information Technologies, Karpos II bb, 1000 Skopje, Republic of Macedonia,

More information

E3C-LDA. Phone: Fax: Web: - Operating Procedures: Photoelectric Sensors

E3C-LDA. Phone: Fax: Web:  -   Operating Procedures: Photoelectric Sensors E3C-LDA Operating Procedures: Photoelectric Sensors 1 Setting the Operation Mode The operation mode is set with the. Operation mode Operation Light ON L-ON Dark ON D-ON L (Factory-set) D *Advanced Twin-output

More information

Sample BD Tech Concepts LLC

Sample BD Tech Concepts LLC XYZ Corp. Fry Controller FC-1234 Software Test Procedure Copyright 2014 Brian Dunn BD Tech Concepts LLC Last Modified: 00/00/0000 Version Tested: Date Tested: Technician: Results: 1 FC-1234 SW Test Proc.

More information

Marks and Grades Project

Marks and Grades Project Marks and Grades Project This project uses the HCS12 to allow for user input of class grades to determine the letter grade and overall GPA for all classes. Interface: The left-most DIP switch (SW1) is

More information

THE ASTRO LINE SERIES GEMINI 5200 INSTRUCTION MANUAL

THE ASTRO LINE SERIES GEMINI 5200 INSTRUCTION MANUAL THE ASTRO LINE SERIES GEMINI 5200 INSTRUCTION MANUAL INTRODUCTION The Gemini 5200 is another unit in a multi-purpose series of industrial control products that are field-programmable to solve multiple

More information

Training Note TR-06RD. Schedules. Schedule types

Training Note TR-06RD. Schedules. Schedule types Schedules General operation of the DT80 data loggers centres on scheduling. Schedules determine when various processes are to occur, and can be triggered by the real time clock, by digital or counter events,

More information

Introduction Display...1 Mounting...1 Firmware Version...2. ADL Operation... 3

Introduction Display...1 Mounting...1 Firmware Version...2. ADL Operation... 3 MoTeC MDD User Manual Contents Introduction... 1 Display...1 Mounting...1 Firmware Version...2 ADL Operation... 3 1. Full ADL Display...4 2. Gain Loss Layout for ADL...6 3. Large Numeric Layout for ADL...8

More information

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files DE2-115/FGPA README For questions email: jeff.nicholls.63@gmail.com (do not hesitate!) This document serves the purpose of providing additional information to anyone interested in operating the DE2-115

More information