You are on page 1of 34

INDEX

1 மனனன ரர
2

2 மமததரத வடவமன
4

3 Block Diagram
5

4 இததலன உபயயமகதகனக பன படனட Software , Hardware பகததகளன


6

5 Arduino
7

6 Arduino pins
11

7 Loadcell & Support circuitry


17

8 Buzzer
28

9 Project அரமபனப
29

10 Project பமகஙனக ரள யதரனவ சசயனத கமரணஙனக ளன


30

11 ஹமரனட யவரன அரமபனப


31

12 சமபனட னய வரன அரமபனப


32

13 இனனன மன யசரனக னக பன படகனக டய வசததகளன


33

14 யமலமன வதபரஙனக ளகனக


34

1
Automatic IV fluid level monitor

Abstract :
Monitoring IV fluid levels at hospitals are tedious time consuming job. Some may absent
mindedly left the saline or glucose drips to dry. Dry out complicates the problems of already
suffering patients.

Our project will monitor the IV fluid levels, if they nears the dry level our project will raise
an alarm and also display the patient number to quicker identification.
Our project will also informs about accidental pulling of IV set.

Drips எனனற நமனமமலன அரழகனகபன படமன saline or glucose யநமயமளதகளகனக ஏறனறபன படமன சபமழத,
அவறனறதனன அளவ ததரபனயபமனமலன அரத உணரனநனத எசனசரதகனரக சசயனயமன வணனணமன எஙனகளன project
வடவரமகனகபன படனடளனளத.

அத ஒரவரன அரயக அமரனநனத அவறனரற கணனகமணதகனக யவணனடமன எனனற யதரவரயயமன ஒத


நதகனககதறத.

2
யதரவ :
யநமயமளதகளகனக ஏறனறபன படமன saline or glucose அளரவ யநரடயமக கணனகமணதபனபத
மதகவமன அவசதயமமன ஒனனற.

ஏசனனனறமலன அளவ கமலத ஆனமலன, ஏறனகனயவ உடலனநலமன பமததகனகபன படனட அவரன யமனனயமலமன
பமததகனகபன பட வமயனபனப உளனளத.

இரத தடகனகசவனனயற ஒரவரர அஙனக அமரனதனததனமலன, அத அனமவசதய சரமரயதன தரமன. அத


மடனடமன அலனலமமலன மனததரன தவற சசயனயமன இயலனப உரடயவரனகளன. அவரனகளன தவற சசயனயவமன வமயனபனப
உணனட.

அதனமலன தமனதயஙனக மரறயதயல யநமயமளதகளகனக ஏறனறபன படமன saline or glucose அளரவ


கணனகமணதகனகமன எஙனகளன project இனனரறய கமலகடனடதனததலன மதகவமன யதரவயமன ஒனனற.

3
மமததரத வடவமன

Arduino எனனனமன opensource microcontrolling system லன

இனனபடனடலன எரடரய உணரகனகடய load cell circuit உடனன இரணகனகபன படனட உளனளத.

அவடனபடனடலன அலமரமன ஒனனற இரணகனகன படனட உளனளத. LED இரணகனகபன படனடளனளத.

4
Block diagram

5
இததலன உபயயமகதகனக பன படனட Software, Hardware பகததகளன

1. Arduino
2. Arduino Pins
3. Load cell and support circuitry
4. Buzzer

இரவ ஒவனசவமனனரறபன பறனறதயமன, இரவ அரனதனதமன எஙனகளன project லன எனனன பஙனகளதகனகதனனறன


எனனபத பறனறதயமன இனத வரமன பகததகளதலன கமணனயபமமன.

அத மடனடமன அலனலமமலன இவறனறதனன உதவதயடனன எஙனகளன project எவனவமற மழரம சபறகதறத


எனனபரதயமன பமரனபனயபமமன.

6
Arduino
Arduino is a single-board microcontroller, intended to make the application of interactive objects
or environments more accessible. The hardware consists of an open-source hardware board designed
around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. Current models feature an USB
interface, 6 analog input pins, as well as 14 digital I/O pins which allow to attach various extension
boards.

Introduced in 2005, it was designed to give students an inexpensive and easy way to program
interactive objects. It comes with a simple integrated development environment (IDE) that runs on regular
personal computers and allows to write programs for Arduino using C or C++.

The current prices of Arduino boards run around $30 and those of related "clones" as low as $9.
Arduino boards can be purchased pre-assembled or as do-it-yourself kits. Hardware design information
is available for those who would like to assemble an Arduino by hand. It was estimated in mid-2011 that
over 300,000 official Arduinos had been commercially produced, and in 2013 that 700,000 official boards
were in users' hand

History
Arduino started in 2005 as a project for students at the Interaction Design Institute Ivrea in Ivrea,
Italy. At that time program students used a "BASIC Stamp" at a cost of $100, considered expensive for
students. Massimo Banzi, one of the founders, taught at Ivrea.

