Hello,
Summary
Example 1 from the MCP9600 library works on my Arduino Due, but not with the MKR WIFI 1010.
And yes, I made sure to change the board selection for both hahaha.
Please let me know any troubleshooting advice you have to offer.
My Problem
I am using a SparkFun Qwiic Thermocouple Amplifier - MCP9600 (PCC Connector), and I am having trouble getting it to work with my Arduino MKR WIFI 1010. However, I was able to get it functioning properly with my Arduino Due. When I use the MKR board, nothing prints to the Serial monitor.
My equipment:
-
SparkFun Qwiic Thermocouple Amplifier - MCP9600 (PCC Connector)
-
Thermocouple Type-K - Stainless Steel
-
Arduino Due
-
Arduino MKR WIFI 1010
-
Female to male jumper cables
-
Macbook Pro, 13", early 2015 - macOS Mojave version 10.14.6 (The most up to date version before 32 bit programs were no longer supported)
My Testing
Downloaded library:
I downloaded the sparkfun library for interfacing with the MCP9600 from the tutorial page - SparkFun_MCP9600_Arduino_Library. https://learn.sparkfun.com/tutorials/sp … gnEALw_wcB
Ran Example 1: Basic Readings
The MCP9600 red LED comes on, but the MKR gave no response on the serial line.
Tested MKR for Hardware and Connection Issues
I tested another script which would print values read from a potentiometer, showing that the device is working with and writing to the serial monitor. I have attached an image from the serial monitor for this output. I believe this rules out hardware and connection issues on the MKR.
The script is here below:
int analogPin = A1; // potentiometer wiper (middle terminal) connected to analog pin 3
// outside leads to ground and +5V
int val = 0; // variable to store the value read
void setup() {
Serial.begin(115200); // setup serial
}
void loop() {
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
delay(100);
}
Ran Example 1: Basic Readings on Arduino Due
I then tested the thermocouple arrangement with my Arduino Due. The script worked as expected. Below you will find the example code. I have attached a picture of my serial monitor readout.
/*
Temperature Measurements with the MCP9600 Thermocouple Amplifier
By: Fischer Moseley
SparkFun Electronics
Date: July 8, 2019
License: This code is public domain but you buy me a beer if you use this and we meet someday (Beerware License).
This example outputs the ambient and thermocouple temperatures from the MCP9600 sensor.
Hardware Connections:
Attach the Qwiic Shield to your Arduino/Photon/ESP32 or other
Plug the sensor onto the shield
Serial.print it out at 115200 baud to serial monitor.
*/
#include <SparkFun_MCP9600.h>
MCP9600 tempSensor;
void setup(){
Serial.begin(115200);
Wire.begin();
Wire.setClock(100000);
tempSensor.begin(); // Uses the default address (0x60) for SparkFun Thermocouple Amplifier
//tempSensor.begin(0x66); // Default address (0x66) for SparkX Thermocouple Amplifier
//check if the sensor is connected
if(tempSensor.isConnected()){
Serial.println("Device will acknowledge!");
}
else {
Serial.println("Device did not acknowledge! Freezing.");
while(1); //hang forever
}
//check if the Device ID is correct
if(tempSensor.checkDeviceID()){
Serial.println("Device ID is correct!");
}
else {
Serial.println("Device ID is not correct! Freezing.");
while(1);
}
}
void loop(){ //print the thermocouple, ambient and delta temperatures every 200ms if available
if(tempSensor.available()){
Serial.print("Thermocouple: ");
Serial.print(tempSensor.getThermocoupleTemp());
Serial.print(" °C Ambient: ");
Serial.print(tempSensor.getAmbientTemp());
Serial.print(" °C Temperature Delta: ");
Serial.print(tempSensor.getTempDelta());
Serial.print(" °C");
Serial.println();
delay(200); //don't hammer too hard on the I2C bus
}
}