Assignment: Microprocessor Systems Engineering
Lab: Using PWM to light an LED
Procedure:
• Watch the youtube video: "Tutorial 02 for Arduino: Buttons, PWM, and Functions"
• Construct the breadboard circuit and implement the program presented in the video and in Chapter 2 (pp. 29-35) of your textbook to control the brightness of the external LED via PWM.
Lab 2b:
Procedure:
• Design a circuit and Arduino program that accomplishes the following:
o Reads a press of a pushbutton once, and it cycles through all possible brightness values
o A press of the pushbutton a second time during the cycle, and it will "reset" the system by turning the LED off and setting the brightness value back to 0
o Another press of the pushbutton again, and it will then start the brightness cycle over again
• Include a video of your circuit in operation and any computer screenshots during its operation. Please include your Grantham ID number in the video to show your work.
• Send your code file (.ino) of the lab completed and operational as well for credit.
Analysis/Discussion:
• Explain the process you used in this lab to arrive at the final design of both the hardware portion and the software portion to achieve the design objectives.
• This lab introduced interfacing an external LED and a pushbutton switch to the Arduino. Describe some practical considerations that must be taken into account when interfacing each of these devices in order to achieve desired operation and component protection.
• PWM was used in this lab to "simulate" analog output from the Arduino. Measure the voltage associated with the minimum value of the analog output and the maximum value of the analog output. Take a picture of the measurements of the DMM display to confirm the voltages at analog output of 0, 127, and 255. What do you notice about these values regarding the relative brightness of the LED? Describe how the values that were assigned to the output to the LED establish the relative "brightness" of the LED.
• As a design engineer, describe the method you would use to ensure that devices interfaced to a microprocessor can be done so safely. That is, how would you determine the limitations on the current that can either be sourced or sunk by a microprocessor? Provide sample data for both the Atmel ATMega328 and the Intel i7 microprocessors in terms of maximum current ratings per pin and total current limits for each microprocessor. Include your answers with your code, screenshots and readings submitted.