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:
- Raspberry-Pi: +https://cdn.sparkfun.com//assets/parts/7/4/9/7/11546-04.jpg+
- Arduiono UNO: +https://cdn.sparkfun.com/assets/c/c/3/7/e/5220d21c757b7fdc2a8b456d.png+
- Temperature Sensor:
{+}http://www.sunfounder.com/index.php?c=showcs&id=114&model=Thermistor%20Sensor%20Module&pname=Arduino&name=Module&pid=21+
- End-to-End Setup
- 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.
- Download Arduio IDE based on your laptop (Windows / Mac) : https://www.arduino.cc/en/Main
- Temperature Sensor Sketch
- Select Proper Board
c) Attach Arduino UNO to the Laptop where IDE is installed:
d) Select Proper Board
- 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 }