A Guide For Interfacing Analog Sensors With Arduino

By
Advertisement
With Arduino, almost everything seems to be too friendly when it comes to interfacing various sensors, shields, add-ons or any other utility devices. Just because the Arduino coding environment is so user-friendly, anyone can do it. So in this post, I will just show you how to hook up your sensors to Arduino and get them running. Let's start with the very basics....

sensor interfacing with arduino
Sensors
What is Sensor
Sensors are those electronic components which convert physical data into electronic data. This data is in analog format and is fed to the microcontroller on the Arduino board. The microcontroller has inbuilt ADCs (Analog-2-Digital Converter) which processes this data and converts it into digital format.

And once you have received the (electronically converted) physical data, you can make your Arduino perform as you want.


On your Arduino board, there are analog pins named as A0, A1, A2, A3, A4, A5. The number of these pins may vary depending on your Arduino board. For UNO, there are only 6 analog pins while for MEGA there are 16. And remember this thing, any sensor (or other components) that gives analog data and you wish to process it, you'll have to connect it to your analog pins only. For now, I would say SENSORS would always be connected to analog pins.

Connection of Analog Sensor with Arduino
All sensors have their own method to connect with Arduino. Some of them need pull-up resistors, some need a certain power supply to use them.  But any sensor has generally 3 pins to connect to Arduino or other development board. These pins are. 
1. +Vcc
2. Signal
3. Gnd
Hook up the +Vcc to 5v (or 3.3v if sensor demands it) on your Arduino board.
Connect the Gnd pin to Ground pin on your Arduino.
Connect the Signal pin to any of your Arduino's analog pins. In our case, say A1.

Code for Interfacing Analog Sensor with Arduino
Below code is general code for interfacing analog sensors with Arduino. Write this code in your Arduino IDE to start playing with analog sensors.
void setup()
 {
  Serial.begin(9600);                            // initialize serial communication at 9600 bits per second:
  }

void loop() 
{
  int sensorValue = analogRead(A1);            // read the input on analog pin 1:
  Serial.println(sensorValue);                       // print out the value you read:
  delay(1);                                                      //this  delay in between reads for stability 
}

After burning this code to your Arduino, open the serial monitor and see the analog-2-digital converted data on your serial terminal. Basically, it is 10-bit data since the inbuilt ADC of your Arduino is a 10bit ADC.You will get the reading on your serial monitor.

That's all for now. Hope you got everything out of that blog.I'll try to bring something new next time. Till then........ keep learning and keep prototyping.

If You have got any problem or feedback then comment below. I will be right back to you soon.

Be sure to buy the stuff mentioned in this blog by clicking on the link below-

The vendor's offering interesting and working hardware at quite handy rates. Go give it a try! :)

3 comments:

  1. how can i send 10 bit adc value by dividing into two bytes for multiple sensors? I am able to send 1 byte at a time. can I create a string for all value and then read it? i have tried a lot but not successful

    ReplyDelete
  2. Hi there, can you help me to set with a sketch my Arduino uno receiving 2 analog codes from 2 different temperature sensors: hot sensor and cold sensor. The temperature difference between these sensors runs a fan that Not runs only 100% but runs incrementally at temperature increase. Hope you can understand my question. Thank you and best regards

    ReplyDelete
  3. Sorry, I mean 2 digital sensors.. Not analog. Thank you

    ReplyDelete