/*
* LM35DZ Temperature sensor using MCP3002
*
* MPC3002
LM35ZD NodeMCU
*
VCC
---- 3.3V
*
CLK
---- D5(SCK)
*
Dout
---- D6(MISO)
*
Din
---- D7(MOSI)
*
CS
---- D8(CS)
* CH0 --- OUT
*
VCC ---- 3.3V
*
GND ---- GND
*/
#include <SPI.h>
#define RefV 3.28
#define CS 15
void setup() {
Serial.begin(9600);
pinMode(CS,OUTPUT);
digitalWrite(CS, HIGH);
SPI.begin();
}
void loop() {
int RawValue;
float Voltage;
float temp_c; // 摂氏値( ℃ )
uint8_t b1, b2;
digitalWrite(CS, LOW);
b1 = SPI.transfer(0x60); // Single-Ended,Channel 0
//b1 = SPI.transfer(0x70); // Single-Ended,Cnannel
1
b2 = SPI.transfer(0x00);
digitalWrite(CS, HIGH);
RawValue = ((b1 << 8) | b2) & 0x03ff;
Voltage = (RawValue * RefV) / 1023.0;
temp_c = Voltage * 100;
//Serial.print(" RawValue[MCP3002] = ");
//Serial.print(RawValue);
Serial.print(" Voltage[MCP3002] = ");
Serial.print(Voltage);
Serial.print(" temp_c[MCP3002] = ");
Serial.println(temp_c);
delay(2000);
}
|