A hardware thesis was contributed for a wiring design by Colombian student Hernando
6Barragan. After the wiring platform was complete, researchers worked to make it lighter, less
expensive, and available to the open source community. The school eventually closed down, so these
researchers, one of them David Cuartielles, promoted the idea.

The current prices run around $30 and related "clones" as low as $9. Mini Pro clone may be had
from China for less than $4, post paid.
A simple Arduino

7
Hardware
An Arduino board consists of an Atmel 8-bit AVR microcontroller with complementary
components to facilitate programming and incorporation into other circuits. An important aspect of the
Arduino is the standard way that connectors are exposed, allowing the CPU board to be connected to a
variety of interchangeable add-on modules known as shields. Some shields communicate with the
Arduino board directly over various pins, but many shields are individually addressable via an I2C serial
bus, allowing many shields to be stacked and used in parallel. Official Arduinos have used the megaAVR
series of chips, specifically the ATmega8, Atmega168, ATmega328, ATmega1280, and ATmega2560. A
handful of other processors have been used by Arduino compatibles. Most boards include a 5 volt linear
regulator and a 16 MHz crystal oscillator (or ceramic resonator in some variants), although some designs
such as the LilyPad run at 8 Mhz and dispense with the onboard voltage regulator due to specific form-
factor restrictions. An Arduino's microcontroller is also pre-programmed with a boot loader that simplifies
uploading of programs to the on-chip flash memory, compared with other devices that typically need an
external programmer. This makes using an Arduino more straightforward by allowing the use of an
ordinary computer as the programmer.

At a conceptual level, when using the Arduino software stack, all boards are programmed over an
RS-232 serial connection, but the way this is implemented varies by hardware version.

Serial Arduino boards contain a level shifter circuit to convert between RS-232-level and TTL-
level signals. Current Arduino boards are programmed via USB, implemented using USB-to-serial
adapter chips such as the FTDI FT232. Some variants, such as the Arduino Mini and the unofficial
Boarduino, use a detachable USB-to-serial adapter board or cable, Bluetooth or other methods. (When
used with traditional microcontroller tools instead of the Arduino IDE, standard AVR ISP programming is
used.)

The Arduino board exposes most of the microcontroller's I/O pins for use by other circuits. The
Diecimila, Duemilanove, and current Uno provide 14 digital I/O pins, six of which can produce pulse-
width modulated signals, and six analog inputs. These pins are on the top of the board, via female 0.10-
inch (2.5 mm) headers. Several plug-in application shields are also commercially available.

The Arduino Nano, and Arduino-compatible Bare Bones Board and Boarduino boards may
provide male header pins on the underside of the board to be plugged into solderless breadboards.

There are many Arduino-compatible and Arduino-derived boards. Some are functionally
equivalent to an Arduino and may be used interchangeably. Many are the basic Arduino with the addition
of commonplace output drivers, often for use in school-level education to simplify the construction of
buggies and small robots. Others are electrically equivalent but change the form factor, sometimes
permitting the continued use of Shields, sometimes not. Some variants use completely different
processors, with varying levels of compatibility.

Official boards
The original Arduino hardware is manufactured by the Italian company Smart Projects. Some
Arduino-branded boards have been designed by the American company SparkFun Electronics. Sixteen
versions of the Arduino hardware have been commercially produced to date.

Shields
Arduino and Arduino-compatible boards make use of shields—printed circuit expansion boards
that plug into the normally supplied Arduino pin-headers. Shields can provide motor controls, GPS,

8
ethernet, LCD display, or breadboarding (prototyping). A number of shields can also be made DIY

Software
The Arduino integrated development environment (IDE) is a cross-platform application written in
Java, and is derived from the IDE for the Processing programming language and the Wiring projects. It is
designed to introduce programming to artists and other newcomers unfamiliar with software
development. It includes a code editor with features such as syntax highlighting, brace matching, and
automatic indentation, and is also capable of compiling and uploading programs to the board with a
single click. A program or code written for Arduino is called a "sketch".

Arduino programs are written in C or C++. The Arduino IDE comes with a software library called
"Wiring" from the original Wiring project, which makes many common input/output operations much
easier. Users only need define two functions to make a runnable cyclic executive

program:
• setup(): a function run once at the start of a program that can initialize settings
• loop(): a function called repeatedly until the board powers off

A typical first program for a microcontroller simply blinks an LED on and off. In the Arduino
environment, the user might write a program like this:

#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // Enable pin 13 for digital output
}
void loop () {
digitalWrite (LED_PIN, HIGH); // Turn on the LED
delay (1000); // Wait one second (1000 milliseconds)
digitalWrite (LED_PIN, LOW); // Turn off the LED
delay (1000); // Wait one second
}

