Pi-Arduino and sensor

Hardware Setup for Raspberry-Pi, Arduino UNO and Temp Sensor

In this tutorial we get temperature sensor value attached to Arduino UNO Board. Arduino UNO itself is attached to Raspberry-Pi over a Micro USB Cable. You can purchase invidual components for this tutorial from following sites:

  1. Raspberry-Pi: +https://cdn.sparkfun.com//assets/parts/7/4/9/7/11546-04.jpg+
  2. Arduiono UNO: +https://cdn.sparkfun.com/assets/c/c/3/7/e/5220d21c757b7fdc2a8b456d.png+
  3. Temperature Sensor:

 {+}http://www.sunfounder.com/index.php?c=showcs&id=114&model=Thermistor%20Sensor%20Module&pname=Arduino&name=Module&pid=21+

  1. End-to-End Setup


  1. Installing Sketch on Arduino UNO

Before doing the entire setup, it is important to configure and download Arduino UNO sketch. Here are the steps to install the sketch.

  1. Download Arduio IDE based on your laptop (Windows / Mac) : https://www.arduino.cc/en/Main
  2. Temperature Sensor Sketch

  1. Select Proper Board


c) Attach Arduino UNO to the Laptop where IDE is installed:

d) Select Proper Board

  1. Upload the Sktech to Arduino UNO

TempSensor Sketch
//TMP36 Pin Variables
int sensorPin = 0; //the analog pin the TMP36's Vout (sense) pin is connected to
                        //the resolution is 10 mV / degree centigrade with a
                        //500 mV offset to allow for negative temperatures
 
/*
 * setup() - this function runs once when you turn your Arduino on
 * We initialize the serial connection with the computer
 */
void setup()
{
  Serial.begin(9600);  //Start the serial connection with the computer
                       //to view the result open the serial monitor 
}
 
void loop()                     // run over and over again
{
 //getting the voltage reading from the temperature sensor
 int reading = analogRead(sensorPin);  
 
 // converting that reading to voltage, for 3.3v arduino use 3.3
 float voltage = reading * 5.0;
 voltage /= 1024.0; 
 
 // print out the voltage
 Serial.print(voltage); Serial.println(" volts");
 
 // now print out the temperature
 float temperatureC = (voltage - 0.5) * 10.0 ;  //converting from 10 mv per degree wit 500 mV offset
                                               //to degrees ((voltage - 500mV) times 100)
 Serial.print(temperatureC); Serial.println(" degrees C");
 
 // now convert to Fahrenheit
 float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
 Serial.print(temperatureF); Serial.println(" degrees F");
 
 delay(1000);                                     //waiting a second
}