2. ULN2803 Each of the digital i/o pins on the Arduino can only
source or sink 40mA, and pushing the Arduino past these limits may
damage it. If you need to get a little more power out of your
outputs, try using a Darlington ULN2803. The Darlington chip can
source up to 500mA of current out each pin, and operates at up to
50V, so it's beefy enough to drive motors, incandescent bulbs,
relays, solenoids and more. The ULN2803APG / AFWG Series are
highvoltage, highcurrent darlington drivers comprised of eight NPN
darlington pairs. All units feature integral clamp diodes for
switching inductive loads. Applications include relay, hammer, lamp
and display (LED) drivers.
6. What is bootloader? Atmel AVRs are great little ICs, but
they can be a bit tricky to program. You need a special programmer
and some fancy .hex files, and its not very beginner friendly. The
Arduino has largely done away with these issues. Theyve put a .hex
file on their AVR chips that allows you to program the board over
the serial port, meaning all you need to program your Arduino is a
USB cable. The bootloader is basically a .hex file that runs when
you turn on the board. It is very similar to the BIOS that runs on
your PC. It does two things. First, it looks around to see if the
computer is trying to program it. If it is, it grabs the program
from the computer and uploads it into the ICs memory (in a specific
location so as not to overwrite the bootloader). That is why when
you try to upload code, the Arduino IDE resets the chip. This
basically turns the IC off and back on again so the bootloader can
start running again. If the computer isnt trying to upload code, it
tells the chip to run the code thats already stored in memory. Once
it locates and runs your program, the Arduino continuously loops
through the program and does so as long as the board has
power.
7. Burning the bootloader To burn the bootloader, you'll need
to buy an AVR-ISP (in- system programmer), USBtinyISP or build
aParallelProgrammer. The programmer should be connected to the ICSP
pins (the 2 by 3 pin header) - make sure you plug it in the right
way. The board must be powered by an external power supply or the
USB port. Make sure you have the right item selected in the Tools |
Board menu. Then, just launch the appropriate command from the
Tools > Burn Bootloader menu of the Arduino environment. Burning
the bootloader may take 15 seconds or more, so be patient.
8. How to burn bootloader? For a quick easy programmer we
recommend looking into the AVR Pocket Programmer (Windows only) Or,
you can use the official Atmel AVR MKII programmer. The AVR Pocket
Programmer or most cheaper options will work just fine for most
applications, but they may have problems with some boards,
specifically ones with lots of memory like the ATMega2560 based
boards.
9. In circuit serial programmer Its very uncommon to program
ICs before they are soldered onto a PCB. Instead, most
microcontrollers have whats called an in-system programming (ISP)
header. Particularly, some IC manufacturers, such as Atmel and
Microchip, have a specialized ISP method for programming their ICs.
This is referred to as in-circuit serial programming (ICSP) Most
Arduino and Arduino compatible boards will have a 2x3 pin ICSP
header on them. Some may even have more than one depending on how
many ICs live on the PCB. It breaks out three of the SPI pins
(MISO, MOSI, SCK), and power, ground, and reset. These are the pins
youll need to connect your programmer to in order to reflash the
firmware on your board. Continue.
10. Continue
11. Continue. Once you have located the six ICSP pins on your
board, its time to hook up your programmer to the board. You can
use a programming cable to connect the two, or, if you dont have a
cable, you can just use some male-to-female jumper wires. If you
are using a programmer such as the MKII or the Pocket Programmer,
your setup should look something like this:
12. Continue Now, after connecting above circuit diagram follow
these steps Step1: Select your appropriate target board. Tools
-> Board
13. Continue Step2: Now select the proper programmer that you
have chosen for the burning of program on arduino. Tools ->
Programmer
14. Continue Step 3: Now you are ready to burn bootloader on
your arduino board. Just select Tools -> Burn bootloader
15. ATmega8 Basic Circuit diagram
16. Arduino basic circuit diagram
17. Design Embedded Development Board Suppose you have an
Arduino board, and you want to run a code independently on another
blank Atmega8 IC. First of all, u need to burn a bootloader on to
the atmega8, using the Arduino as an ISP. Once the bootloader is
uploaded, u can now upload a simple sketch like Led blink on the
new IC, and check whether the program works by connecting the IC on
the breadboard. Once checked on the breadboard, u can now go
happy-soldering on a pcb.
18. Continue Step 1 :Upload ArduinoISP code on ur UNO Connect
ur UNO to ur PC via the USB cable and go to File -> Examples
-> ArduinoISP and upload this sketch.
19. Step 2 :Burn the bootloader Connect ur Atmega (Atmega8 in
my case) to the UNO via a breadboard as shown.
20. Continue Now get the arduino IDE then u burn the bootloader
in 2 steps : Step 1: Select Arduino NG or older w/ Atmega8 Bcoz
this board used Atmega8 and so the bootloader for Atmega8 would b
selected.
21. Step: 2 Now select Tools -> Burn Bootloader -> w/
Arduino as ISP. Because you are loading bootloader on ATmega8 with
the help of Arduino.
22. Home Automation using Arduino Ever wanted to make your home
automated? Wanted to control the lights, fan and other appliances
from your smartphone? Or wanted a tutorial about connected devices
and getting started with it? DIY Android Home Automation will show
you how to make your home automated using an android smartphone.
This requires you to have no experience of android programming at
all, as a free application is included for you to develop. Using
this android application you will be able to control your lights,
air conditioning, door locks ,etc all from your smartphone. This
system uses bluetooth to connect with your device and control the
various appliances in your home.
23. Software and Hardware requirement Software Arduino IDE :
Arduino . Eclipse for android programming (optional, not required).
Hardware Arduino / Arduino Clone or make your own custom Arduino
board with this tutorial. A 5v TTL -UART Bluetooth module like :
JY-MCU BT_BOARD (Cheaper) or Bluesmirf Gold/Silver. Five 5V SPDT
relays like : 5V relay. Prototype board or breadboard. Connecting
wires.
24. How does it work? Android Home Automation project comes
with a free application called DIY SmartHome . This application
controls the various appliances connected to your arduino and
relays. When the toggle buttons on the application are pressed,
corresponding bluetooth signals are sent from your android phone to
the bluetooth module you have hooked up to your arduino. The
arduino finds out which signal was sent and compares it to the
predefined signals assigned for each appliance. When it identifies
that signal, then the arduino activates the relay hooked up to its
digital pin by passing 5V through it. Thus the relay is switched ON
and the corresponding appliance connected to the relay is turned ON
as well. To switch it OFF , arduino passes a 0V or logic low to its
digital pin.
25. Block Diagram
26. Circuit Diagram Circuit Diagram
27. Connection The connection diagram for arduino is as shown.
For setting up this system , wiring connections have to be made
between the arduino and bluetooth module and also with the relays.
Here, the bluetooth modules Tx is connected to arduino Rx (digital
pin 0) and the modules Rx to arduino Tx (digital pin 1). 5V and GND
of the module is connected to the arduinos 5V and GND. The relay
your using is SPDT, it has 5 pins on the under side. As shown above
, here pins 1 and 3are the coil pins. 1 is connected to the arduino
digital pin and 3 is connected to arduino GND. 2 is the common
contact in the relay to which you have to connect the power for
your appliance (AC 230V), and 4 is the pin to which you have to
connect your appliance wire.
28. PCB Layout
29. Code void setup() { Serial.begin(115200);//Change the baud
rate value depending on the default baud rate of your bluetooth
module, for Bluesmirf-115200 and for JY-MCU-9600 pinMode(2,
OUTPUT);//Light1 pin pinMode(3, OUTPUT);//Light2 pin pinMode(4,
OUTPUT);//Light3 pin pinMode(5, OUTPUT);//AC pin pinMode(6,
OUTPUT);//Door Lock }
30. void loop() { int a=0; if(Serial.available()) {
val=Serial.read(); Serial.println(int(val));//Display received
value on Serial Monitor if(int(val)==49)//Turn Light1 ON
digitalWrite(2,HIGH); else if (int(val)==50)//Turn Light1 OFF
digitalWrite(2,LOW); if(int(val)==51)//Turn Light2 ON
digitalWrite(3,HIGH); else if(int(val)==52)//Turn Light2 OFF
digitalWrite(3,LOW); if(int(val)==53)//Turn Light3 ON
digitalWrite(4,HIGH); else if(int(val)==54)//Turn Light3 OFF
digitalWrite(4,LOW); if(int(val)==55)//Turn AC ON
digitalWrite(5,HIGH); else if(int(val)==56)//Turn AC OFF
digitalWrite(5,LOW); if(int(val)==57)//Lock the DOOR
digitalWrite(6,HIGH); else if(int(val)==48)//Unlock the DOOR
digitalWrite(6,LOW); } }
31. Download android application and setting up Bluetooth To
download the android application to your phone, copy t .apk file of
android application to your phone from the PC and then click on it
from the phone to install it. Once you have installed the
application, before opening it you need to pair and connect with
your bluetooth module. For this, you need to power the arduino and
bluetooth module and then turn ON the bluetooth of your phone and
make it visible to other devices. After that, search for new
devices in bluetooth, select your bluetooth module from the list,
enter the pairing code when prompted , it is usually 1234 or 0000
.
32. Continue Note the name of your device , in this case it is
HC- 06. After pairing with the system, go to the DIY SmartHome
application and enter the name of your bluetooth module you noted
earlier (case-sensitive) and click OK. After that the phone will
get connected to your system , and on clicking the respective
buttons, the appliances turn ON/OFF. Have fun with your new DIY
Android Home Automation system
33. Connection Bluetooth
34. Interfacing RF transmitter with Arduino RF transmitter
technical specification 1. Product Model: MX-FS-03V 2. Launch
distance :20-200 meters (different voltage, different results) 3.
Operating voltage :3.5-12V 4. Dimensions: 19 * 19mm 5. Operating
mode: AM 6. Transfer rate: 4KB / S 7. Transmitting power: 10mW 8.
Transmitting frequency: 315Mhz 9. An external antenna: 25cm
ordinary multi-core or single-core line 10. Pinout from left right:
(DATA; VCC; GND)