Hacking Electronics illustrated Diy Guide For Makers & Hobbyists - PDF DOWNLOAD

Page 151

HowTo-Color (8) / Hacking Electronics / Simon Monk / 236-3 / Chapter 6

124

Hacking Electronics The sketch is quite similar to that in the previous section; however, we no longer use the Serial Monitor, so all that code is gone. We do need to define a new pin “ledPin” to use for the LED. The “loop” function still reads the raw value from the analog pin A3, but it then uses the “map” function to convert the “rawReading” value of between 0 to 1023 to a range of 100 to 500. The “map” function is a standard Arduino command that adjusts the range of the value passed in as the first parameter. The second and third parameters are the range of the raw value, while the fourth and fifth are the desired range you want to compress or expand the value into. We then flash the LED using this number (100 to 500) as the delay between turning the LED on and off. The end result of this is that the LED will flash faster the closer A3 is to 0V.

Software (Brightness) We can use exactly the same hardware, but with different software to control the brightness of the LED instead of its rate of flashing. This will use the Arduino “analogWrite” function to vary the power going to the pin. This feature is only available for those pins marked with a “~” on the Arduino board. Fortunately, we thought ahead and chose such a pin to connect the LED to. These pins can use a technique called pulse-width modulation (PWM) to control how much power goes to the output. This works by sending out a series of pulses, around 500 times per second. These pulses may be high for only a short time, in which case little power is delivered, or high until it’s nearly time for the next pulse, in which case lots of power is delivered. In the case of the LED, this means that in each cycle, the LED is either off, on for some of the time, or on the whole time. Our eyes cannot keep up with such a fast-changing event, so it just appears that the brightness of the LED varies. Load the sketch “variable_led_brightness” onto your Arduino. You should find that, now, the variable resistor controls the brightness of the LED rather than its rate of flashing. Most of the sketch is the same as the previous one, the difference lies in the “loop” function. void loop() { int rawReading = analogRead(voltsInPin); int brightness = rawReading / 4; analogWrite(ledPin, brightness); }

06-ch06.indd 124

1/2/13 11:55 AM


Turn static files into dynamic content formats.

Create a flipbook

Articles inside

Index

15min
pages 290-305

Hardware and Miscellaneous

0
page 287

EAGLE PCB

0
pages 281-282

Introducing: The Oscilloscope

0
page 279

AC Voltage

1min
page 275

Resistance

1min
page 273

How to Use a Lab Power Supply

0
page 278

Summary

1min
page 271

How to Reuse a Cell Phone Power Adapter

1min
page 270

Desoldering

0
page 268

How to Check a Fuse

2min
pages 264-265

How to Test a Battery

0
page 266

Summary

1min
page 261

How to Make a Software VU Meter

0
page 259

You Will Need

1min
page 252

How to Make a 1-Watt Audio Amplifier

1min
page 251

How to Take Something Apart AND Put It Back Together Again

0
page 263

How to Make an FM Bug

1min
page 247

How to Use a Microphone Module

3min
pages 245-246

How to Sense Magnetic Fields

1min
page 237

Converting a Stereo Signal to Mono

1min
page 244

Software

1min
pages 235-236

How to Use an Accelerometer

1min
page 233

Soldering Audio Connectors

2min
pages 242-243

How to Measure Temperature

0
page 231

Software

1min
page 230

You Will Need

1min
page 225

Using a Gas Sensor with an Arduino

0
page 223

8 Hacking with Sensors

1min
pages 220-221

Summary

1min
pages 174-175

Breadboard

1min
page 222

How to Charlieplex LEDs

1min
page 169

How to Type Passwords Automatically

1min
page 172

How to Drive a Servo Motor with an Arduino

1min
page 166

You Will Need

0
page 156

How to Use a Alphanumeric LCD Shield with Arduino

0
page 163

How to Control a Relay from a Web Page

1min
page 155

Software

4min
pages 159-162

Construction

0
page 157

Software (Brightness

2min
page 151

How to Use Arduino Shields

1min
page 154

Software (Flashing

1min
page 150

How to Measure Voltage with an Arduino

1min
page 146

Trickle Charging with a Solar Panel

1min
page 130

6 Hacking Arduino

1min
page 132

Modifying the Blink Sketch

4min
pages 136-138

Testing a Solar Panel

1min
page 129

How to Use Solar Cells

2min
page 128

Trickle Charging

1min
page 127

Calculating How Long a Battery Will Last

1min
page 125

Controlling the Voltage from a Battery

1min
page 122

Simple Charging

2min
page 117

Hacking a Cell Phone Battery

2min
pages 120-121

How to Charge a LiPo Battery

1min
page 119

Charging Batteries (in General C ................................................. 88

1min
page 115

Summary

0
page 109

Design

0
page 107

Storing Charge in a Capacitor

1min
page 106

Troubleshooting

0
page 104

You Will Need

0
page 94

Construction

4min
pages 101-103

How to Power Large Numbers of LEDs

0
page 95

How to Measure the Forward Voltage of an LED

0
page 93

Construction

1min
page 92

Breadboard

1min
page 91

Design

1min
page 90

Common Transistors

1min
page 74

LEDs for Illumination

0
page 88

Trying It Out

0
page 85

Summary

0
pages 80-81

Construction

4min
pages 68-71

Breadboard

1min
page 67

What Is Power?

1min
page 55

Ohm’s Law

1min
page 54

You Will Need

1min
page 36

Where to Buy Things to Hack

2min
page 29

Soldering

1min
page 37

A Basic Toolkit

2min
pages 30-31

Capacitors

1min
page 49

Summary

0
page 45

Joining Wires

1min
page 38
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.