EGN1007
Learning Goals
Learning Goals: The student will be able to:
1. Build a complete circuit using the Arduino microprocessor 2. Identify important electrical components in a circuit and explain their use 3. Identify and apply specific elements in C code used to run a program in conjunction with how a circuit is built
Variable resistors
Along with the digital pins on the Arduino, the board also has 6 analog pins which can be used. These inputs take a voltage between 0 and 5 volts and convert it to a digital number 0 to 1024. A device which uses these inputs is called a POTENTIOMETER or variable resistor.
When a voltage is applied to the outer pins, the middle pin will read some value between 0-5 volts depending on the angle of the position. The schematic symbol is that of a regular resistor with an arrow either through it or perpendicular to it.
Lets Begin
1. Place the potentiometer on D5-D7. 2. Run a red wire from the 5V on the Arduino to E5. This will supply the Pot with 5V. 3. Run a wire from Analog 0 to E6. 4. Place the LED on J5 and J6 with the longer lead(+) of the LED in J5. 5. Place a resistor on I6and I16. Notice that both the resistor and LED share row 5 6. Run a red wire from Digital 13 port on Arduino to I5. 7. Run a black wire from H16 to the ground(GND). 8. Run a black wire from E7 to G16.
This is a variable that we will use which can store a value coming from the POT.
The only difference this time is that the delay is caused by the READING on the POT which is referenced by the sensors value.
Your turn!
Using what you have learned in this lesson AND the last lesson. Write a short program that uses the POT to control the brightness of the LED. HINT: Do not allow it to blink! Write your code on the lesson worksheet and explain your code.
PhotoResistors
This type of resistor produces a variable resistance based on the amount of incident light.
The schematic symbol shows light in the form of arrows coming down and striking the resistor symbol.
Voltage Divider
A voltage divider is a simple circuit consisting of two resistors that has the useful property of changing a higher voltage (Vin) into a lower one (Vout). It does this by dividing the input voltage by a ratio determined by the values of two resistors (R1 and R2):
So lets say that R1 is the photocell and R2 was a regular resistor. Ss the resistance of the photocell changes as a function of light intensity, the current flowing would increase and decrease. This will cause a voltage that CHANGES and changes in voltage is what Arduino can sense and understand.
Lets Begin
1. Place the photoresistor on J20 & 21. 2. Run a red wire from the 5V on the Arduino to J20. This will supply the PR with 5V. 3. Place the 10K resistor (brownblack-orange) on I21 and I30. 4. Run a wire from Analog 0 to H21 5. Place the LED on J5 and J6 with the longer lead(+) of the LED in J5. 6. Place a 560W resistor on I6 and I16. Notice that both the .resistor and LED share row 5 7. Run a red wire from Digital port 9 on Arduino to I5. 8. Run a black wire from J16 to the ground(GND). 9. Run a black wire from H30 to H16.
Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of fromHigh to toHigh, values in-between to values in-between, etc.
Why do we have to do this? The LED understands the range 0 to 255 and the photoresistor will export values between 0 and 900
Remember that the Arduino is a digital machine. It can only deal with analog via special tricks.
analogWrite (pin, value) - turns the pin ON and OFF very quickly which makes it act like an analog signal. This value is between 0 (0 volts) and 255(5 volts)
Remember that the Arduino is a digital machine. It can only deal with analog via special tricks.
analogREAD (pin, value) - This allows you to read the their voltage which outputs a value between 0 (0 volts) and 1024 (5 volts)
Therefore we READ the value from the PR. We then map and constrain it so that we can WRITE that value to the LED. The written value is then outputted as brightness in the LED.
We then RE-MAP the ranges that the PR can produce to those same values we used to control the brightness of the LED. We also constrain these values to this range. Lastly, we send the value (voltage) to the LED based on the LIGHTLEVEL of the PR. Place your hand or finger on the PR to dim the LED.