user19901: I want it to display the current temperature in the middle of the screen, fade out for two seconds, display new temperature, rinse repeat.  This is current (see images)]2
/*
 * File:    readTemperature.ino
 * Author:  Andy Gelme (@geekscape) & Angus Gratton (angus at freetronics. com)
 * License: GPLv3
 *
 * For more information see www.freetronics.com/irtemp
 *THIS NOW WORKS!!! Except for reading to LCD.
 */

#include "IRTemp.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);

static const byte PIN_DATA    = 2; // Choose any pins you like for these
static const byte PIN_CLOCK   = 3;
static const byte PIN_ACQUIRE = 4;

static const TempUnit SCALE=CELSIUS;  // Options are CELSIUS, FAHRENHEIT

IRTemp irTemp(PIN_ACQUIRE, PIN_CLOCK, PIN_DATA);

void setup(void) {
 // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // initialize the serial communications:
  Serial.begin(9600);
}


void loop(void) {
  float irTemperature = irTemp.getIRTemperature(SCALE);
  printTemperature("",irTemperature);
 delay(1000);
   // when characters arrive over the serial port...
  if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      lcd.write(Serial.read());

  // delay at the end of the full loop:
  delay(1000);

}
  }
}

void printTemperature(
  char  *type,
  float  temperature) {

  lcd.print(type);
  lcd.print(" temp: ");

  if (isnan(temperature)) {
    lcd.println("Failed");
  }
  else {
    lcd.print(temperature);

  }
}


user3917: Before you write the first character of your temperature text, set the cursor to where you want that first character to display.
For example, use lcd.setCursor(col, row); to set the cursor at a specified column in a specified row.  Row and column numbering starts from zero.
You can also use lcd.home(); to set the cursor at (0,0).
The output cursor advances a column each time you write a character.

19901: <p>I want it to display the current temperature in the middle of the screen, fade out for two seconds, display new temperature, rinse repeat.  This is current (see images)<a href="https://i.stack.imgur.com/aH2Gn.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/aH2Gn.jpg" alt="all over the place![![][1]"></a>]<a href="https://i.stack.imgur.com/xNoG4.jpg" rel="nofollow noreferrer">2</a></p>

<pre><code>/*
 * File:    readTemperature.ino
 * Author:  Andy Gelme (@geekscape) &amp; Angus Gratton (angus at freetronics. com)
 * License: GPLv3
 *
 * For more information see www.freetronics.com/irtemp
 *THIS NOW WORKS!!! Except for reading to LCD.
 */

#include "IRTemp.h"
#include &lt;LiquidCrystal.h&gt;
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);

static const byte PIN_DATA    = 2; // Choose any pins you like for these
static const byte PIN_CLOCK   = 3;
static const byte PIN_ACQUIRE = 4;

static const TempUnit SCALE=CELSIUS;  // Options are CELSIUS, FAHRENHEIT

IRTemp irTemp(PIN_ACQUIRE, PIN_CLOCK, PIN_DATA);

void setup(void) {
 // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // initialize the serial communications:
  Serial.begin(9600);
}


void loop(void) {
  float irTemperature = irTemp.getIRTemperature(SCALE);
  printTemperature("",irTemperature);
 delay(1000);
   // when characters arrive over the serial port...
  if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() &gt; 0) {
      // display each character to the LCD
      lcd.write(Serial.read());

  // delay at the end of the full loop:
  delay(1000);

}
  }
}

void printTemperature(
  char  *type,
  float  temperature) {

  lcd.print(type);
  lcd.print(" temp: ");

  if (isnan(temperature)) {
    lcd.println("Failed");
  }
  else {
    lcd.print(temperature);

  }
}
</code></pre>
 3917: <p>Before you write the first character of your temperature text, set the cursor to where you want that first character to display.</p>

<p>For example, use <code>lcd.setCursor(col, row);</code> to set the cursor at a specified column in a specified row.  Row and column numbering starts from zero.</p>

<p>You can also use <code>lcd.home();</code> to set the cursor at (0,0).</p>

<p>The output cursor advances a column each time you write a character.</p>
