Arduino Comic Latest1
Arduino Comic Latest1
Arduino Comic Latest1
arduino?
open source
resources that can be used, redistributed or rewritten free of charge. often software or hardware.
technology which makes use of the controlled motion of electrons through different media.
an original Form that can serve as a basis or standard for other things.
hardware architecture with software framework on which other software Can run.
photocell microchip
led
breadboard
An Arduino is a microchip, which is a very small computer that you can program to respond to things. It can measure conditions (like how much light there is in the room). It can control how other objects react to those conditions (room gets dark and an led turns on). a mouse is a common input device for a desktop computer, a monitor is a common output device.
ON
OFF
Microcontrollers use inputs and outputs Like any computer. Inputs capture information From the user or the environment while Outputs do something with the information that has been captured.
momentary switch
DC Motor
any object we want to turn on and off and control could be An output. It could be a motor or even a computer. Digital information is discrete and finite. all information is described in two states, 1 or 0, on or off. Analog information is characterized by its continuous nature. it can have an infinite number of possible values.
A switch or A sensor could be An input into the Arduino. whats the difference between digital and analog inputs and outputs?
inputs and outputs can be digital or analog. Digital information is binary it is either true or false. Analog information is continuous, it can hold a range of values.
a switch is a digital input, a sensor is an analog input. the range of an analog sensor is limited by its conversion to digital data.
Voltage (V)
is a measure of electrical potential. It is measured in volts. Before we plug in the Arduino, we will review a few terms and principles that have to do with how electricity (and therefore electronics) works.
Current (I)
is the amount of flow through a conductive material. It is measured in amperes or Amps.
Resistance (R)
is a material's opposition to the flow of electric current. It is measured in ohms.
resistance increases or
decreases flow
amount of flow moving through pipes is current the water analogy is commonly used to explain these terms. Heres one model.
OHMs law
current = voltage/resistance (i = v/r)
or
There is a relationship between voltage, current and resistance, discovered by Georg Ohm, a German physicist.
Lamp
Current flow
now lets look at a simple circuit. every circuit is a closed loop that has an energy source (battery) and a load (lamp). The load converts the elecrical energy of the battery and uses it up. this one has a switch too.
This is a schematic of the same circuit (it represents the circuit using symbols for the electronic components). When the switch is closed, current flows from the power source and lights the lamp.
I
Direct Current (DC)
Now that weve reviewed some basics of how electricity works, Lets get back t0 the arduino.
There are two Common types of circuits, Direct Current and Alternating Current. In a Dc circuit, the current always flows in one direction. In AC, the current flows in opposite directions in regular cycles. We will only talk about Dc circuits here.
The arduino will need power to run. we will need to attach it to a computer to program it.
download here:
http://arduino.cc/en/Main/Software
Attaching the arduino to a computer with a usb cable will supply The 5 volts of power we need and allow us to start programming.
youll have to download and install software to program the arduino. it is available from the URL above Free of charge. the ARduino software runs on the Mac os X, Windows and linux Platforms.
http://www.arduino.cc/en/Guide/MacOSX
For Instructions on how to install on Windows:
http://www.arduino.cc/en/Guide/Windows
For Instructions on how to install on Linux:
http://www.arduino.cc/playground/Learning/Linux
go to the URLS above for detailed instructions on installing the software on these platforms. When you have installed the software, Connect the arduino. An led marked ON should light up on the board.
Launch the arduino software. in the tools menu, select the board you are using (tools > board). for example, Arduino Uno.
Next select the serial port. (Tools > serial port) On a mac it will be something like /dev/tty.usbmodem. On a windows machine, it will be com3 or something like that.
whats an
When you downloaded the Arduino software, you downloaded an IDE. it combines a text editor with a compiler and other features to help programmers develop software.
The Arduino IDE allows you to write Sketches, or programs and upload them to the Arduino board. open the blink example in the file menu. File > Examples > 1.Basics > Blink.
int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { Upload button
ToSerial.println(analogRead(A0); upload the sketch to the arduino board, click the upload button on the strip of } buttons at the top of the window. some messages will appear in the bottom of the window, finally Done Uploading.
void setup() { // initialize the digital pin as an output. // Pin 13 has LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } // // // // set the LED on wait for a second set the LED off wait for a second
a sketch, like a program writen in any language, is a Set of instructions for the computer. If we look closely at the Blink sketch, we see there are 2 major parts, setup and loop.
These Are both blocks of code called functions that every sketch will have. They are blocked out by curly Braces { }. //DeClares block of code void setup() { pinMode(13, OUTPUT); //sets pin 13 to output } //End block of code
http://arduino.cc/en/Reference/HomePage
//declares block of code void loop() { digitalWrite(13, HIGH); //sets pin 13 high delay(1000); //pause 1 second digitalWrite(13, LOW); //sets pin 13 low delay(1000); //pause 1 second } //End block of code
check out the arduino website for the arduino reference guide and many other resources to learn the language.
For now, lets look at this simple script line by line & see what each line does.
How do we control objects that are not on the arduino board? we will connect the arduino to a solderless breadboard. This will allow us to quickly set up and test circuits.
void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(500); digitalWrite(2, LOW); delay(500); }
in setup, we set pin 2 to be an output. in loop, first we set pin 2 high which lights the led. Delay pauses 500 milliseconds, or half a second. when pin 2 is set low, the led goes off, we pause another half second.
the anode is connected to pin 2 on the arduino through a 220 ohm resistor. The cathode is connected to ground. pins 2 through 13 can be configured as digital inputs or outputs. click New button to start a sketch.
verify button
upload button
click verify on the menu to check your code. if there arent any errors, click upload to put your program on the arduino.
the led blinks on for half a second, then blinks off for half a second, over and over again.
Next we will add a switch, a digital input, so we can turn the LED off and on.
Connect one end of a momentary switch to pin 4 on the Arduino, with a 10k resistor connected to ground attached to the same end. Attach the other end to power. We will leave the LED attached to the same pin.
void setup() { pinMode(2, OUTPUT); pinMode(4, INPUT); } void loop() { if(digitalRead(4)){ digitalWrite(2, HIGH); }else{ digitalWrite(2, LOW); }
Next well write the code. In setup, we declare pin 2 an output and pin 4 an input. in loop, we use an if statement, if we read pin 4 as high, we set the led pin to high, otherwise we set the led pin to low, turning it off.
a potentiometer, or pot, is a variable resistor. the amount of resistance changes as it is turned, increasing or decreasing depending on which direction it is turned.
Attach the middle pin on the potentiometer to Analog pin A0. attach one end of the pot to power, the other to ground.
Serial Monitor
First we will look at the range of values we get by turning the pot using the Serial monitor. in our code, we initialize the serial object in setup, setting a baud rate of 9600. In loop, We read the value from analog pin a0 and print it to the serial object using the printLn function,
after you have uploaded the script to the arduino, click the Serial Monitor button in order to see the values as you turn the pot. A window will open, and you will see values ranging from 0 to 1024 as the pot is turned.
5V 0V
Lets use the changing values we receive from the pot as a dimmer to light an LED. put the led back into the board, attached to the Arduino at pin 3.
Well use pulse width modulation (PWM). This is a method of simulating an analog value by manipulating the voltage, turning it on and off at different rates, or duty cycles. you can use pwm with pins 3, 5, 6, 9, 10, and 11.
int sensorValue = 0; void setup() { pinMode(3,OUTPUT); } void loop() { sensorValue = analogRead(A0); analogWrite(3, sensorValue/4); }
First we create a variable to store the value of the pot. In setup we make pin 3 an output. In loop, we store the value we have read from pin a0 in our variable. Then we write the value to pin 3, our led pin. we have to divide the variable by 4, so we will have a range of values from 0 to 255, or a byte.
The brightness of the LED changes, ranging from completely off to very bright as you turn the pot.
Thats it! This is a very brief intro. in the next Panels, there are links and other resources. check them all out, youll find more!
Links
Software
Software Download http://www.arduino.cc/en/Main/Software Language Reference http://arduino.cc/en/Reference/HomePage
Supplies
Sparkfun Electronics http://www.sparkfun.com/ Adafruit Industries http://adafruit.com/ Maker Shed http://www.makershed.com/ Jameco Electronics http://www.jameco.com/
Tutorials
Arduino site Tutorials http://www.arduino.cc/en/Tutorial/HomePage Lady Ada http://www.ladyada.net/learn/arduino/ Instructables http://www.instructables.com/tag/typeid/ categorytechnology/channelarduino/
all text and drawings by Jody Culkin for more, check out jodyculkin.com
Special Thanks to Tom Igoe, Marianne petit, Calvin Reid, The faculty and staff of the interactive telecommunications program at nyu, particularly Dan osullivan, Danny rozin and Red burns. thanks to Cindy karasek, chris Stein, sarah teitler, kathy goncharov & zannah marsh. many, many thanks to the Arduino team for bringing us this robust and flexible open source platform. and thanks to the lively, active and ever growing arduino community.
Introduction to Arduino by Jody Culkin is licensed under a Creative Commons AttributionNonCommercialShareAlike 3.0 Unported License.
books
Getting Started with Arduino by Massimo Banzi Making Things Talk: Using Sensors, Networks, and Arduino to see, hear, and feel your world by Tom Igoe Physical Computing: Sensing and Controlling the Physical World with Computers by Dan O'Sullivan & Tom Igoe Arduino Cookbook by Michael Margolis