ARM: Microcontroller Touch-switch Design & Test (Part 1)
|
|
- Valerie Miller
- 6 years ago
- Views:
Transcription
1 ARM: Microcontroller Touch-switch Design & Test (Part 1) 2 nd Year Electronics Lab IMPERIAL COLLEGE LONDON v2.00
2 Table of Contents Equipment... 2 Aims... 2 Objectives... 2 Recommended Timetable... 2 Introduction Capacitive touch-switch principle of operation... 2 Sessions 1 & 2 Hardware & PCB Design.. 3 Sessions 3 & 4 Software... 4 Counting Loop Basics... 5 Software Implementation and Testing... 5 Further Optimization (Optional)... 7 Further Information... 8 Equipment Aims mbed module mbed account (one per student) LPCxpresso Base Board for mbed with OLED display Breadboard and IDC breakout adaptor Signal generator (for 0V 3V square wave output) Oscilloscope (to check signal generator output) EAGLE v5 CAD software (freeware version) In this experiment and its continuation (SWITCH next term), you will design, build and test a touchswitch input device used with a high-performance ARM processor. You will learn: Objectives How to implement embedded systems with appropriate use of high level languages How to design, build and test simple PCBs 1. Design hardware PCB for touch-switch 2. Become familiar with the mbed embedded programming environment 2 3. Write and test code for software implementation of one or more capacitive touch-switches via measurement of frequency on the microcontroller input pins. All software can be implemented in C++, a high-level programming language. 4. Next term, your PCBs will return from the manufacturer. In the SWITCH experiment, you will build and test hardware, choose component values, integrate and test the complete system by developing the software further. This experiment links to the programming exercise in Introduction to Computer Architecture course (EE2-19), which uses a low-level assembler solution to this problem. The code written for ARM in this experiment is expected to be high-level, you do not have enough time to write an assembler solution. Recommended Timetable Session 1 PCB tutorial, working through a simple sample design followed by the start of your (real) PCB design according to specifications provided in this handout. Session 2 Finish the real PCB design. Check for correctness. Submit for assessment Session 3 Familiarization with mbed environment. Write code to measure frequency on one input. Measure performance. Session 4 Code software for multiple inputs. Measure performance. If time allows, experiment with optimizations. Introduction Capacitive touch-switch principle of operation A resistor R and capacitor C, combined with a logic inverter, forms a Schmidt Trigger oscillator with output frequency dependent on values of R and C. The capacitor is formed from the parallel combination of a fixed capacitor and a touch-pad as shown in Figure 1. The effective capacitance of the touch-pad increases when a finger is brought close, reducing the output frequency.
3 If the output frequency is measured and compared with a fixed threshold frequency, this will give a touch/no touch indication. The system may have some noise, but using two thresholds for the output frequency, as shown in Figure 2, is an effective method to reduce noise. components for resistors, capacitors, touch-switch pads, hex logic inverters and the connector. If you wish to experiment with this at home, EAGLE can be downloaded to your own PCs from the web free of charge as a demo version. NOTE: The latest EAGLE version (v6) will not be compatible with the ARM experiment, so you musn t use it. This may also be the default version on the EEE system. Figure 1 - Circuit for a single touch-switch Figure 2 - Frequency Waveform A number of hardware circuits could be used to measure frequencies; we will explore the simplest and most flexible method. The digital oscillator output is connected to a microcontroller input port and software is used to count the number of signal transitions, measure frequency and perform thresholding. In a typical application of this, the microcontroller would have many other functions too, so the incremental cost of the touch-switch circuit is only that of the oscillators. Sessions 1 & 2 Hardware & PCB Design In this section you will design a PCB, which contains touch-pads, oscillators and an output via a connector (Figure 3) to the microcontroller board. The supply comes from the microcontroller (+3.3V) via the connector. You will be using EAGLE PCB software to design the touch-switch PCB with the given EAGLE library arm-parts.lbr, which has suitable 3 IDC socket mbed pin Port.Bit 1 GND V 3 GND V 5 6 p30 p30 P p29 p29 P0.5 9 p27 p27 P p28 p28 P p11 p11 P = must be kept open circuit Figure 3-14pin IDC socket pinouts. A ribbon cable will connect this to the LPCxpresso Base Board. In order to complete your PCB design, you should refer to the Specification for PCB on the ARM handout web page. List of actions for this task: 1. Work through the introductory EAGLE tutorial (see ARM handout web page). The questions (Q) in this are designed to help you understand PCB design issues. 2. Enter a schematic (circuit diagram) using components from the arm-parts library (from the EAGLE PCB files on the ARM handout web page) to construct 4 touch switches (Figure 1) and connect each touch-switch to a separate microcontroller I/O port via a single 14-pin IDC socket (Figure 3). You have some choice of packages, the IC must be 74HC14 and the capacitor can be small or large. Vcc for the 74HC14 IC should connect to the +3.3V pin from the connector. 3. Check schematic consistency using ERC.
4 4. Check the PCB board specifications on the ARM handout web page. These include important board layout requirements. Follow these requirements carefully. Ask a demonstrator if there is anything you do not understand. 5. Convert the schematic to a board. Change the size of the board outline to that specified by moving the top and RHS edges. Clicking the middle of each edge will move it as a whole. Check the horizontal (X) and vertical (Y) dimensions using statistics-brd.ulp before you start placing components, since changing these later will be troublesome. 6. Arrange components within the PCB boundary. Add your lab group name (important), PAD names on the layout and any other text you wish. 7. Use auto-route to make PCB tracks. If you do not get 100% optimization, or if the layout is non-optimal, you may need to rearrange the components. See the box Routing Constraints below for instructions on optimal routing. Routing Constraints PCBs can induce electromagnetic interference between adjacent tracks. In this circuit the only problem you will meet is the inverter inputs, which are high impedance nodes and can pick up interference. Specifically they can pick up interference from fast edges on other inverter outputs. The effect of this can be to lock oscillator frequencies together. To avoid this problem, ensure you inspect all tracks connected to each inverter input and check that it does not run adjacent and parallel to the tracks connected to an inverter output for more than 5mm. 8. Add testpoints and connections so that you can test the board before you connect them to the microcontroller. It will be useful to have testpoints connected to GND and Vcc. Reroute connections as necessary. 9. Check board consistency with DRC. 10. Do one final check of the board specifications, as well as a DRC check. Submit board for manufacture via the link on the ARM handout web page. 4 NOTE: that PCB submission is assessed and must be completed BEFORE THE END OF THE TWO SCHEDULED WEEKS OF THE EXPERIMENT. Sessions 3 & 4 Software The software task requires you to measure the frequency of the (digital) waveform on a generalpurpose I/O input to the mbed module. The two methods to measure frequency are: 1. Count the number of cycles in a fixed time interval 2. Count a fixed number of cycles and measure the time interval Both methods are possible. For highest performance (fixed time periods provide better noise immunity) we suggest you use the first method. This can be implemented with a main loop code that loops until stopped by an interrupt service routine, or ISR function, while counting the number of cycles. The ISR function will be executed after a fixed time period from when counting starts, by the hardware interrupt mechanism. Code on this function will signal to the main loop code that it should stop. On return from the ISR, the main loop code will end the counting loop and compute frequencies. The psuedocode of this procedure is shown in Figure 4 below. // Skeleton Psuedocode int main() { while(1) { while(/*timer not timed out*/){ // Counting method goes here // Computation of frequencies goes // here isr_function() { // Stop the counting loop Figure 4 - Skeleton Psuedocode You will learn about interrupts in your Introduction to Computer Architecture course. The details of this are not needed in this experiment because the interrupt mechanism is wrapped in an mbed Timeout object, explained below, which makes it easy to use.
5 Using an interrupt in this manner has the advantage that the main counting loop computation time will be smaller, which means the counting loop will work for higher input frequencies. The mbed platform has high-level support for such interrupts (e.g. the Timeout class), which makes this straightforward even if you have no knowledge of the underlying mechanism. Your final deliverable in this experiment will be to implement embedded code on the mbed that will measure the frequency of multiple microcontroller input pins driven by logic level waveforms. Higher maximum frequencies measured are desirable. Counting Loop Basics Figures 5 and 6 show two different implementations of the pseudocode needed for mbed to count the number of cycles of a digital input. In Figure 5, the outer loop code is executed once per cycle of the input. The two inner loops each execute for the time the input is low and high, respectively. In Figure 6 the loop executes continuously. count = 0; // Set up Timeout object to change a // global variable after T ms. // This loop executes till Timeout // happens. while (/*timer has not timed out*/) { while (pin == 0) { pin = iopin(); // Read digital value on I/O pin // into pin while (pin == 1) { pin = iopin(); // Read digital value of I/O pin // into pin count = count + 1; Figure 5 - Pseudocode to count number of input cycles: version 1 // global variable after T ms. // This loop executes till Timeout // happens. while (/*timer has not timed out*/) { pin = iopin(); // Read digital value on I/O pin into // pin if (pin!= pin_slave) { count = count + 1; pin_slave = pin; Figure 6 - Pseudocode to count number of input cycles: version 2 Q Which pseudocode would be possible to adapt to measure multiple input frequencies during the same period? For each pseudocode or for the one you decide to use: Q How does the value of count relate to the timer period and the input frequency? Q How could the algorithm be adapted to measure multiple input frequencies simultaneously? Q What happens to these loops if the input frequency is too high? Q* How would an input which has an asymmetric duty cycle (e.g. 1 for 10 ns, 0 for 20 ns) affect the maximum frequency at which the code will work? Q* Is there a minimum frequency which can be detected? You may be able to answer these questions theoretically and in any case will verify your answers experimentally. Software Implementation and Testing Using your mbed module and the instructions on the handout page, set up for an mbed account on the mbed website (mbed.org). (You should wait at least 30 minutes or so after setting up the first account before repeating the process). You may use either account for the experiments. When signed in to the mbed website note the tabs: count = 0; // Set up Timeout object to change a 5
6 Compiler: Gives you a cloud-based workspace from which you can write, compile and download your programs. Handbook: Quick reference on the standard mbed I/O functions (API). Cookbook: Extensive reference on other code including the EAOLED code that controls the display on your board. The mbed module has a USB interface entirely separate from the microcontroller, which enumerates as a USB flash disk. This disk can contain multiple files and is seen under windows. When the microcontroller starts, it automatically downloads the most recent hex file as a program and runs it. This is what you usually want. When you use a module it may already have files on it. You can ignore these. It is possible to delete files from the module, but you must wait enough time for the operation to complete (it is slow). If you don t do this, you corrupt the USB flash disk. In this case, should it happen, the solution is to reformat the disk and start again. Since everything on the USB disk is temporary this is not a problem. Nevertheless, to save time, you are advised to make no changes to files on the flash disk unless this becomes necessary - for example if the disk is full. List of actions for this task: 1. Download the EAOLED zip file from the ARM handout web page. 2. Log into your mbed account and open up the cloud compiler. 3. You will need to import the EAOLED zip file as a program into your mbed compiler (right-click on "My Programs" from the Program Workspace panel and select "Import Program" option. Select the "Upload" tab and browse to downloaded EAOLED zip file. When it shows up on the list, click "Import!"). 4. The imported file (main-test-oled) is a sample main file that demonstrates how to write to the OLED and use Timeout objects. Before compiling the code to run on your mbed module, it is likely that the library dependencies are out of date and needs to be updated. Expand your program directory from the Program Workspace panel and click on mbed build (cog symbol). Click "Update" on the Program Details panel on the right. 5. You can now modify the sample file, or write your own main file, to implement your code. Using the mbed compiler and API, write code that could implement a single touch switch by detecting the input frequency on a pin. The following mbed C++ API classes will be needed: Timeout, DigitalIn (see documentation in mbed web handbook). You are however free to use others as necessary. To debug and instrument your software initially, write code that will display the measured frequency from an input pin on the OLED display. Make sure that the measurement time can easily be changed. Because the Timeout object code operates asynchronously of the main loop code, it is essential that all global variables used to communicate between Timeout code and main loop code are declared volatile. You will find an example of this in the skeleton code. Q The Timeout object in the mbed API is implemented by an interrupt. When the specified function terminates, the interrupt will return and execution resume as though the Timeout had never happened. How does the Timeout code signal to the main code that the Timeout has happened? Q* Why is it not a good idea to put code executed after the timeout into the Timeout function, rather than the main code. (This is possible, but not recommended). Q** Why is the volatile declaration needed here for some global variables? Test the operation of the software loop before testing the hardware by modifying each inner loop so it terminates immediately (version 1) or so that count is always incremented (version 2). Observe that the count is correctly displayed on the OLED and changes as expected if the Timeout period is changed or the loop time is made shorter or longer, by adding extra code. 6
7 Q How do the final value of count, loop time, and Timeout time relate to each other? Figure 7 documents which mbed inputs are available on the IDC breakout adaptor. construct a Schmidt trigger oscillator on the breadboard using the +3.3v supply, be very careful to check connections. Figure 8 - Important Safety Instructions Connect the waveform to one of the mbed inputs using the supplied connection lead. Debug your code and determine what the maximum frequency it can measure is. Q How does the maximum frequency vary with asymmetric input waveforms? GND GND (P0.11) p27 pn P0.M = = = V out +3.3V out p30 (P0.4) p29 (P0.5) p28 (P0.10) p11 (P0.18) must be not connected mbed pin N LPC Port 0, Bit M TOP VIEW as plugged into breadboard Pins are as on the DIL adaptor photo above Figure 7 IDC breakout adaptor pinouts Use a signal generator for hardware testing. Read and follow the protocol in Figure 8 before you touch the hardware. The mbed modules are fragile and will break if you connect a signal generator with the wrong output. IMPORTANT 1. Check scope GND and function generator GND are connected to board GND on the IDC breakout adaptor. 2. Set scope to measure 3.3VDC. Check this is correct by measuring board supply from the IDC breakout adaptor with a scope. This should be 3.3V. 3. Check that function generator square wave output varies between 0 and 3v. Note that this voltage range will require use of the offset knob. 4. ARE YOU SURE ALL IS OK? ERROR WILL BREAK mbed. Connect the signal generator. 5. Make sure you do not normally connect anything to the +3.3v supply from the adaptor. It is permitted if necessary to Q* Can you predict this from your earlier measurements? In order to use this software with your n touch switches (n = 4 typically) you will need to measure n input frequencies on different input pins. If you do this one after another, which is simplest, your switch delay time will be larger than if you do it in parallel. Of course using a shorter measurement time interval would solve the problem but you will find that times shorter than 20ms have much larger interference from mains and are therefore less good. Q* Why might time intervals shorter than 20ms have larger mains interference? Q** Can you find an analytic expression for the likely error due to mains interference as a function of measurement time assuming that mains waveform is a 50Hz sinusoid? What other assumptions do you make in developing this? To finish the experiment implement and test software which measures simultaneously multiple switch input frequencies. Further Optimization (Optional) This section is optional in case you finish early; it contains some ideas for speeding up the counting code, some of which are simple while others quite complex. Don t attempt them unless you have completed the rest of the activity. You are also encouraged to use your own initiative to investigate or improve the code, so you are not limited to the ideas here. 1. The PortIn API class is more difficult to use than DigitalIn, but considerably faster. 7
8 2. The input lines from the hardware are routed to different bits on the same LPC1768 port. They can therefore be input in parallel, as a single 32 bit word. It is possible to implement counting as a sequence of 32 bit logical operations, with a number of registers holding the bottom few bits of the required count. Note that C bitwise logical operations (& ^ ~) will compile to ARM logical operations. 3. Migrating parts of the code to assembler will possibly (but not necessarily) speed up the code. See documentation under mbed site for how to write assembler and note that the Keil tools can also be used. Not however for the fainthearted. The mbed module uses an advanced ARM ISA, which is backwards compatible with the ARM7 instructions taught in Introduction to Computer Architecture. Read the Keil ARM documentation for details. 4. Note that the code you test in this experiment will be used in the SWITCH experiment Spring Term. You will make further enhancements and changes to it at that point. Capacitive touch-switches are now widely used, as are touch-screens. One popular implementation, with sophisticated special-purpose ICs, determines the position of a finger by the ratio of capacitance changes in an XY grid of wires. This allows position sensing on a finer grid than the wires used to sense. The mbed framework is very easy to use but inflexible. You can create hex files compatible with the mbed platform using Keil tools (see Introduction to Computer Architecture web page). The mbed website gives further information. One advantage that the mbed compiler has over Keil is that it is not size limited; the free version of Keil is limited to 32K. mbed modules cost 40. There is however a new cheaper module. Also, the NXP LPC1768 microcontroller is cheap and can be used on its own with suitable programming tools, but note the difficulty in soldering SMT packages. Further Information If you are interested in this experiment the following resources will take you further and may be useful in future project work: 8
Lab 4: Digital Electronics BMEn 2151 Introductory Medical Device Prototyping Prof. Steven S. Saliterman
Lab 4: Digital Electronics BMEn 2151 Introductory Medical Device Prototyping Prof. Steven S. Saliterman Exercise 4-1: Familiarization with Lab Box Contents & Reference Books 4-1-1 CMOS Cookbook (In the
More informationUSB Type A Female Breakout Hookup Guide
Page 1 of 7 USB Type A Female Breakout Hookup Guide Introduction If you have a microcontroller that can act as a USB host, then you will need a way to plug in USB cables and devices. The USB Type A Female
More informationECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, Name:
ECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, 2016 Name: Item Part 1. (40%) Color LCD Hello World Part 2. (10%) Timer display on Color LCD Part 3. (25%) Temperature
More informationPIC Dev 14 Through hole PCB Assembly and Test Lab 1
Name Lab Day Lab Time PIC Dev 14 Through hole PCB Assembly and Test Lab 1 Introduction: The Pic Dev 14 is a simple 8-bit Microchip Pic microcontroller breakout board for learning and experimenting with
More informationLab 4: Digital Electronics Innovation Fellows Program Boot Camp Prof. Steven S. Saliterman
Lab 4: Digital Electronics Innovation Fellows Program Boot Camp Prof. Steven S. Saliterman Exercise 4-1: Familiarization with Lab Box Contents & Reference Books 4-1-1 CMOS Cookbook (In the bookcase in
More informationE3B USER'S GUIDE. for QT310 / QT320 QProx IC evaluation and development Overview. Fast Start
E3B USER'S GUIDE for QT310 / QT320 QProx IC evaluation and development Overview The E3B board works with Quantum s QT310 and QT320 QProx ICs. Either device can be inserted into the 8-pin DIP socket. QT310
More informationAccelerometer-Based Musical Instrument
Accelerometer Music Instrument University of Texas at Austin TI Innovation Challenge 2015 Project Report Team Leader: Team Members: Advising Professor: Video Texas Instruments Mentor (if applicable): Date:12/13/2014
More informationE85: Digital Design and Computer Engineering Lab 1: Electrical Characteristics of Logic Gates
E85: Digital Design and Computer Engineering Lab 1: Electrical Characteristics of Logic Gates Objective The purpose of this lab is to become comfortable with logic gates as physical objects, to interpret
More informationENGR 40M Project 3c: Switch debouncing
ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the
More informationAT42QT101X Capacitive Touch Breakout Hookup Guide
Page 1 of 10 AT42QT101X Capacitive Touch Breakout Hookup Guide Introduction If you need to add user input without using a button, then a capacitive touch interface might be the answer. The AT42QT1010 and
More informationCADSOFT EAGLE TUTORIAL
CADSOFT EAGLE TUTORIAL IEEE OPS 2013-2014 By Shubham Gandhi, Kamal Kajouke 1 Table of Contents 1. Introduction 1.1 Getting Started 1.2 Eagle Schematic Editor 1.3 The Toolbar and Command Bar 1.4 Importing
More informationGoal: We want to build an autonomous vehicle (robot)
Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically
More informationAT89S8252 Development Board V1.0. Manual
AT89S8252 Development Board V1.0 Manual Page 1 Chapter 1. Introduction 1.1 Introduction This user s guide describes how to connect to and set-up the AT89S8252 Development Board, for program development
More informationEMBEDDED SYSTEMS COURSE CURRICULUM
On a Mission to Transform Talent EMBEDDED SYSTEMS COURSE CURRICULUM Table of Contents Module 1: Basic Electronics and PCB Software Overview (Duration: 1 Week)...2 Module 2: Embedded C Programming (Duration:
More informationPre-Lab: Part 1 Using The Development Environment. Purpose: Minimum Parts Required: References: Handouts:
Purpose: Minimum Parts Required: References: Handouts: Laboratory Assignment Number 1 for Mech 143/ELEN123 Due by 5:00pm in lab box on Friday, April 19, 2002 Pre-Lab due by 5:00pm in lab box on Tuesday,
More informationPrototype PCBs design session
Prototype PCBs design session By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU : Spring 2018, EEP04 Practical Applications in Electrical Before start You will be making a schematic (astable.sch) file which
More informationLab #2: Building the System
Lab #: Building the System Goal: In this second lab exercise, you will design and build a minimal microprocessor system, consisting of the processor, an EPROM chip for the program, necessary logic chips
More informationPIC Dev 14 Surface Mount PCB Assembly and Test Lab 1
Name Lab Day Lab Time PIC Dev 14 Surface Mount PCB Assembly and Test Lab 1 Introduction: The Pic Dev 14 SMD is a simple 8-bit Microchip Pic microcontroller breakout board for learning and experimenting
More informationCopyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015.
Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen
More informationENG-7680: SCADA Laboratory Experiments
ENG-7680: SCADA Laboratory Experiments 1 RS485 LINE DRIVER 1.1 OBJECTIVES In this lab, you will learn how to test a differential data bus driver/receiver for a multi-point communication. In particular,
More informationDepartment of Electrical and Electronics Engineering SSN College of Engineering
1 Department of Electrical and Electronics Engineering SSN College of Engineering 2 TABLE OF CONTENTS EAGLE CADSOFT Professional 2 Getting Started 3 Toolbar quick reference 5 Creating the Schematic 6 Creating
More information- create new schematic to the new project, PCB design begins with a schematic diagram, which present how components are connected
Eagle 8.x tutorial - create a new project, Eagle designs are organized as projects - create new schematic to the new project, PCB design begins with a schematic diagram, which present how components are
More informationREQUIRED MATERIALS Reread Lab Rules and Policies document EEL 3744 (upad and upad Proto Base) DAD/NAD Analog Discovery board PRELAB REQUIREMENTS
Page 1/ Lab 2: GPIO Expansion (LEs and Keypad) 3-Feb-17 OJETIVES In this lab you will perform the first of several physical expansions of your EEL37 board, the up Proto ase, by adding LE and keypad circuits.
More informationEE 354 August 1, 2017 Assembly of the AT89C51CC03 board
EE 354 August 1, 2017 Assembly of the AT89C51CC03 board The AT89C51CC03 board comes as a kit which you must put together. The kit has the following parts: No. ID Description 1 1.5" x 3.25" printed circuit
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK C8051F560 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationOLED Engineering Kits User Manual
OLED Engineering Kits User Manual Revision C Firmware Version 1.X NKK SWITCHES 7850 E. Gelding Drive Scottsdale, AZ 85260 Toll Free 1-877-2BUYNKK (877-228-9655) Phone 480-991-0942 Fax 480-998-1435 e-mail
More informationCOMP2121 Experiment 4
COMP2121 Experiment 4 1. Objectives In this lab, you will learn AVR programming on Parallel input/output; Some typical input/output devices; and Interrupts 2. Preparation Before coming to the laboratory,
More informationREQUIRED MATERIALS Reread Lab Rules and Policies document EEL 3744 (upad and upad Proto Base) Digilent Analog Discovery (DAD) PRELAB REQUIREMENTS
Page 1/ Lab 2: GPIO Expansion (LEs and Keypad) 2-Jan-1 OJETIVES In this lab you will perform the first of several physical expansions of your EEL3744 board, the up Proto ase, by adding LE and keypad circuits.
More informationREQUIRED MATERIALS Reread Lab Rules and Policies document EEL 3744 (upad and upad Proto Base) Digilent Analog Discovery (DAD) PRELAB REQUIREMENTS
Page 1/ Lab 2: GPIO Expansion (LEs and Keypad) 2-May-1 OJETIVES In this lab you will perform the first of several physical expansions of your EEL37 board, the up Proto ase, by adding LE and keypad circuits.
More informationmbed Hello World! Introduction to mbed
mbed Hello World 1 Agenda Introduction to mbed Lab 1: mbed registration and Hello World demo Lab 2: Other IO Lab 3: Interfacing with sensors Lab 4: Output devices, a TextLCD Lab 5: Rapid prototyping, Build
More informationExercise 1. Section 2. Working in Capture
Exercise 1 Section 1. Introduction In this exercise, a simple circuit will be drawn in OrCAD Capture and a netlist file will be generated. Then the netlist file will be read into OrCAD Layout. In Layout,
More informationThe EAGLE Schematic & PCB Layout Editor - A Guide
The EAGLE Schematic & PCB Layout Editor - A Guide Tom Clarke, v1.03 c Imperial College London, 2005, 2006, 2007, 2008, 2011,2012 November 9, 2012 (a) Dual in line package (b) Surface mount device Figure
More informationAT42QT1010 Capacitive Touch Breakout Hookup Guide
Page 1 of 7 AT42QT1010 Capacitive Touch Breakout Hookup Guide Introduction If you need to add user input without using a button, then a capacitive touch interface might be the answer. The AT42QT1010 Capacitive
More informationMTRX3700 Mechatronics
MTRX3700 Mechatronics 3 2015 PIC18F452 Software Exercises David Rye You are to work in a group of two students to write, debug and demonstrate a series of small assembly language and C programs that meet
More informationComplete Tutorial (Includes Schematic & Layout)
Complete Tutorial (Includes Schematic & Layout) Download 1. Go to the "Download Free PCB123 Software" button or click here. 2. Enter your e-mail address and for your primary interest in the product. (Your
More informationDrexel University Electrical and Computer Engineering Department ECE 200 Intelligent Systems Spring Lab 1. Pencilbox Logic Designer
Lab 1. Pencilbox Logic Designer Introduction: In this lab, you will get acquainted with the Pencilbox Logic Designer. You will also use some of the basic hardware with which digital computers are constructed
More informationLab 0: Wire Wrapping Project: Counter Board
Lab 0: Wire Wrapping Project: Counter Board September 3, 2008 In this experiment, you will build a simple counter circuit that can be plugged into your breadboard. It will provide a set of TTL output signals
More informationST SPC58 B Line Emulation Adapter System
_ V1.1 Hardware Reference ST SPC58 B Line Emulation Adapter ST SPC58 B Line Emulation Adapter System ST SPC58 B line emulation adapter primary use case is providing Nexus trace functionality for the SPC58
More informationLDR_Light_Switch5 -- Overview
LDR_Light_Switch5 -- Overview OBJECTIVES After performing this lab exercise, learner will be able to: Interface LDR and pushbutton with Arduino to make light controlled switch Program Arduino board to:
More informationQuick Start Guide. January EAZ0081L02A Rev. A
Quick Start Guide January 2014 EAZ0081L02A Rev. A Trademarks Snap-on and Vantage Ultra are trademarks of Snap-on Incorporated. All other marks are trademarks or registered trademarks of their respective
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK C8051F931 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based
More informationAdapted from a lab originally written by Simon Hastings and Bill Ashmanskas
Physics 364 Arduino Lab 1 Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Vithayathil/Kroll Introduction Last revised: 2014-11-12 This lab introduces you to an electronic development
More informationPAD ANALOG / DIGITAL TRAINER OPERATOR S MANUAL
PAD - 234 ANALOG / DIGITAL TRAINER OPERATOR S MANUAL Rev. 7/94 GENERAL OPERATING PROCEDURES 1. This manual should be read thoroughly before engaging in any experimentation. 2. As a general rule, NEVER
More informationLecture 14: Prototyping and Schematics
Lecture 14: Prototyping and Schematics Breadboards have some limitations They have high parasitic inductance and capacitance, limiting high frequency signal transfer to about 50MHz. Wire connections
More information[Note: Power adapter is not included in the kits. Users need to prepare a 9 12 V ( >300mA capacity ) DC power supply]
062 LCD Oscilloscope Assembly Notes Applicable Models: 06203KP, 06204KP DN062-18v02 Important Notes 1. Some components shown in the schematic and PCB layout are for options or adjustments. They do not
More informationUniversity of Hull Department of Computer Science C4DI Interfacing with Arduinos
Introduction Welcome to our Arduino hardware sessions. University of Hull Department of Computer Science C4DI Interfacing with Arduinos Vsn. 1.0 Rob Miles 2014 Please follow the instructions carefully.
More informationOM13071 LPCXpresso824-MAX Development board
LPCXpresso824-MAX Development board Rev. 1 29 September 2014 User manual Document information Info Content Keywords, LPC82x, development board, mbed, arduino Abstract This user manual describes the LPCXpresso824-MAX
More informationEECS 140 Laboratory Exercise 4 3-to-11 Counter Implementation
EECS 140 Laboratory Exercise 4 3-to-11 Counter Implementation 1. Objectives A. To apply knowledge of combinatorial design. B. Gain expertise in designing and building a simple combinatorial circuit This
More informationSECURE DIGITAL ACCESS SYSTEM USING IBUTTON
SECURE DIGITAL ACCESS SYSTEM USING IBUTTON Access control forms a vital link in a security chain. Here we describe a secure digital access system using ibutton that allows only authorised persons to access
More informationUSB-to-I2C Basic. Hardware User s Manual.
USB-to-I2C Basic Hardware User s Manual http://www.i2ctools.com/ Information provided in this document is solely for use with the USB-to-I2C product from SB Solutions, Inc. SB Solutions, Inc. reserves
More informationARM HOW-TO GUIDE Interfacing Switch with LPC2148 ARM
ARM HOW-TO GUIDE Interfacing Switch with LPC48 ARM Contents at a Glance ARM7 LPC48 Primer Board... 3 Switch... 3 Interfacing Switch... 4 Interfacing Switch with LPC48... 5 Pin Assignment with LPC48...
More informationARDUINO MINI 05 Code: A000087
ARDUINO MINI 05 Code: A000087 The Arduino Mini is a very compact version of the Arduino Nano without an on board USB to Serial connection The Arduino Mini 05 is a small microcontroller board originally
More informationV1BOOST-STEPPER Unipolar Stepper Motor BoosterPack for the MSP430 LaunchPad. User s Guide
V1BOOST-STEPPER Unipolar Stepper Motor BoosterPack for the MSP430 LaunchPad User s Guide Revised July 2012 CONTENTS 1 Introduction... 3 1.1 Overview... 3 1.2 Features... 3 1.3 Additional Information...
More informationBV511 Hardware Guide ByVac ByVac Revision 1.0
BV511 Hardware Guide ByVac ByVac 2007 www.byvac.co.uk Revision 1.0 ByVac 1 Copyright in this work is vested in ByVac and the document is issued in confidence for the purpose only for which it is supplied.
More informationECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015
ECE 353 Lab 4 General MIDI Explorer Professor Daniel Holcomb Fall 2015 Where are we in Course Lab 0 Cache Simulator in C C programming, data structures Cache architecture and analysis Lab 1 Heat Flow Modeling
More informationArduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front
Arduino Uno Arduino Uno R3 Front Arduino Uno R2 Front Arduino Uno SMD Arduino Uno R3 Back Arduino Uno Front Arduino Uno Back Overview The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet).
More informationChapter 2: Introducing the mbed tw rev
Chapter 2: Introducing the mbed tw rev. 26.8.16 If you use or reference these slides or the associated textbook, please cite the original authors work as follows: Toulson, R. & Wilmshurst, T. (2016). Fast
More informationArduino ADK Rev.3 Board A000069
Arduino ADK Rev.3 Board A000069 Overview The Arduino ADK is a microcontroller board based on the ATmega2560 (datasheet). It has a USB host interface to connect with Android based phones, based on the MAX3421e
More informationPacific Antenna Two Tone Generator
Pacific Antenna Two Tone Generator Description Our Two Tone Generator kit provides two non-harmonic, sine wave signals for testing audio circuits Outputs of approximately 700Hz and 1900Hz and the combination
More informationNote. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.
Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how
More information8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help
8051 Intermidiate Development Board Product Manual Contents 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help 1. Overview 2. Features The board is built on a high quality FR-4(1.6
More informationUniversity of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17
Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion
More informationLaboratory 10. Programming a PIC Microcontroller - Part II
Laboratory 10 Programming a PIC Microcontroller - Part II Required Components: 1 PIC16F88 18P-DIP microcontroller 1 0.1 F capacitor 3 SPST microswitches or NO buttons 4 1k resistors 1 MAN 6910 or LTD-482EC
More informationFamiliarity with data types, data structures, as well as standard program design, development, and debugging techniques.
EE 472 Lab 1 (Individual) Introduction to C and the Lab Environment University of Washington - Department of Electrical Engineering Introduction: This lab has two main purposes. The first is to introduce
More informationFaculty of Engineering and Information Technology Embedded Software. Lab 3 Interrupts and Timers
Faculty of Engineering and Information Technology Subject: 48434 Embedded Software Assessment Number: 3 Assessment Title: Lab 3 Interrupts and Timers Tutorial Group: Students Name(s) and Number(s) Student
More informationLAB #1: The CSM12C32 Module and PBMCUSLK Project Board
CS/EE 5780/6780 Handout #1 Spring 2007 Myers LAB #1: The CSM12C32 Module and PBMCUSLK Project Board Lab writeup is due to your TA at the beginning of your next scheduled lab. Don t put this off to the
More informationIOX-16 User s Manual. Version 1.00 April Overview
UM Unified Microsystems IOX-16 User s Manual Version 1.00 April 2013 Overview The IOX-16 Arduino compatible shield is an easy way to add 16 additional digital Input/Output (I/O) lines to your Arduino system.
More informationExternal and Flash Memory
Digital Signal Processing: Laboratory Experiments Using C and the TMS320C31 DSK Rulph Chassaing Copyright 1999 John Wiley & Sons, Inc. Print ISBN 0-471-29362-8 Electronic ISBN 0-471-20065-4 C External
More informationLogic Analyzers by Link Instruments, Inc Logic Analyzers
Logic Analyzers Our latest series of logic analyzers offer all of the features and performance you have come to expect from much more expensive units: Very high speed clock rates, super deep data buffers,
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK C8051F330 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationTurboTaig Instruction Manual
TurboTaig Instruction Manual Version: 2.2 Peter Homann 20 View St Highett 3190 homann@smartchat.net.au http://people.smartchat.net.au/~homann 1 Table of Contents Table of Contents... 2 Introduction...
More informationLAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR
LAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR OBJECTIVE 1. To verify the operation of OR, AND, INVERTER gates 2. To implement the operation of NAND and NOR gate 3. To construct a simple combinational
More informationEE 330 Spring Laboratory 2: Basic Boolean Circuits
EE 330 Spring 2013 Laboratory 2: Basic Boolean Circuits Objective: The objective of this experiment is to investigate methods for evaluating the performance of Boolean circuits. Emphasis will be placed
More informationENGR 40M Project 4b: Displaying ECG waveforms. Lab is due Monday June 4, 11:59pm
ENGR 40M Project 4b: Displaying ECG waveforms Lab is due Monday June 4, 11:59pm 1 Introduction Last week, you built a circuit that amplified a small 1Hz simulated heartbeat signal. In this week s you will
More informationAdafruit 1-Wire Thermocouple Amplifier - MAX31850K
Adafruit 1-Wire Thermocouple Amplifier - MAX31850K Created by lady ada Last updated on 2018-08-22 03:40:09 PM UTC Guide Contents Guide Contents Overview Pinouts Power Pins Address Pins Data Pin Themocouple
More informationCEIBO FE-5111 Development System
CEIBO FE-5111 Development System Development System for Atmel W&M T89C5111 Microcontrollers FEATURES Emulates Atmel W&M T89C5111 4K Code Memory Real-Time Emulation and Trace Frequency up to 33MHz/5V ISP
More informationLab 3: Building a Power Supply and a Stereo Amplifier
ECE 212 Spring 2010 Circuit Analysis II Names: Objectives Lab 3: Building a Power Supply and a Stereo Amplifier In this lab exercise you will build a regulated variable-voltage power supply and a 10-watt
More informationARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).
ARDUINO UNO REV3 SMD Code: A000073 The board everybody gets started with, based on the ATmega328 (SMD). The Arduino Uno SMD R3 is a microcontroller board based on the ATmega328. It has 14 digital input/output
More informationSection 30. In-Circuit Serial Programming (ICSP )
Section 30. In-Circuit Serial Programming (ICSP ) HIGHLIGHTS This section of the manual contains the following major topics: 30. Introduction... 30-2 30.2 Entering In-Circuit Serial Programming Mode...
More informationShack Clock kit. U3S Rev 2 PCB 1. Introduction
Shack Clock kit U3S Rev 2 PCB 1. Introduction Thank you for purchasing the QRP Labs Shack Clock kit. This clock uses the Ultimate3S QRSS/WSPR kit hardware, but a different firmware version. It can be used
More informationLesson 5: Board Design Files
5 Lesson 5: Board Design Files Learning Objectives In this lesson you will: Use the Mechanical Symbol Editor to create a mechanical board symbol Use the PCB Design Editor to create a master board design
More informationUsing solderless breadboards
Page 1 of 9 Using solderless breadboards This document describes how to use the solderless breadboards available in the experimental didactic lab (LED, previously LADISPE) of Politecnico di Torino. 1 Setting
More informationCygnos360 V2 Installation Manual
VERSION 1.0. - OKTOBER, 2009 www.cygnos360.com Contents: 1. What you need...2 1.1. Tools...2 2. Preparation...3 2.1. Preparing the solder points...3 3. Installing in your Xbox360...4 3.1. Installing the
More informationAXE033 SERIAL/I2C LCD & CLOCK
AXE033 SERIAL/I2C LCD & CLOCK The serial LCD and clock module allows microcontroller systems (e.g. PICAXE) to visually output user instructions or readings, without the need for a computer. This is especially
More informationThis Part-B course discusses design techniques that are used to reduce noise problems in large-scale integration (LSI) devices.
Course Introduction Purpose This Part-B course discusses design techniques that are used to reduce noise problems in large-scale integration (LSI) devices. Objectives Learn approaches and design methods
More informationAdafruit USB Power Gauge Mini-Kit
Adafruit USB Power Gauge Mini-Kit Created by Bill Earl Last updated on 2017-07-14 11:55:04 PM UTC Guide Contents Guide Contents Overview Assembly Basic Assembly Solder the female connector. Solder the
More informationChapter Operation Pinout Operation 35
68000 Operation 35 Chapter 6 68000 Operation 6-1. 68000 Pinout We will do no construction in this chapter; instead, we will take a detailed look at the individual pins of the 68000 and what they do. Fig.
More informationLesson 12: Preparing for Post Processing
12 Lesson 12: Preparing for Post Processing Learning Objectives In this lesson you will: Rename reference designators on the board design Backannotate changes made in the OrCAD and Allegro PCB Editor to
More informationUF-3701 Power Board Construction Guide
Page 1/5 Soldering and Part Placement See the Chapter 3 of the MIT 6270 Manual for information on electronic assembly, including soldering techniques and component mounting. Construction Information All
More informationInfrared Add-On Module for Line Following Robot
1 Infrared Add-On Module for Line Following Robot January 3, 2015 Jeffrey La Favre The infrared add-on module allows multiple line following robots to operate on the same track by preventing collisions
More informationApplication Note. Tina Shahbaz-Khan EEPower EEC 134
Tina Shahbaz-Khan 998134198 EEPower EEC 134 Application Note There are many stages involved in an engineering project. The first step is to understand the requirements and the specifications. Then, the
More informationTrouble shooting the DeskCNC controller:
Checking for a functional card. 1) Unplug/Disconnect all connections to the I/O and step and direction pins/terminals. 2) Apply regulated 5vdc to the +5 and gnd terminals. CHECK FOR CORRECT POLARITY WITH
More informationHAND HELD PROGRAMMER QUICK START GUIDE
HAND HELD PROGRAMMER QUICK START GUIDE IMPORTANT INFORMATION 1) Do not leave the programmer connected to the PC, adapters or a target system, as this will drain the battery. Installing Software 1) Run
More informationInterrupts and Timers
Indian Institute of Technology Bombay CS684/CS308 Embedded Systems Interrupts and Timers E.R.T.S. Lab 1 Lab Objective This lab will introduce you to the use of Timers and Interrupts on the TM4C123GH6PM.
More informationMAE106 Laboratory Exercises Lab # 1 - Laboratory tools
MAE106 Laboratory Exercises Lab # 1 - Laboratory tools University of California, Irvine Department of Mechanical and Aerospace Engineering Goals To learn how to use the oscilloscope, function generator,
More informationBehringerMods.com. Instructions for modification of Behringer SRC analog inputs and outputs
BehringerMods.com Instructions for modification of Behringer SRC analog inputs and outputs The following instructions will cover the details of fully modifying a unit with analog output and analog input
More informationLED Sequencer 1.0 / 1.5
LED Sequencer 1.0 / 1.5 Instruction Manual Eastern Voltage Research, LLC May 2012, Rev 2 1 http://www.easternvoltageresearch.com Introduction to the LED Sequencer 1.0 Thank you for purchasing the LED Sequencer
More informationIntroduction to NI Multisim & Ultiboard
George Washington University School of Engineering and Applied Science Electrical and Computer Engineering Department Introduction to NI Multisim & Ultiboard Dr. Amir Aslani 8/20/2017 2 Outline Design
More informationOne Grove Base Shield board this allows you to connect various Grove units (below) to your Seeeduino board; Nine Grove Grove units, consisting of:
GROVE - Starter Kit V1.0b Introduction The Grove system is a modular, safe and easy to use group of items that allow you to minimise the effort required to get started with microcontroller-based experimentation
More information