It is a feature of most Arduino boards that they have an LED and load resistor connected between
pin 13 and ground; a convenient feature for many simple tests. The previous code would not be seen by a
standard C++ compiler as a valid program, so when the user clicks the "Upload to I/O board" button in
the IDE, a copy of the code is written to a temporary file with an extra include header at the top and a very
simple main() function at the bottom, to make it a valid C++ program.

The Arduino IDE uses the GNU toolchain and AVR Libc to compile programs, and uses avrdude
to upload programs to the board.

As the Arduino platform uses Atmel microcontrollers, Atmel's development environment, AVR
Studio or the newer Atmel Studio, may also be used to develop software for the Arduino.

Development
The core Arduino developer team is composed of Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, David Mellis and Nicholas Zambetti. Massimo Banzi was interviewed on the March
21st, 2009 episode (Episode 61) of FLOSS Weekly on the TWiT.tv network, in which he discussed the
history and goals of the Arduino project. He also gave a talk at TEDGlobal 2012 Conference, where he

9
outlined various uses of Arduino boards around the world.

Arduino is open source hardware: the Arduino hardware reference designs are distributed under
a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino Web site.
Layout and production files for some versions of the Arduino hardware are also available.

The source code for the IDE is available and released under the GNU General Public License,
version 2.

Although the hardware and software designs are freely available under copyleft licenses, the
developers have requested that the name "Arduino" be exclusive to the official product and not be used
for derivative works without permission. The official policy document on the use of the Arduino name
emphasizes that the project is open to incorporating work by others into the official product. Several
Arduino-compatible products commercially released have avoided the "Arduino" name by using "-duino"
name variants.

10
Arduino pins
Digital Pins

The pins on the Arduino can be configured as either inputs or outputs. This document explains the
functioning of the pins in those modes. While the title of this document refers to digital pins, it is important
to note that vast majority of Arduino (Atmega) analog pins, may be configured, and used, in exactly the
same manner as digital pins.

Properties of Pins Configured as INPUT

Arduino (Atmega) pins default to inputs, so they don't need to be explicitly declared as inputs with
pinMode() when you're using them as inputs. Pins configured this way are said to be in a high-impedance
state. Input pins make extremely small demands on the circuit that they are sampling, equivalent to a
series resistor of 100 megohm in front of the pin. This means that it takes very little current to move the
input pin from one state to another, and can make the pins useful for such tasks as implementing a
capacitive touch sensor, reading an LED as a photodiode, or reading an analog sensor with a scheme
such as RCTime.

This also means however, that pins configured as pinMode (pin, INPUT) with nothing connected
to them, or with wires connected to them that are not connected to other circuits, will report seemingly
random changes in pin state, picking up electrical noise from the environment, or capacitively coupling
the state of a nearby pin.

Pullup Resistors with pins configured as INPUT

Often it is useful to steer an input pin to a known state if no input is present. This can be done by
adding a pullup resistor (to +5V), or a pulldown resistor (resistor to ground) on the input. A 10K resistor is
a good value for a pullup or pulldown resistor.

11
Properties of Pins Configured as INPUT_PULLUP

There are 20K pullup resistors built into the Atmega chip that can be accessed from software.

These built-in pullup resistors are accessed by setting the pinMode() as INPUT_PULLUP.

This effectively inverts the behavior of the INPUT mode, where HIGH means the sensor is off, and
LOW means the sensor is on.

The value of this pullup depends on the microcontroller used. On most AVR-based boards, the
value is guaranteed to be between 20kΩ and 50kΩ. On the Arduino Due, it is between 50kΩ and 150kΩ.
For the exact value, consult the datasheet of the microcontroller on your board.

When connecting a sensor to a pin configured with INPUT_PULLUP, the other end should be
connected to ground. In the case of a simple switch, this causes the pin to read HIGH when theswitch is
open, and LOW when the switch is pressed.

The pullup resistors provide enough current to dimly light an LED connected to a pin that has
been configured as an input. If LEDs in a project seem to be working, but very dimly, this is likely what is
going on.

The pullup resistors are controlled by the same registers (internal chip memory locations) that
control whether a pin is HIGH or LOW. Consequently, a pin that is configured to have pullup resistors
turned on when the pin is an INPUT, will have the pin configured as HIGH if the pin is then switched to an
OUTPUT with pinMode(). This works in the other direction as well, and an output pin that is left in a
HIGH state will have the pullup resistors set if switched to an input with pinMode().

Prior to Arduino 1.0.1, it was possible to configure the internal pull-ups in the following manner:

pinMode(pin, INPUT);
digitalWrite(pin, HIGH);
// set pin to input
// turn on pullup resistors

