In this design challenge we will use a relay to control the flash circuit found in a disposable camera. Specifically we will modify the circuit built in the relay controlled LEDs project.
A transimpedance amplifier is a circuit that will produce a scaled output voltage that is proportional to a supplied input current (this type of circuit is often considered a current controlled voltage source).
The field of music theory tries to define what music is and how it is made. A key concept from music theory is the use of musical notes. Obviously, musical notes are used to compose songs, so understanding them and how they are organized will prove very useful. In this background topic page, we will examine the notes on a piano and how they are arranged.
An “array” is essentially a collection of variables stored sequentially in memory. Defining an array is much quicker and more manageable than defining multiple variables. You simply need to indicate the data type of the values the array will store, the name of the array, and the number of values you want to be stored.
In programming, a string is simply a series of characters grouped together. Strings provide a convenient way for storing groups of characters, like words or sentences. When dealing with strings, there are two primary types to worry about.
This is a basic description of the operation of the Serial Peripheral interface bus (SPI for short). SPI is a common serial communication protocol used to communicate between two or more digital devices.
For this project, we will be expanding on the concepts introduced in the Creating Music With a Piezo Element project by creating a sine wave generator. Instead of rapidly toggling a digital pin high or low to generate an output signal, we will be using an external digital to analog converter (DAC for short) for more control over the signal. Additionally, we will be incorporating potentiometers for volume and frequency control of the sine wave.
In this page, we will talk about the MCP23008 I/O Expander IC. This IC is used to expand the number of I/O pins available. It also has a number of features that allow us to configure how pins when set to input react and otherwise behave.
This page discusses the concept of non-blocking delays as a way to allow multiple periodic events to occur while allowing other functions to run during the time between calls.
This project presents a brief, non-rigorous introduction to electronic circuits and systems. Only the most essential concepts are presented, with emphasis on topics used in later projects. As with all projects in this module, a companion “Exercise1” document is available for further understanding.
This project introduces Digilent’s FPGA-based circuit boards and the Adept™ software that is used to program them. In tutorial fashion, Adept is used to download a logic circuit to the board, and that circuit is used in an experiment with basic logic circuits.
This module presents the basic structure of combinational logic circuits, and introduces the use of computer aided design (CAD) tools in modern circuit design.
The requirements for new logic circuit designs are often expressed in some loose, informal manner. For an informal behavioral description to result in an efficient, well designed circuit that meets the stated requirements, appropriate engineering design methods must be developed.
Since the first widespread use of CAD tools in the early 1970's, circuit designers have used both picture-based schematic tools and text-based netlist tools. Schematic tools dominated the CAD market through the mid-1990's because using a graphics editor to build a structural picture of a circuit was easy compared to typing a detailed, error-free netlist.
This lab introduces several combinational circuits that are frequently used by digital designers, including a data selector (also called a multiplexor or just "mux"), a binary decoder, a seven-segment decoder, an encoder, and a shifter.
This project examines several combinational circuits that perform arithmetic operations on binary numbers, including adders, subtractors, multipliers, and comparators.
This module considers the time-course of logic signals as they pass through logic circuits. Until now, we have not considered the time required for logic signals to propagate through logic gates and along signal wires.
This project introduces the concept of electronic memory. Memory circuits function by storing the voltage present on an input signal whenever they are triggered by a control signal, and they retain that stored voltage until the next assertion of the control (or trigger) signal.
This exercise is based off of the material from Read Digital Project 2. There is a link available to download the PDF of the exercise.
This exercise is based off of the material from Real Digital Project 2. You will download a .bit file to your board to configure the FPGA with eight different logic circuits. The circuits use buttons and switches for inputs, and LEDs for outputs. You must probe the logic circuits by applying all possible combinations of input signals, and from the results write logic equations that describe the circuit’s behavior.
This project introduces the founding concepts used in the design of sequential circuits.