/MAX31855_Library

Arduino library for interfacing to MAX31855

Primary LanguageC++

MAX31855 Arduino Library

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Creative Commons License

Developed By:

  • Alec N., Control Connection
  • Ryan McLaughlin ryan@ryanjmclaughlin.com
  • Yves Touchette (Code fixes, thanks!)
  • John Howe and Fred Cooke (formatting and clarity fixes)

Versions

###v1.0.0

  • fixed negative output values
  • fixed variable type issues

###v1.0.0.beta2

  • Updated example with new Arduino 1.0 file extension
  • Added the blinking LED to the Examples
  • Added a temperature unit to the readMAX31855() function
  • Debugged both examples using MAX31855 Arduino shields on a Uno R3

###v1.0.0.beta1

  • Some math errors fixed that rounded numbers where they should not have been. This caused issues when temperatures were displaying wrong.
  • Fixed misspelling of readFahrenheit().
  • Updated calls and variable names to make them easier to understand and flow Arduino format.
  • Added unit setting.
  • Fixed compile issues for Arduino v1.0.
  • Tested code on Uno R3 with Single Shield.

###v0.5.0

  • Initial release. For use with pre-1.0 Arduino software only.

Summary

The primary use of the library is to easily interface with a MAX31855 chip via the SPI interface. Use the following code to initialize the library.

MAX31855 temp(SCK,CS,SO);

Variables:

  • CS is chip select pin of chip
  • SO is data out of the chip
  • SCK is the clock pin of the chip

Hardware

There are many places you can find MAX31855 interface boards, or you can integrate it into your own design. If you are looking for a breakout, you can check out ryanjmclaughlin.com.

TODO

  • read_max31855.pde: Clean up code and comment!!
  • read_max31855.pde: make use of all library functions and make more robust.
  • finish documenting functions in readme

Functions

readMAX31855

bool readMAX31855(double *tempTC, double *tempCJC, bool *faultOpen, bool *faultShortGND, bool *faultShortVCC);

x = temp.readMAX31855(&tempTC, &tempCJC, &faultOpen, &faultShortGND, &faultShortVCC);

readCelsius

double readCelsius(void);

readFarenheit

double readFahrenheit(void);

readCJC

double readCJC(void);

readFaultCode

uint8_t readFaultCode(void);