NOTE: Digital pin 13 is harder to use as a digital input than the other digital pins because it has an LED
and resistor attached to it that's soldered to the board on most boards. If you enable its internal 20k pull-
up resistor, it will hang at around 1.7V instead of the expected 5V because the onboard LED and series
resistor pull the voltage level down, meaning it always returns LOW. If you mustuse pin 13 as a digital
input, set its pinMode() to INPUT and use an external pull down resistor.

Properties of Pins Configured as OUTPUT

Pins configured as OUTPUT with pinMode() are said to be in a low-impedance state.

This means that they can provide a substantial amount of current to other circuits. Atmega pins
can source (provide positive current) or sink (provide negative current) up to 40 mA (milliamps) of current
to other devices/circuits. This is enough current to brightly light up an LED (don't forget the series
resistor), or run many sensors, for example, but not enough current to run most relays, solenoids, or
motors.

12
Short circuits on Arduino pins, or attempting to run high current devices from them, can damage
or destroy the output transistors in the pin, or damage the entire Atmega chip. Often this will result in a
"dead" pin in the microcontroller but the remaining chip will still function adequately. For this reason it is a
good idea to connect OUTPUT pins to other devices with 470Ω or 1k resistors, unless maximum current
draw from the pins is required for a particular application.

Analog Input Pins

A description of the analog input pins on an Arduino chip (Atmega8, Atmega168,Atmega328, or


Atmega1280).

A/D converter

The Atmega controllers used for the Arduino contain an onboard 6 channel analog-to-digital (A/D)
converter. The converter has 10 bit resolution, returning integers from 0 to 1023. While the main function
of the analog pins for most Arduino users is to read analog sensors, the analog pins also have all the
functionality of general purpose input/output (GPIO) pins (the same as digital pins 0 - 13).
Consequently, if a user needs more general purpose input output pins, and all the analog pins are not in
use, the analog pins may be used for GPIO.

Pin mapping

The analog pins can be used identically to the digital pins, using the aliases A0 (for analog input
0), A1, etc. For example, the code would look like this to set analog pin 0 to an output, and to set it HIGH:

pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);

Pullup resistors

The analog pins also have pullup resistors, which work identically to pullup resistors on the digital
pins. They are enabled by issuing a command such as

digitalWrite(A0, HIGH);
// set pullup on analog pin 0
while the pin is an input.

Be aware however that turning on a pullup will affect the values reported by analogRead().

Details and Caveats

The analogRead command will not work correctly if a pin has been previously set to an output, so
if this is the case, set it back to an input before using analogRead. Similarly if the pin has been set to
HIGH as an output, the pullup resistor will be set, when switched back to an input.

The Atmega datasheet also cautions against switching analog pins in close temporal proximity to
making A/D readings (analogRead) on other analog pins. This can cause electrical noise and introduce
jitter in the analog system. It may be desirable, after manipulating analog pins (in digital mode), to add a

13
short delay before using analogRead() to read other analog pins. First Sketch

In the getting started guide (Windows, Mac OS X, Linux), you uploaded a sketch that blinks an LED. In
this tutorial, you'll learn how each part of that sketch works.

Sketch
A sketch is the name that Arduino uses for a program. It's the unit of code that is uploaded to and
run on an Arduino board.

