*Ardunio Duemilanove is now being replaced by Arduino Uno. These projects are compatible with Arduino Uno. You can refer to Getting Started with Arduino Uno.
Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It’s an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board. Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. Arduino projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free. The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming environment.
There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems: Inexpensive – Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50. Cross-platform – The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows. Simple, clear programming environment – The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it’s conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino. Open source and extensible software- The Arduino software and is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. SImilarly, you can add AVR-C code directly into your Arduino programs if you want to. Open source and extensible hardware – The Arduino is based on Atmel’s ATMEGA8 and ATMEGA168microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.
WHAT YOU WILL NEED
Before starting any project, make sure you get yourself an Arduino Duemilanove(replaced with Arduino Uno) and the necessary shields that you may need in the coming projects. To get the Arduino Duemilanove and other shields please click here. 2nd, please download the Arduino software which are required to write code and upload to the I/O board here. Lastly, to improve yourself, willingness to learn is always a matter. These projects are designed to be simple and easy understanding in hopes to get you started in microcontroller easily. It’s never too hard to learn, just spend some time with it and you will like it.
PLEASE FEEL FREE TO SHARE…
To download User Manual, please click here..
To download the coding, please click here..
OVERVIEW OF ARDUINO DUEMILANOVE
The Arduino Duemilanove (“2009”) is a microcontroller board based on the Atmega168 (datasheet) or ATmega328(datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.
“Duemilanove” means 2009 in Italian and is named after the year of its release. The Duemilanove is the latest in a series of USB Arduino boards; for a comparison with previous versions, see the index of Arduino boards.
The Arduino Duemilanove can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board’s power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
- VIN. The input voltage to the Arduino board when it’s using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
- 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
- 3V3. A 3.3 volt supply generated by the on-board FTDI chip. Maximum current draw is 50 mA.
- GND. Ground pins.
Each of the 14 digital pins on the Duemilanove can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:
- Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip.
- External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
- PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library.
- LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it’s off.
The Duemilanove has 6 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function. Additionally, some pins have specialized functionality:
- I2C: analog input pins A4 (SDA) and A5 (SCL). Support I2C (TWI) communication using the Wire library.
There are a couple of other pins on the board:
- AREF. Reference voltage for the analog inputs. Used with analogReference().
- Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
For our coming projects, we are going to use Arduino IDE to develop and upload the code to the Arduino Duemilanove. The Arduino IDE supports Window, Mac OS X and also Linux. Be sure to get the one which is suitable to your current OS. To get this software, please click here.
ARDUINO IDE INSTALLATION
For Arduino software, installation are not needed. All we have to do is download, extract it out and save it anywhere you like.
Next, get yourself a USB B-type cable and plug it to the Arduino while the other end connects to the PC.
INSTALL THE USB DRIVERS
To make your Arduino Duemilanove talk, you will need to install the USB driver which is located inside the Arduino IDE that you have downloaded (drivers/FTDI USB Drivers)
Double click this icon and the installation will execute. After that, your PC/Laptop will automatically detect the driver installed and your Arduino Duemilanove is now ready to use.
THE ARDUINO IDE SETUP
To create a project, start the program by double clicking the arduino.exe. This will allow you to open the Arduino IDE.
Next step, choose the Arduino main board. Go to Tools > Board > Arduinio Duemilanove or Nano w/ ATmega 328
Finally, choose the COM port for Arduino Duemilanove. Same step as above, go to Tools > Serial Port > COM4 (Depend on the PC).
THE ARDUINO IDE
When you open up the Arduino IDE, it will look similar to the figure above and it may be slightly different to those who are using Mac OS or Linux but the main function of this IDE is still the same.
Well, don’t get too worried about the IDE as you have already picked up some important steps to deal with it. So, let’s go and explore some projects’ code now!
PROJECT 0 – LED DICE
Dice is the common use item on playing board games which have total of 6 Dot on it which represent as the number from 1 to 6. In here, we are going to make the dice electronic which consist 7 LEDs. More..
PROJECT 1 – “Hello World” ON LCD
Arduino have come with an LCD-Keypad Shield which consist of a LCD, 5 push button and a reset button. In here, we are going to display the “Hello World” and also the push button pressed on the LCD. More..
PROJECT 2 – GRAPHIC LCD
Graphic LCD display which consist of 48×84 pixel, allow user to send the picture in bitmap and display on the LCD. Besides that, the shield also come with an 5 DOF joystick and several I/O pin for user to interface and control. More..
PROJECT 3 – LED CHASER
In this project, we are going to experience some ADC port using in Arduino to control the LED chaser speed. More..
PROJECT 4 – KNIGHT RIDER LIGHT BAR
Ever watch Knight Rider movie? The light bar at front are cool right? In this project, we are going to use Arduino with 8 LEDs to make it blink like an Knight Rider light bar. More..
PROJECT 5 – CONTROL RC SERVO MOTOR POSITION
Arduino Input shield, come with a thumb joystick with 2 extra push button are program to control the RC servo motor position. More..
PROJECT 6 – TEMPERATURE SENSOR LM35 TO LCD DISPLAY
LM35 temperature sensor, use to measure the temperature in Celsius and also other value and display the value in LCD display. More..
PROJECT 7 – ULTRASONIC RANGE FINDER TO LCD DISPLAY
Ultrasonic-EZ1 sensor, which are commonly use to measure the range between 6-inch to 256-inch are connected to Arduino and display the value in inches in LCD display. More..
PROJECT 8 – IR DISTANCE SENSOR TO LCD DISPLAY
Wondering how the Sharp Infrared sensor works? This project will show you how to interface and deal with the sensor to get the distance value. More..
PROJECT 9 – TEMPERATURE CONTROL DC BRUSH MOTOR
Here, we are dealing with one of the shield: 2-Amp Motor Driver Shield. We are going to interface with LM35 temperature sensor and control the motor speed like air-con. More..
PROJECT 10 – SERIAL CONTROL RC SERVO POSITION
Control the servo motor using Computer? Yes, in this project we are going to explore how to control servo motor using serial communication. More..
PROJECT 11 – PIEZO BUZZER – BIRTHDAY MELODY
Generate PWM to piezo buzzer and it will come out with an sound. Combine several PWM signal and we may generate a melody. More..
PROJECT 12 – SERIAL TEMPERATURE READING AND DC MOTOR CONTROL
Well, after we try temperature control DC motor. Now is the time for serial communication control DC motor speed. More..
PROJECT 13 – UART TO COMPUTER
Sending the text from computer to Arduino and display on LCD display. In here, experience on how to interface while communicate between PC and Arduino. More..
PROJECT 14 – XBEE WIRELESS COMMUNICATION
XBEE communication have become more and more common use by user to easily and range communication. In here, we are going to explore on how to send and receive data between computer and Arduino XBEE. More..