Comments
The first few lines of the Blink sketch are a comment:
/*
* Blink
*
* The basic Arduino example. Turns on an LED on for one second,
* then off for one second, and so on... We use pin 13 because,
* depending on your Arduino board, it has either a built-in LED
* or a built-in resistor so that you need only an LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/

Everything between the /* and */ is ignored by the Arduino when it runs the sketch (the * at the
start of each line is only there to make the comment look pretty, and isn't required). It's there for people
reading the code: to explain what the program does, how it works, or why it's written the way it is. It's a
good practice to comment your sketches, and to keep the comments up-to-date when you modify the
code. This helps other people to learn from or modify your code.

There's another style for short, single-line comments. These start with // and continue to the end
of the line. For example, in the line:

int ledPin = 13; // LED connected to digital pin 13


the message "LED connected to digital pin 13" is a comment.

Variables

A variable is a place for storing a piece of data. It has a name, a type, and a value. For example,
the line from the Blink sketch above declares a variable with the name ledPin, the type int, and an initial
value of 13. It's being used to indicate which Arduino pin the LED is connected to.

Every time the name ledPin appears in the code, its value will be retrieved. In this case, the
person writing the program could have chosen not to bother creating the ledPin variable and instead
have simply written 13 everywhere they needed to specify a pin number. The advantage of using a
variable is that it's easier to move the LED to a different pin: you only need to edit the one line that assigns
the initial value to the variable.

Often, however, the value of a variable will change while the sketch runs. For example, you could
store the value read from an input into a variable. There's more information in the Variables tutorial.

14
Functions
A function (otherwise known as a procedure or sub-routine) is a named piece of code that
can be used from elsewhere in a sketch. For example, here's the definition of the setup() function
from the Blink example:

void setup()
{
pinMode(ledPin, OUTPUT);
// sets the digital pin as output
}

The first line provides information about the function, like its name, "setup". The text before and
after the name specify its return type and parameters: these will be explained later. The code between
the { and } is called the body of the function: what the function does. You can call a function that's already
been defined (either in your sketch or as part of the Arduino language). For example, the line
pinMode(ledPin, OUTPUT); calls the pinMode() function, passing it two parameters: ledPin and
OUTPUT. These parameters are used by the pinMode() function to decide which pin and mode to set.

pinMode(), digitalWrite(), and delay()

The pinMode() function configures a pin as either an input or an output. To use it, you pass it the
number of the pin to configure and the constant INPUT or OUTPUT. When configured as an input, a pin
can detect the state of a sensor like a pushbutton; this is discussed in a later tutorial. As an output, it can
drive an actuator like an LED.

The digitalWrite() functions outputs a value on a pin. For example, the line:

digitalWrite(ledPin, HIGH);
set the ledPin (pin 13) to HIGH, or 5 volts. Writing a LOW to pin connects it to ground, or 0
volts.

The delay() causes the Arduino to wait for the specified number of milliseconds before continuing
on to the next line. There are 1000 milliseconds in a second, so the line:
delay(1000);
creates a delay of one second.

setup() and loop()


here are two special functions that are a part of every Arduino sketch: setup() and loop(). The
setup() is called once, when the sketch starts. It's a good place to do setup tasks like setting pin modes
or initializing libraries. The loop() function is called over and over and is heart of most sketches. You need
to include both functions in your sketch, even if you don't need them for anything.
Sample Bare minimum code

Code
The setup() function is called when a sketch starts. Use it to initialize variables, pin modes, start
using libraries, etc. The setup function will only run once, after each powerup or reset of the Arduino
board.

After creating a setup() function, the loop() function does precisely what its name suggests, and

15
loops consecutively, allowing your program to change and respond as it runs. Code in the loop() section
of your sketch is used to actively control the Arduino board.

17The code below won't actually do anything, but it's structure is useful for copying and pasting to
get you started on any sketch of your own. It also shows you how to make comments in your code.

Any line that starts with two slashes (//) will not be read by the compiler, so you can write anything
you want after it. Commenting your code like this can be particularly helpful in explaining, both to yourself
and others, how your program functions step by step.

void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}

16
Load Cell

Introduction

A load cell is a force sensing module - a carefully designed metal structure, with small
elements called strain gauges mounted in precise locations on the structure. Load cells are
designed to measure a specific force, and ignore other forces being applied. The electrical
signal output by the load cell is very small and requires specialized amplification. Fortunately,
the 1046 PhidgetBridge will perform all the amplification and measurement of the electrical
output.

Load cells are designed to measure force in one direction. They will often measure force
in other directions, but the sensor sensitivity will be different, since parts of the load cell
operating under compression are now in tension, and vice versa.

17
How does it work

Strain-gauge load cells convert the load acting on them into electrical signals. The
measuring is done with very small resistor patterns called strain gauges - effectively small,
flexible circuit boards. The gauges are bonded onto a beam or structural member that deforms
when weight is applied, in turn deforming the strain-gauge. As the strain gauge is deformed, it’s
electrical resistance changes in proportion to the load.

The changes to the circuit caused by force is much smaller than the changes caused by
variation in temperature. Higher quality load cells cancel out the effects of temperature using
two techniques. By matching the expansion rate of the strain gauge to the expansion rate of the
metal it’s mounted on, undue strain on the gauges can be avoided as the load cell warms up
and cools down. The most important method of temperature compensation involves using
multiple strain gauges, which all respond to the change in temperature with the same change in
resistance. Some load cell designs use gauges which are never subjected to any force, but only
serve to counterbalance the temperature effects on the gauges that measuring force. Most
designs use 4 strain gauges, some in compression, some under tension, which maximizes the
sensitivity of the load cell, and automatically cancels the effect of temperature.

Installation

This Single Point Load Cell is used in small jewelry scales and kitchen scales. It’s
mounted by bolting down the end of the load cell where the wires are attached, and applying
force on the other end in the direction of the arrow. Where the force is applied is not critical, as
this load cell measures a shearing effect on the beam, not the bending of the beam. If you
mount a small platform on the load cell, as would be done in a small scale, this load cell
provides accurate readings regardless of the position of the load on the platform.

Calibration

A simple formula is usually used to convert the measured mv/V output from the load cell
to the measured force:
Measured Force = A * Measured mV/V + B (offset)

It’s important to decide what unit your measured force is - grams, kilograms, pounds, etc.
This load cell has a rated output of 1.0±0.15mv/v which corresponds to the sensor’s
capacity of 5kg.
To find A we use
Capacity = A * Rated Output
A = Capacity / Rated Output
A = 5 / 1.0
A=5
Since the Offset is quite variable between individual load cells, it’s necessary to calculate
the offset for each sensor.
Measure the output of the load cell with no force on it and note the mv/V output measured

18
by the PhidgetBridge.
Offset = 0 - 5 * Measured Output

19
Capacity

The maximum load the load cell is designed to measure within its specifications.

Creep
The change in sensor output occurring over 30 minutes, while under load at or near
capacity and with all environmental conditions and other variables remaining constant.

FULL SCALE or FS
Used to qualify error - FULL SCALE is the change in output when the sensor is fully
loaded. If a particular error (for example, Non-Linearity) is expressed as 0.1% F.S., and the
output is 1.0mV/V, the maximum non-linearity that will be seen over the operating range of the
sensor will be 0.001 mV/V. An important distinction is that this error doesn’t have to only occur
at the maximum load. If you are operating the sensor at a maximum of 10% of capacity, for this
example, the non-linearity would still be 0.001mV/V, or 1% of the operating range that you are
actually using.

Hysteresis

If a force equal to 50% of capacity is applied to a load cell which has been at no load, a
given output will be measured. The same load cell is at full capacity, and some of the force is
removed, resulting in the load cell operating at 50% capacity. The difference in output between
the two test scenarios is called hysteresis.

Excitation Voltage

Specifies the voltage that can be applied to the power/ground terminals on the load cell.
In practice, if you are using the load cell with the PhidgetBridge, you don’t have to worry about
this spec.

Input Impedance

Determines the power that will be consumed by the load cell. The lower this
number is, the more current will be required, and the more heating will occur when the load
cell is powered. In very noisy environments, a lower input impedance will reduce the effect
of Electromagnetic interference on long wires between the load cell and PhidgetBridge.

Insulation Resistance

The electrical resistance measured between the metal structure of the load cell, and the
wiring. The practical result of this is the metal structure of the load cells should not be
energized with a voltage, particularly higher voltages, as it can arc into the PhidgetBridge.
Commonly the load cell and the metal framework it is part of will be grounded to earth or to your
system ground.

20
Maximum Overload

The maximum load which can be applied without producing a structural failure.

Non-Linearity

Ideally, the output of the sensor will be perfectly linear, and a simple 2-point calibration
will exactly describe the behaviour of the sensor at other loads. In practice, the sensor is not
perfect, and Non-linearity describes the maximum deviation from the linear curve.
Theoretically, if a more complex calibration is used, some of the non-linearity can be calibrated
out, but this will require a very high accuracy calibration with multiple points.

Non-Repeatability

The maximum difference the sensor will report when exactly the same weight is applied,
at the same temperature, over multiple test runs.

Operating Temperature

The extremes of ambient temperature within which the load cell will operate without
permanent adverse change to any of its performance characteristics.

Output Impedance

Roughly corresponds to the input impedance. If the Output Impedance is very high,
measuring the bridge will distort the results. The PhidgetBridge carefully buffers the
signals coming from the load cell, so in practice this is not a concern.

Rated Output

Is the difference in the output of the sensor between when it is fully loaded to its
rated capacity, and when it’s unloaded. Effectively, it’s how sensitive the sensor is, and
corresponds to the gain calculated when calibrating the sensor. More expensive sensors have
an exact rated output based on an individual calibration done at the factory.

Safe Overload
The maximum axial load which can be applied without producing a permanent shift in
performance characteristics beyond those specified.

Compensated Temperature
The range of temperature over which the load cell is compensated to maintain output and
zero balance within specified limits.

Temperature Effect on Span

21
Span is also called rated output. This value is the change in output due to a change in
ambient temperature. It is measured over 10 degree C temperature interval.

Temperature Effect on Zero

The change in zero balance due to a change in ambient temperature. This value
is measured over 10 degree C temperature interval.

Zero Balance

Zero Balance defines the maximum difference between the +/- output wires when no load
is applied. Realistically, each sensor will be individually calibrated, at least for the output when
no load is applied. Zero Balance is more of a concern if the load cell is being interfaced to an
amplification circuit - the PhidgetBridge can easily handle enormous differences between +/-. If
the difference is very large, the PhidgetBridge will not be able to use the higher Gain settings.

HX711

DESCRIPTION

Based on Avia Semiconductor’s patented technology, HX711 is a precision


24-bit analog- to-digital converter (ADC) designed for weigh scales and industrial control
applications to interface directly with a bridge sensor.

The input multiplexer selects either Channel A or B differential input to the low-noise
programmable gain amplifier (PGA). Channel A can be programmed with a gain of 128
or 64, corresponding to a full-scale differential input voltage of ±20mV or ±40mV

22
respectively, when a 5V supply is connected to AVDD analog power supply pin. Channel B has
a fixed gain of 32. On-chip power supply regulator eliminates the need for an external supply
regulator to provide analog power for the ADC and the sensor. Clock input is flexible. It can be
from an external clock source, a crystal, or the on-chip oscillator that does not require any
external component. On-chip power-on-reset circuitry simplifies digital interface
initialization.

There is no programming needed for the internal registers. All controls to the HX711
are through the pins.

FEATURES
• Two selectable differential input channels
• On-chip active low noise PGA with selectable gain of 32, 64 and 128
• On-chip power supply regulator for load-cell and ADC analog power supply
• On-chip oscillator requiring no external component with optional external crystal
• On-chip power-on-reset
• Simple digital control and serial interface: pin-driven controls, no programming needed
• Selectable 10SPS or 80SPS output data rate
• Simultaneous 50 and 60Hz supply rejection
• Current consumption including on-chip analog power supply regulator:

normal operation < 1.5mA, power down < 1uA


• Operation supply voltage range: 2.6 ~ 5.5V
• Operation temperature range: -40 ~ +85°C
• 16 pin SOP-16 package

APPLICATIONS
• Weigh Scales
• Industrial Process Control

Pin Description

23
Analog Inputs

Channel A differential input is designed to interface directly with a bridge


sensor’s differential output. It can be programmed with a gain of 128 or 64. The large
gains are needed to accommodate the small output signal from the sensor. When 5V
supply is used at the AVDD pin, these gains correspond to a full-scale differential input
voltage of ±20mV or ±40mV respectively.

Channel B differential input has a fixed gain of 32. The full-scale input voltage range is
±80mV, when 5V supply is used at the AVDD pin.

Power Supply Options

Digital power supply (DVDD) should be the same power supply as the MCU power
supply.

When using internal analog supply regulator, the dropout voltage of the regulator
depends on the external transistor used. The output voltage is equal to
V AVDD=V BG*(R1+R2)/ R1 .

`This voltage should be designed with a minimum of 100mV below VSUP voltage.
If the on-chip analog supply regulator is not used, the VSUP pin should be connected to
either AVDD or DVDD, depending on which voltage is higher. Pin VFB should be connected
to Ground and pin BASE becomes NC. The external 0.1uF bypass capacitor shown on
Fig. 1 at the VBG output pin is then not needed.

Clock Source Options

By connecting pin XI to Ground, the on-chip oscillator is activated. The nominal

24
output data rate when using the internal oscillator is 10 (RATE=0) or 80SPS
(RATE=1).

If accurate output data rate is needed, crystal or external reference clock can be used.
A crystal can be directly connected across XI and XO pins.

An external clock can be connected to XI pin, through a 20pF ac coupled


capacitor. This external clock is not required to be a square wave. It can come directly from
the crystal output pin of the MCU chip, with amplitude as low as 150 mV.

When using a crystal or an external clock, the internal oscillator is automatically


powered down.

Output Data Rate and Format

When using the on-chip oscillator, output data rate is typically 10 (RATE=0)
or 80SPS (RATE=1).

When using external clock or crystal, output data rate is directly proportional to
the clock or crystal frequency. Using 11.0592MHz clock or crystal results in an
accurate 10 (RTE=0) or 80SPS (RATE=1) output data rate.

The output 24 bits of data is in 2’s complement format. When input differential signal
goes out of the 24 bit range, the output data will be saturated at 800000h (MIN) or
7FFFFFh (MAX), until the input signal comes back to the input range.

Serial Interface
Pin PD_SCK and DOUT are used for data retrieval, input selection, gain selection
and power down controls.

When output data is not ready for retrieval, digital output pin DOUT is high. Serial
clock input PD_SCK should be low. When DOUT goes to low, it indicates data is ready for
retrieval. By applying 25~27 positive clock pulses at the PD_SCK pin, data is shifted
out from the DOUT output pin. Each PD_SCK pulse shifts out one bit, starting with the MSB
bit first, until all 24 bits are shifted out. The 25th pulse at PD_SCK input will pull DOUT pin
back to high (Fig.2).

Input and gain selection is controlled by the number of the input PD_SCK pulses
PD_SCK clock pulses should not be less than 25 or more than 27 within one
conversion period, to avoid causing serial communication error.

25
26
27
Buzzer
A buzzer or beeper is an audio signaling device, which may be mechanical, electromechanical,
or piezoelectric. Typical uses of buzzers and beepers include alarm devices, timers, and confirmation
of user input such as a mouse click or keystroke.

Applications
Novelty uses
Judging panels
Educational purposes
Annunciator panels
Electronic metronomes
Game show lock-out device
Microwave ovens and other household appliances
Sporting events such as basketball games
Electrical alarms
Joy buzzer (mechanical buzzer used for pranks)

28
Project அரமபனப

Loadcell மமடலன arduino வதறனக input ஆக சகமடகனகபன படனடளனளத. இதனமலன arduino


ஆலன எநனத அளவதறனக எரட உளனளத எனனபரத கணனட பதடகனக இயலமன.

எரடரய சதமடரனநனத கணனகமணததனதகன சகமணனயட இரகனக இநனத பதனன உபயயமகதகனகபனபடமன

இநனத மமடலதனன மலமன எரட வததனததயமசமன சதரதநனதமலன arduino வதறனக சதரதயபடதனதலமமன.

Buzzer arduino வதனன அவடனபடனடலன இரணகனகபன படனட உளனளத.

அவறனறதறனக high அவடனபடன சகமடபனபதனன மலமன வதளகனககரள ஒலதகன ரவகனகலமமன.

program ஆனத கணதனதயதலன எழதபன படனட தவறகளன ததரதனதபன படமன.

பதறக arduino வதலன download சசயனயபன படனடமலன பதனன தமனமக இயஙனகமன.

29
Project பபாகங்களளை ததேர்வு சசெய்தே கபாரணங்கள

1. Arduino :
1. எளிளமையபானத.
2. முழுதம் Opensource அளமைப்ளப ஆதேரிப்பதேபால் மைலிவபானத.
3. இத குறித்தே தேகவல்கள எளிதில் இளணயத்தில் கிளடைக்கும்.
4. இன்டைர்தபசிங் சசெய்வத எளித.
5. இதேன் programming language சி சமைபாழி தபபான்தறே இருக்கும்.

2. Load cell and sensor circuitry:


1. தலனலதயமமக அளகனககனகடயத.
2. வததனததயமசஙனகளன பளதசனசசன சதரதயமன.
3. 5V மதனனசமரயம யபமதமன.
4. மைலிவபானத.

3. Buzzer :
1. எளிளமையபானத.
2. மைலிவபானத.
3. எந்தே ஒரு அளமைப்புடைனும் இளணந்த இயங்க வல்லத.

30
ஹமரனட யவரன அரமபனப

Lodcell module லன நமனனக பதனனகளன இரகனகமன. இரணனட மதனனனதரணபனபகளகனகமன, ஒனனற


அனலமகன இரணபனபமக arduino இனனபடனடலமன மததமன உளனள ஒனனற pulse data இரணபனபமக arduino வதனன
அவடனபடனடமககன சகமடகனகபன படனட இரகனகமன.

Buzzer கனக மதனனசமரமன சகமடகனகபன படனட, அரவ arduino உடனன இரணகனகபன படனட இரகனகமன.

LED arduino உடனன இரணகனகபன படனட இரகனகமன.

arduino வதறனகமன, மறனற கரவதகளகனகமன 5V மதனனனதரணபனயப வழஙனகபன படனட இரகனகமன.

31
சமபனட யன வரன அரமபனப
இததலன ஒயர program மடனடமன யவரல சசயனயமன.

Arduino வதனன பயரமகதரமமதலன இர பகதத இரகனகமன.


1. Setup()
2. Loop()

1. Setup():
இத ஒர மரற மடனடமன இயஙனகமன பகதத ஆகமன. இஙனகதமனன பதனனகரள configure சசயனவத
நடகனகமன.
Loadcell sensor னன pulse பதனன அவடனபடன பதனனனமக நதறவபனபடமன.
Loadcell sensor னன எரடரய படகனகமன பதனன இனனபடன பதனனனமக நதறவபனபடமன.
Buzzer இரணகனகபன படனட இரகனகமனபதனன அவடனபடன பதனனனமக நதறவபனபடமன.

2. Loop():
இத ததரமனபதன ததரமனப யவரல சசயனயமன பகதத ஆகமன.
எரட அளவதடபனபடமன.
அத கரறவமக இரபனபதனன வதளகனகதன சதமகபனபதறனகனகமன பதனன உயரனதனதபன படமன .
அலமரமன பதனனனமன உயரனதனதபன படமன.
எரட அததகமமக இரபனபதனன
அரமததயமக வதளகனககளன அரணகனகபன பட மததபனபகளன சகமடகனகபன படமன.

32
இனனன மன யசரனக க
ன பன படகனக டய வசததகளன
இனனனமன யசரனகனகபன படகனகடய வசததகளன

1. SMS, mail, Twitter யபமனனறவறனறதலன தகவலன சசமலனலலமமன.


2. Whats up லன தகவலன அனபனபலமமன.
3. அரமபனரப நதறதனதலமமன.
4. யநரதனததறனக மரநனதகளன சசலதனதவரதகன கடனடபனபடதனதலமமன.

33
யமலமன வதபரஙனகளகனக
1. Arduino in action - MARTIN EVANS, JOSHUA NOBLE JORDAN HOCHENBAUM

2. Getting started with Arduino - Massimo Banzi co founder of Arduino.

3. Arduino website.

34

You might also like